voyageMPD で aplayex

HOME > 気まぐれコンテンツ > voyageMPDでaplayex

voyageMPD は、PCなどをネットワークプレーヤーにするLinuxディストリビューションです。
aplayex は、ナカタ様が公開されている aplay(alsa付属のCUIベース再生ソフト)の機能拡張版です。

いまさら説明するまでもないほどのvoyageMPDです。スキルのある方は熱心に改良に取り組んでいらっしゃいますが、CD-R限定でしか使わない万年Linux初級者にたいしたことはできません (^^ヾ 使っているBaby-ATマザボをケースに入れたり、大出力も可能なリニア電源も出来たことで、少しづつ、実験的PCオーディオが常設に変わっていくようです。今回もその一環です。

人それぞれですが、筆者の場合、MPDは使いません。Music Player Deamon を通さず、直接再生するのを好みます。また、ネットワークファイルではなくローカルファイルを再生するのを好みます(なら、voyageMPDである必要もないわけですが・・ ^^;;)。Linuxにはサウンドサーバーなるものもあるようですが、スキルもないし、直接再生するほうが良かろうと、ここのところ、再生には簡単に aplay を使っています。

ところが、普通に

aplay ほにゃらら.wav

とやっちゃうと、bit exact が確保できず、確保するためには

aplay ほにゃらら.wav -D hw:0,0

などと、サウンドデバイスを指定(*1)する必要があるそうです。
詳しくは先述のナカタ様の ALSAでbit perfect再生するには にも記載されています(ちょうど今はリンク切れになっているようです)。

ところが、これにも問題があり、ナカタ様によれば、再生するファイルの形式とサウンドデバイスが合わないと再生できない、とのこと。
これでは不便なので、aplay の機能を拡張した aplayex を作成されたとのこと、です。X-windowから操作するフロントエンド Xaplay なども併せて作成されています。

(*1) デバイス指定 hw:0,0 はサウンドデバイスや数により変わります。詳しくは、aplay -l で確認。PCに1つしかないなら、大抵 hw:0,0 ですが・・

aplayexをセットアップ

といっても、展開してできた aplayex を /usr/bin などにコピーするだけです (^^ヾ (*2)

dpkg -x aplayex_1.4.0_i386.deb [展開するディレクトリ]

cp [展開したディレクトリ]/usr/bin/aplayex /usr/bin/

展開したディレクトリには、他にもファイルがありますが、CUIで使う場合は aplayex 単体だけでいいようです。ナカタ様からいただいたお返事もご覧下さい。

(*2) voyageはdebian系ですし、debパッケージのインストールなので、普通に [ dpkg -i aplayex_1.4.0_i386.deb ] とやりたいところです。
でも、依存関係のエラーが出ました。
voyageMPD 0.9 rc1 で試したところ、
バージョン1.2.0の場合、続けて [apt-get -f install] とやれば、インストールできました。
バージョン1.4.0の場合、続けて [apt-get -f install] とやっても、インストールできず、道半ばなインストールの残骸も削除されてしまいました(笑)。

確認

各種フォーマットのWAVを再生して、様子をみました。
各種フォーマットファイルはefuさん作のWaveGene1.40で作成した、1000kHz -6db のサイン波を用いました。
ただし、動作確認程度で、bit exact の測定まではしていません。

これには、普段voyageMPDを使っている古いPCではなくCore2Duo使いのPCで、voyageMPDは0.9 rc1 、aplayexのバージョンは1.4.0を使いました。

kHz 44.1 48 96 192
bit 16 24 32 16 24 32 16 24 32 16 24 32
RATOC
RAL-24192UT1
(S32_LE)
aplay o o o o o o o o o o o o
aplay* x x o x x o x x o x x o
aplayex* o o o o o o o o o o o o
EDIROL
UA-1EX
(S24_3LE)
aplay o o o o o o o o o o o o
aplay* x o x x o x x o x x ? x
aplayex* o o o o o o o o o xxx xxx xxx
RME
DIGI96/8 PST
(S16_LE、S32_LE)
aplay o o o o o o o o o o o o
aplay* o x o o x o o x o ? x ?
aplayex* o o o o o o o o o xxx xxx xxx
M-AUDIO
Audiophile 2496
(S32_LE)
aplay o o o o o o o o o o o o
aplay* x x xx x x xx x x xx x x xx
aplayex* xx xx xx xx xx xx xx xx xx xx xx xx
玄人志向
CMI8738-6CHLP
(U8、S16_LE)
aplay o o o o o o o o o o o o
aplay* o x x o x x o x x ? x x
aplayex* o o o o o o o o o xxx xxx xxx

aplay がデバイス指定なし、
aplay*とaplayex*がデバイス指定あり、の再生です。

判定とエラーメッセージは以下です。
oと?は音が出ています。xとxxとxxxは音が出ず、エラー表示してお終いです。

o - 音が出ました
? - rate is not accurate(&音程が低くなります)
x - Sample format non available
xx - Channels count non available
xxx - Assertion `err >= 0' failed.Aborted by signal Aborted…

UA-1EXは裏のディップスイッチでサンプリングレートを切り替えて使用しています。ただし、192kHz指定はないので96kHzにしています。

Audiophile 2496 で デバイス指定すると音が出ず、よくわかりません。

感想

お返事 (2012/12/21)

当のナカタ様からお返事をいただきました。かいつまんで書きますと

余談ですが・・

ONKYOのSE-80PCIも試してみましたが、使えませんでした。具体的には、[ aplay -l ] に現れませんでした。

voyageのconfigでは、モジュール組み込み指定になっているようです。

例えば、config-3.0.0-voyage_10.0-1 の2773から2790行は以下のようです。
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
CONFIG_SND_ICE1712=m
CONFIG_SND_ICE1724=m
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_KORG1212=m
# CONFIG_SND_LOLA is not set
# CONFIG_SND_LX6464ES is not set
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MAESTRO3_INPUT=y
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
CONFIG_SND_RME32=m
CONFIG_SND_RME96=m
CONFIG_SND_RME9652=m

SE-80PCIのチップはMAESTOR3iと印刷されています。「CONFIG_SND_MAESTRO3=m」と、モジュール指定になってます(iの有無が気にはなりますが・・)。

[ lspci ]では表示します。ハードは認識されているようです。
[ lsmod ]では、snd_maestro3 と表示しますので、モジュールは組み込まれているようです。

スキルが足りない筆者はこのくらいにしておきます。ただ・・、この後に続くONKYOのサウンドカードは、今回不可思議な結果になったAudiophile 2496と同じEnvy24使いですし、voyageはONKYOには鬼門かもしれませんね。


juubee's おぼえがき © by juubee アドレス画像 作成 2012/12/5