彷徨えるフジワラ

年がら年中さまよってます

Solaris のオーディオ環境構築

自宅デスクトップ環境を Solaris にするにあたって、オーディオ環境は ONKYOND-S1 を軸にして、以下の様な感じを目論む。

  • ND-S1 の出力は、光入力を持つ YAMAHARP-U100
  • ND-S1 の iPod には、VirtualBox ゲスト上の iTunes@Windows から同期
  • 音楽を聴く場合は、iPod 上の同期済みデータを ND-S1 〜 RP-U100 へ
  • PC からのオーディオ出力は、USB 経由で ND-S1 〜 RP-U100 へ

YAMAHA の RP-U100 は 10 年以上前の随分古い製品なのだが、BOSE 121 スピーカとの組み合わせは、プログラミング作業の BGM としては十分な音質であることと、USB 入力/デジタル入出力があることから、便利に使い続けている優れもの。

まずは ND-S1 上の iPod に、VirtualBox ゲスト上の iTunes から同期をかけてみる .... あっさり成功。但し、Solaris ホストの VirtualBox での iPod 連携は、ChangeLog によると比較的最近(2010-02-12 リリースの 3.1.4)になって可能になったらしい。

ND-S1 経由での iPod 上のデータの再生は、そもそも Solaris が絡む話でも無いので、特に問題も無く成功。

さて、PC(Solaris) から USB オーディオデバイスとしての ND-S1 を経由してオーディオ出力が出来ることを確認する段になって、はたと気付いた。

Solaris のオーディオデバイスって、どうやって切り替えるの?

今使用している環境には、ND-S1 以外にも:

といったものがオーディオデバイスとして Solaris に認識されているのだが、プライマリ扱いのオンボードオーディオから、USB 接続の ND-S1 に優先出力先を変更する方法がさっぱりわからない。

メニューから辿れる制御アプリ系は軒並み試してみたのだが、そもそも「プライマリの出力先」という概念を扱っている様子が無い....

いつもの様に、ネットの海を彷徨うこと暫し....

とりあえず audioplay コマンド(パッケージは SUNWauda ないし audio/audio-utilities)が、デバイスを指定してオーディオデータを再生できるらしいことがわかったので、これで再生具合を確認することに。

audioplay で利用可能なオーディオデータのサンプルは /usr/share/audio/samples 配下にある(パッケージは SUNWaudf ないし library/demo/audio-samples)ので、とりあえずそこそこ長い=データの大きい spacemusic.au を選んで、いざ再生。

オーディオデバイスとしての ND-S1 にアクセスする場合のデバイスは、とりあえず /dev/sound 配下を "ls -l" で表示して、USB デバイスをアレしていると思われるものにあたりをつけてアクセスしてみた。もっとまともな特定方法をご存知の方は是非ご一報を。

$ audioplay -d /dev/sound/3 /usr/share/audio/samples/spacemusic.au

.... ん??? なんか微妙に途切れるなぁ?

これは元データの問題?audioplay の問題?それとも USB オーディオの問題?

色々調べてみたところ、お作法に則ったアプリケーションであれば、AUDIODEV 環境変数の指すデバイスを優先的に使用してくれるらし。っつーか、/dev/audio のシンボリックリンクを張り替えてくれる方が便利なんだけどなぁ > デスクトップ用途

とりあえずこの環境変数を明示的に指定した上で、ウェブ上の適当な Flash 動画を再生してみよう。

.... 駄目だ!やっぱり USB オーディオ経由だと途切れまくりで、常用に耐えられる品質じゃない....

試しにオンボードオーディオデバイスの出力をアンプに繋いでみたら....うわ!すっげーまともに再生される!光出力のせいかもしれないけど、全然綺麗に聴こえるよ!

うーむ、Solaris のオーディオ環境がそこそこまともな事がわかったのは収穫だが、USB オーディオが全く使い物にならないというのは誤算だなぁ。

USB 接続の DVD ドライバからの CDDA リッピングも x3 〜 x5 程度でなら実施できているので、CD 品質(1.4Mbps)のオーディオデータ転送でアップアップにはならない筈なのだが.... > USB ドライバ周り

ひょっとして、スループットはそこそこ出るけど、時系列で見た場合にムラがあるとか?そうだとすれば、USB オーディオデバイスでのストリーミングモード利用では、確かに問題になるかも。

ちなみに、VirtualBox ゲスト上の iTunes@Windows による再生をホストのオンボードオーディオデバイス経由で聴いてみた所、悪くは無いけど時々音飛びするのがわかる程度には劣化しているので、「音楽再生は、iPod データを ND-S1 経由で」という判断は正解だったかも。