最近MacBook Airを初期化してOS X 10.8.5をインストールしたので、まっさらな状態から女医ハックホストマシンにするためのセットアップ手順をまとめてみようと思いました。このドキュメント通りにやればひとまずカラオケを再生できるところまではセットアップできるかな?もちろん事前に曲データとしてHackDataを作っておく必要がありますが、すでにHackDataがあるならホストマシンをセットアップしてHackData予約/再生機にすることができます。
女医ハックとは
軽く女医ハックの説明をすると、言葉の由来はJOYSOUND機をハックして、自分の作った好きな曲を歌ってしまおうといういわゆるパソカラの一種です。その中でJoyHackというシステムを使ってパソカラすることを女医ハックと言っています。由来はJOYSOUNDですが、パソカラなのでケーブルさえ繋げればDAMでもなんでもOKです。
基本機能のインストール
まず最初にアプリケーションをインストールしましょう。Googleで「女医ハック」と検索して表示されたDesire for wealthのページにアクセスします。ここでMac OS X版をダウンロードします。ダウンロードした joyhack.zip を解凍してください。解凍先にMacフォルダができるので、その中の HackENT と RecENT をアプリケーションフォルダにコピーします。
- HackENT は HackData を再生するためのプレーヤーです。
- RecENT は HackData を作るためのアプリです。
さらに joyhack-cgi をインストールします。このcgiはMacに予約システムを追加します。joyhack-cgi をインストールするにはアイコンを右クリックしてメニューから開くを選択してください。「開いてもよろしいですか?」と聞かれるので「開く」をクリックします。あとはウィザードに沿ってインストールします。
予約システムは下記の場所に保存されます。
Macintosh HD > ライブラリ > WebServer > Documents > JoyHack
この場所に予約で必要なファイルが作られます。ファイルの細かい役割は後ほど説明します。
ちなみに予約システムはMac OS XのWeb共有機能を使用します。しかし、OS X 10.8以降ではこのWeb共有がシステム環境設定の共有から削除されてしまいました。そのためターミナルからWeb共有を有効にする必要があります。
ターミナルの場所:Finder > 移動メニュー > ユーティリティ > ターミナル
ターミナルで sudo apachectl start と入力します。そして、管理者のパスワードを入力します。
さてSafariで http://localhost にアクセスしてみましょう。JoyHack配信曲一蘭のログインページが見えれば成功です。まだ曲が一曲もないのでログインしても何もありません。
HackDataの指定および曲リストの作成
次にHackENTを起動してHackDataの場所を指定しましょう。HackENTの最初の起動時は右クリックして「開く」を選択してください。
HackENTの環境設定を開きます。一般設定タブにあるデータフォルダの参照からHackDataのあるフォルダを指定します。指定したらOKして閉じます。
ファイルメニューにある配信曲リスト作成を選びます。
リスト作成の状況はコンソールで確認できます。
コンソールの場所:Finder > 移動メニュー > ユーティリティ > コンソール > すべてのメッセージ
コンソール上で makeSongList: make song list end. と表示されていればリスト作成は終了しています。
再びSafariでlocalhostにアクセスしてログインしてみてください。データフォルダにあるHackDataがリストアップされます。曲名をクリックすると予約ができます。予約するとHackENTで曲の再生が始まります。これが一番基本的な女医ハックインストールの流れです。
曲リスト作成コマンド
配信曲リスト作成はコマンドラインでも可能です。sshなどを利用して離れたところからもリストを作成でき便利です。コマンドは makeSongListの絶対パス[半角スペース]HackDataフォルダの絶対パス で実行することができます。HackDataの絶対パスはターミナルウィンドウにフォルダをドラッグすれば表示されます。
コマンド例: /Applications/HackENT.app/Contents/Resources/makeSongList /Volumes/Media/JoyHack/HackData
各種コーデックのインストール
さて、HackENTはQuickTimeで再生できるメディアなら再生可能ですが、HackDataのなかでは色々なコーデックが使われていることがありますので、女医ハックホストマシンには各種コーデックをインストールしておくことをおすすめします。
- Perian - Perian - The swiss-army knife of QuickTime® components
- Flip4Mac - Official Windows Media Player on the Mac - Overview - Telestream Flip4Mac
- QuickTime 7 - QuickTime Player 7(Mac OS X v10.6.3 またはそれ以降)
- QuickTime MPEG2 再生コンポーネント - QuickTime MPEG-2 再生コンポーネント (Mac OS X) - Apple Store (Japan)
QuickTime MPEG2 コンポーネントはそのままではインストールできなくなりました。下記の手順でパッケージから入れるとQuickTimeでmpeg2のファイルが再生できるようになります。
- QuickTimeMPEG2.dmg を開きます。
- QuickTimeMPEG2.pkg を右クリックし、「パッケージの内容を表示」を選択します。
- Contents > Archive.pax.gz をデスクトップにコピーして解凍します。
- System > Library > QuickTime > QuickTimeMPEG2.component をコピーします。
- Macintosh HD > システム > ライブラリ > QuickTime フォルダに先ほどのファイルをペーストします。管理者のパスワードを入力します。
システム環境設定
女医ハック中に意図せず音が鳴らないように配慮するためにシステム環境設定を変更します。
システム環境設定のサウンド > サウンドエフェクトの中にある「ユーザインターフェイスのサウンドエフェクトを再生」と「音量を変更するときにフィードバックを再生」の設定はチェックを外してください。
ちなみに、シフト+音量キーを使用することでフィードバックは再生されますので、実際にカラオケをやるときに音が通っているか確認するときはこれで確認しましょう。
また、スクリーンセーバとスリープ機能は念の為に切っておくと良いでしょう。
Dockには、HackENT・RecENT・Jedit X・ターミナル・コンソール・システム環境設定・HackDataフォルダ・WebServerフォルダあたりを登録しておくとトラブル時に対処しやすいです。
女医ハック予約システムの仕組み
予約システムに関連するファイルはWebServerフォルダにあります。配信曲リストを作成すると songlist.txt と songdata.txt が生成されてこれらのデータをもとにウェブブラウザから配信曲一覧を見ることができます。これらのファイルがないと一覧は表示されません。
配信曲一覧にログインすると userlist.txt にユーザー名が記録されます。歌う順番はこのファイルが元になります。userlist.txt の一行目の人が歌い終わると最終行に移動します。この仕組によってみんなが順番に歌うことができるのです。公平ですね。ちなみに途中から参加した人は最終行に追加されます。userlist.txt の順番はこのファイルを消さない限り有効です。したがって最初にカラオケした時の順番は名前を変えない限り基本的に継続します。
ユーザ名.reqlist はその人が予約した曲のリストです。その人はこの順番で歌うことになります。ウェブブラウザの予約ボタンでアクセス出来る予約中の曲管理ページはこの reqlist ファイルがもとになります。
みんなで女医ハックしたあとは次回カラオケ時に前の予約が残らないようにリセットしてお掃除しましょう。次のコマンドですべての曲予約情報を削除することができます。
コマンド例: rm /Library/WebServer/Documents/JoyHack/*.reqlist
みんなで無線LAN相乗り
みんなで女医ハックをするときはホストマシンから無線LANを飛ばすといいでしょう。みんなでネットワークを共有するため容量無制限のUQ WiMAXが便利かもしれませんが、他のキャリアでも実行することはできます。ただし、1ヶ月7GB(3日で1GB)の容量制限には注意しましょう。
- モバイルルータをUSBで接続してホストマシンをインターネットに繋げます。
- システム環境設定の共有を開きます。
- インターネット共有を選び、共有する接続経路をUSB接続のモバイルルータにします。
- 相手のコンピュータが使用するポートはWi-Fiにチェックします。
- Wi-Fiオプションでネットワーク名(SSID)を決めます。
- 最後にインターネット共有の左にあるチェックボックスにチェックを入れます。
- 「インターネット共有を開始してもよろしいですか?」で「開始」をクリック
メニューバーのWi-Fiアイコンがこんな感じになればOKです。
iPhoneやiPad、その他のデバイスから先ほど設定したネットワーク名にアクセスします。そしてホストマシンのIPにアクセスすれば配信曲一覧を見ることができ、曲の予約が可能です。
ちなみにスマホデバイスであれば、下記にアクセスするとスマホ向けの予約ページにアクセスできます。
http://[ホストIP]/cgi-bin/hacki.cgi ← hackの後ろにiが付いています。
最後にセキュリティのため女医ハックが終わったらインターネット共有は切るようにしてくださいね。