Subsonic:インターネット経由で音楽ライブラリを再生する

 音楽ライブラリがCDコレクションやMP3プレーヤーに縛られている場合でも、外出中に気軽に好きな曲を楽しむ方法がある。 Subsonic は、音楽コレクションにインターネットを介して ─ 自分だけでなく友人も ─ アクセスできるフリーのWebベース・メディアストリーマである。

 Subsonicは、数千枚のCDに相当する膨大な音楽コレクションを扱える。音楽のみならず、ビデオも処理できる。いや、実のところ、標準HTTP接続を通してストリーミングが可能なあらゆる形式のデータにリモートからアクセスできるのである。Subsonicは、必要に応じて音楽コレクションをオンザフライでストリーミング形式に変換する。このとき、使用可能な帯域幅が考慮される。曲の再生に使うブラウザとメディアプレーヤーはお好み次第だ。今回はFirefoxとRealPlayerを使ったが、他の組み合わせでもまったく問題ない。

 Subsonicの最新バージョン3.4は、4月にリリースされた。バージョン3.5は現在ベータ版。試用したところ、積極的に開発が進められていることがよくわかった(しかも動作は安定している)。Subsonicは、Lesser General Public License(LGPL)に従って配布される。

インストール

 Subsonicは、LinuxやWindowsを含め、ほとんどのオペレーティングシステムで使用できる。WAR(Web Application Archive)としてか、スタンドアロンとしてインストールできる。WAR形式のインストールは、Apache TomcatJBossなどのサーバが必要になるため、やや複雑だ。既にどれかを使用中でない限り、この種の要件がないスタンドアロン形式をインストールするのが良いだろう。ただし、いずれの場合もJavaがメディア・サーバにインストールされている必要がある。

 使用するバージョンを決めて、ダウンロードする。今回は、バージョン3.4の”全プラットフォーム対応”スタンドアロン版を使用した。各バージョンに『インストールの手引き』があるが、スタンドアロン版のインストール手順は簡単である。私の場合、自分以外にSubsonicを使うユーザはいないため、今回はホームディレクトリの/home/fkereki/bin/subsonicにインストールしたが、どのディレクトリにインストールしてもかまわない。ダウンロードしたパッケージを任意のディレクトリに展開した後で、スタートアップ・スクリプトstandalone/subsonic.shを編集する。チェックが必要な設定項目は、作業ディレクトリ(SUBSONIC_HOME – 今回は/home/fkereki/subsonic)、Subsonicがリスンするポート(SUBSONIC_HOME – 未使用の9988を選択した)、Webアクセス用のパス(SUBSONIC_CONTEXT_PATH – /subsonicの使用を勧める)、Javaの最大ヒープサイズ(MAX_MEMORY – 64[MB]のままで問題なく動作した)の4つだ。ファイルを保存してから、選択したポートの使用をファイアウォールで許可する。

セットアップ

 Subsonicを起動するには、standalone/subsonic.shスクリプトを実行する。最初の起動時に、ログイン情報の変更が求められる。デフォルトでユーザ名とパスワードはどちらもadminだ。なるべく早くこれを変更する。小さなトレイのアイコンを右クリックし、[Open]を選択するとブラウザにSubsonic管理者ページが表示される。ここからすべての項目を設定できる。[Settings]アイコンをクリックし、以下の操作を行う。

  • [Music Folders]で、音楽ファイルが保存されているすべてのディレクトリを追加する。これらのディレクトリにある音楽ファイルにWeb経由でアクセスできる。
  • [General]で、プレイリストを保存するディレクトリを選択し、必要であればデフォルトのテーマを変更する。インデックス・エントリやようこそメッセージなどの他の項目も変更できる。
  • [Advanced]で、帯域幅に制約がある場合に音楽データのダウンサンプルを処理するLAMEまたはその他のエンコーダの使用方法を設定する。LDAP認証の使用時はアクセス用のパラメータも指定できる。
  • [Personal]で、トラックに関して表示するデータを選択したり、last.fmに接続して自分の選曲を登録するかどうかを指定したり、各種の簡単なパラメータを設定できる。
  • [Users]で、新しいアカウントを作成し、そのアカウントが実行できること、できないこと(たとえばプレイリストの作成や削除、ファイルの再生、ダウンロード、またはアップロード、管理者のタスクなど)を指定できる。adminパスワードの変更もここで行う。また、送信可能なレートを超える速さで音楽を送り出そうとしてサーバが悲鳴を上げることのないよう、適度な最大転送レートを選択する。経験から言って、アップロードの帯域幅には余裕を見ておくことを勧める。使用可能な最大のレートは指定しないこと。
  • [Transcoding]で、必要な場合にデータ形式を変更するためのコマンドを定義する。これらのコマンドは忘れずにインストールしておく必要がある。

 これ以外の設定項目については、一目瞭然なので解説は省く。

Subsonicの使用

 インストールしたSubsonicに接続するには、ホームアドレスに移動し、ポートアドレスとコンテキストパスを指定する。具体的には、固定IPの割り当てを受けるか、DynDNSなどでダイナミックDNSを設定する必要がある(DynDNSについては、”Getting started with dynamic DNS(動的DNSの初歩)“が詳しい)。今回は、remotekereki.homelinux.com:9988/subsonicにアクセスした。

 再生する音楽を選ぶ手順は簡単だ。画面の右側にあるインデックスは、サーバ上の各ディレクトリに対応している(私の場合、アーチストごとにディレクトリを作り、アルバム別にサブディレクトリを作っている)。すべてのトラックをプレイリストに追加するか、+アイコンをクリックして1曲ずつ追加する。また、再生アイコンをクリックすると、選択状態の曲が自動的に再生される。プレイリスト内のトラックを並べ替えるには、上矢印アイコンと下矢印アイコンを使う。また、ランダム再生も可能だ。すべての曲の再生が終わった場合に自動的にリピートすることもできる。

 最適なデータレートは実際に使ってみないと判断できないが、いったん適度な値が見付かれば後は放置してかまわない。曲を追加した場合も設定を調整する必要はない。アルバムを収めた新しいフォルダを(リッピング・ツールなどを使って)指定済みの音楽ディレクトリ内に作成すると、自動的にアルバムが認識され、インデックスと内部データが適切に更新される。

 Subsonicを使えば、インターネットに接続できる場所ならどこからでも、自分のミュージック・ライブラリを気軽に楽しむことができる。

Federico Kerekiはウルグアイ出身のシステムエンジニアで、20年以上に渡るシステム開発、コンサルティング、大学講師の経験を有している。

Linux.com 原文(2008年11月5日)