SqueezeBoxとは?
SqueezeBoxとは、LOGITECH(ロジテック)社が開発した、日本未販売のLogitech SqueezeBoxのことです。ステレオシステムやスピーカーに接続して使用するトータルミュージックライブラリーで、入力はLAN、USBの2系統、出力はRCAアナログ・同軸デジタル・光デジタル・ステレオミニの4系統でした。4.3インチのタッチスクリーンで操作して、世界中のインターネットラジオや、Amazonやnapsterのオンラインミュージックストアーにアクセス可能です。専用リモコンも付属しており、ネットワークオーディオで良い音を楽しめるものです。
SqueezeBoxとはこのようなハードウェア製品でしたが、そのソフトウェアはオープンソースで利用できるものなので、それをCuBox-iで走らせましょう、というのが今回の企画です。オリジナルはタッチスクリーンのあるハードウェア製品でしたが、どこまでできるでしょうか。インターネットラジオの他にも、ローカル、あるいはネットワーク上のメディアファイルを再生することも可能です。デフォルトでの言語設定では日本語が当然ないので、タイトルやアルバム名、放送局名が日本語であれば、Squeezeboxを日本語化するということも課題になります。
ただし、メディアプレーヤーとして総合評価をするとしたら、XMBC(例えばGeeXboX)の方が機能的にも上を行きます。この記事では、こういうのもできるということで趣味に走ってみます。インターネットラジオに特化しているので、今度こそRadikoが聴けるようにできたら、という狙いもあります。
Squeezeのインストール
(追記)インストールが簡単・確実になりました。「SqueezeBoxがWebインストーラーになって簡単になりました」を参照ください。
Squeeze on Arch - developer versionのインストールを試みます。実はCuBox-i/HummingBoard向けにすでにインストーラーイメージが存在します。しかも、SD作成のシェルスクリプトまで準備されています。wgetでそのシェルスクリプトを取ってきて実行権を与えて用意したArchのSDで立ち上げ、本体をCuBox-i上からインストールさせます。
元ネタは
http://forums.slimdevices.com/showthread.php?101624-Announce-Squeeze-on-Arch-developer-version
となります。
Cubox-i / Hummingboard
$ wget https://raw.githubusercontent.com/SqueezeOnArch/soa-installers/master/create-sdcard-soa-cubox-i.sh
$ chmod +x create-sdcard-soa-cubox-i.sh
$ sudo ./create-sdcard-soa-cubox-i.sh /dev/sdX
記述では、最初のブート時に自動的にインストールがされて最終的に自動的にリブートすることになっています。インストールが済んだらWebインタフェース経由でアクセスします。
--------
しかし残念ながら、この通りではHDMIの画面は真っ暗、ブラウザからも、SSHを使っても届かず、でした。内容は日々更新されていそうなので、この通りのコマンドでうまくいく日があった、あるいはできる日がまた来るかもしれません。
このコラムでは色々なものを総合してトライを繰り返して、結局動かせた方法を紹介します。この方法でも、ある日からは動かないということがあるかもしれません。トライしている間でも、何度も同じやり方で違う結果となりました。
違う方法でインストールされている reate-sdcard-soa-cubox-i.sh を手動で実行してもやはりうまく動作しませんでした。
この記事を参考にして、どの段階で何かできるべきか、を理解してトライいただければと思います。
1) まず「素」のLinux Arch をインストール、起動します。
オフィシャル ArchLinux rootfs をLinux PCでダウンロードする
http://archlinuxarm.org/os/ArchLinuxARM-imx6-cubox-latest.tar.gz
SDカードへ書き込むスクリプトをダウンロードする
https://www.dropbox.com/s/e0my9z0tq644wam/make-sdcard
$ chmod +x make-sdcard
$ ./make-sdcard /dev/sdX ArchLinuxARM-imx6-cubox-latest.tar.gz
2) SDカードをCuBox-i本体に挿入して立ち上げます。Archが立ち上がった時点で、PCのSSHターミナルなどからrootでログインします。id=root, ps=root
その後に必要となる最小限のツールなどをインストールします。イーサネットは接続されていなければなりません。
pacman -Syu --noconfirm
pacman -S --noconfirm git base-devel
3) soa-aur をgit cloneでインストールします
git clone https://github.com/SqueezeOnArch/soa-aur.git
マニュアルでスクリプトを実行します。
cd soa-aur
./soa-install.sh
これには相当な時間がかかります。
4) スクリプトが終了したら同じネットワークに接続したPCのブラウザからCuBox-iのipアドレスに80ポートからアクセスします。ipアドレスは、PCから調べたり、HDMI接続した画面のプロンプトからifconfigなどで調べます。
下のようなSOAの画面が出力されれば成功です。
メニューのSqueezelite Playerで設定をします。ターミナルの名前や音の出力をSPDIFにするなどのセットをして「Save and Restart」します。
5) オプションのコンポーネンツのjivelite and squeeze serverはこのWebから設定をして追加インストールします。
メニューの「Update」です。
上図ではすでにJiveliteとSqueeze Serverの両方にチェックが入っていますが、1つずつやったほうがいいかも知れません。チェックを入れて「install/Remove」を押します。スクリプトによるビルドしながらのインストールで非常に時間がかかります。下の部分にコンソール出力が流れるのでエラーが出てインストールが上手く言ったのかどうかを見ます。エラーメッセージが出ると正しくインストールされていません。
Jivelite
SqueezeBoxのUIです。インストールに成功してリブートすると、HDMI出力でUIの画面が表示されます。
セッティングをしてみる
初期のJiveLiteのUI画面はシンプルなこのようなものが出てきます。
CuBox-iからは、キーボードのカーソルキーでメニュー操作することになります。
とりあえず設定をすすめるにも、Web画面のほうからしたほうが便利です。
この状況で、音楽ファイルからの再生などができます。
日本語フォントをSqueezebox に入れる
インターネットラジオの設定をしようとするとラジオ局名やメニューに日本語がでてきます。
とりあえず表示させると□(とうふ)になってしまいます。その一番単純な対処方法です。
まずはフォントを手にいれます。たとえばここのようなところから。
http://mix-mplus-ipa.sourceforge.jp/download.html
zipを解凍してレギュラーとボールドのttfファイルを用意し、FreeSans.ttfとFreeSansBold.ttfの名に変更します。
FileZillaを使い、ファイル転送手段にします。(SSH上からポート22でファイル転送できるものであれば他のツールでも結構です)ログインはid=root, ps=rootでつながります。
/usr/share/jive/fonts/ の下に FreeSans.ttfとFreeSansBold.ttf があるのを確認し、ダウンロードしてリネームした先のファイルと入替えます。これでrebootすると日本語フォントが表示されるようになります。
Squeeze Serverのインストール
次に、同じくUpdate からSqueeze Server (7.8 or 7.9) にチェックをいれてinstall/Removeボタンをクリックしてインストールします。これにはもっと時間がかかります。これでSqueeze Server をCuBox-i上におくことができます。Web画面の下のボックスにコンソール出力がされるので進行をチェックできます。
コンソールのメッセージを見ると分りますが、ソースからのビルドをしています。従って、ソースなどで変更があるとその時の最新になる利点はありますが、いつも同じ状態を再現できるわけではありません。また、ローカルでの環境しだいではエラーとなってしまいます。
ともかくエラーメッセージがでていると、何度繰り返しても同じです。最初に戻って、特にpacman -Sなどでちゃんと環境がインストールできているかも確かめながらリトライすることをお薦めします。
インストールに成功すると、メニュー欄に「Squeeze Server」が追加されています。そこをクリックするとサーバーの状態の確認と設定ができます。enabled, runningが表示されていると正常にサーバーが起動できています。
下の「SqueezeServer Web Interface」を押すと同じipアドレスのポート9000経由でサーバーとの通信がされるようになります。
インターネットラジオで radiko を聴いてみよう
以前、コラムでCuBox-iでradikoを聴くには? というテーマで取り上げたことがありました。その時の結果では、Android のアプリを使うにしても、XBMCプレーヤーGeeXboXにアドオンをするということもすべて中途半端な結果と終わりました。ということで再度挑戦です。
らじるこ plugin for SqueezeboxというSqueezebox Server(Logitech Media Server上でも動作可)のプラグインがありました。
それでは早速にこれをインストールしてみましょう。
ブラウザ上の「SqueezeServer Web Interface」にある「Plugins」のタブを選択します。一番下までスクロールして、「Additional Repositories」のボックスに
http://j774plugin.googlecode.com/git/repo.xml
を追加し、ブラウザ上の右下の「Apply」をクリックします
"j774's Squeezecenter Plugins"の"らじる&ラジコ・プラグイン"が表示されます。Enableにチェックを入れ,ブラウザ上の右下の「Apply」をクリックします。するとLogitech Media Serverの再起動を促され再起動します。
ブラウザ上のActive pluginsに、"らじる & radiko プラグイン"が表示されます。
リブート後、CuBox-i本体のUIからMy Musicを選択し、Logitech Media Serverに接続します。メニューからInternet Radioを選択すると、"Radiru & radiko plugin"が出てくるのでこれをクリックすると待望のRadikoが動きます。
放送局が一覧で表示されますので、あとは選局して聴いてください。
プレーヤーのメニュー画面は以下のようになります。
Web経由でのコントロールは上の通りですが、一方のCuBox-i本体からの表示は次のようになります。今のところは、キーボードの操作でカーソルキーでの操作となります。
Radikoを選択した時の画面はその下となります。
プレミアム用プラグインの設定
Radikoのプレミアム会員の場合は、全国の放送局を選択できます。Squeezeboxでの設定の仕方は次のようになります。
PC上のブラウザえ、まず、以下の方法でクッキーを取得します。
radiko.jpにプレミアム会員としてログインします。
radiko_session というCookieの内容を探します。これは40桁の16進数です。各ブラウザからの取り方は:
Google Chrome の場合
アドレスバー内の左のアイコンをクリックし「Cookieとサイトデータ」からradiko.jp→Cookie。
FireFox の場合
アドレスバー左の地球アイコンから詳細を表示、「Cookieの表示」。
プラグインの設定ページでradiko_sessionを入力します。
(例)
NHKのらじる★らじるをだけを聞くならば
これは以前の記事でも紹介した方法となりますが、(GeeXboXなどでも同じように使える方法です)それぞれの放送局のURLをMy squeezeboxとか,Logitech Media Serverのfavoriteに以下の記述を直に登録するという方法です。海外からのアクセスで制限のかかっていない局も、URLさえわかれば付け足していけます。
NHK AMラジオ第1 http://mfile.akamai.com/129931/live/reflector:46032.asx
NHK AMラジオ第2 http://mfile.akamai.com/129932/live/reflector:46056.asx
NHK-FMラジオ http://mfile.akamai.com/129933/live/reflector:46051.asx
前編のさいごに
今回のSqueezeboxの特集にあたっては、もともとの情報が不足しているばかりか、ソースがしばしば変更されるのか、再現性が確保できなかったりと作業がとても困難でした。当初はインストールしていくにあたり、どんな段階を踏まなければならないとか、どんな画面が出たら良いのかすらわかりませんでした。ようやく種々の細切れな記事からだけでは分からなかった全貌については情報をまとめることができたと思います。
今回は長くなったので、次回に外部のメディアサーバーについてのこと、また「海外の放送局」を聞く方法などについて掘っていきます。
SqueezeboxはCuBox-iの機種対応としては i1,i2,i2eX,i4 すべてで動作します。
なお、本記事を参考しても再現性がないなどで、それでもどうしても自分のCuBox-iで動作させたいという方は、petapicoshopの方へSD書き込みサービスをメールでお問い合わせください。