Linuxのサウンド関連
Table of Contents
環境
- Distribution: RedHat Lunux 9
- Soundboard:CMI8738-6CHLP(玄人志向)
ALSA
- RedHatLinux9に標準では付属していないが、ALSAというLinux用のオーディオ及びMIDIの環境が開発されているということを知る。
- (将来的には標準となるようだ)
- これを使用すれば、CMI8738のS/PDIFもすんなり使えそう、ということで導入を試みる。
- Advanced Linux Sound Architecture(ALSA) (日本語訳)
ドライバのinstall
- 最初は以下のページを参考にしていたのだが、
- いろいろてこずり、最終的には下記ページの通りにやったらすんなりできた。
- 基本的な手順としては、
- をそれぞれ、./configure;make;make install
- (Tools(0.9.7)はよくわからないので入れていない)
- Driverのソースディレクトリ(alsa-driver-0.9.7) で、./snddevices を実行
- 同様にDriverのソースディレクトリで、./utils/alsaconf を実行
- これだけである。
ミキサー(alsamixer)の設定
- この後、デフォルトでミキサーはミュートになっているので、amixerや、alsamixerでミュートを解除する必要がある。
- 「m」キーでミュートの解除、スペースキーで録音対象の選択する。
- (trecord内のこのページ を参考にした)
- 設定の後、
> alsactl store
- で、/etc/asound.state に設定が保存される。
- なお、
> alsactl restore
- で保存した設定が読み込まれるのだが、
/etc/init.d/alsasound start
- もしくは
/etc/init.d/alsasound restart
- した場合には自動で行われるが、サーバを再起動させた場合にはこれが行われない。
- 他のページを参考にした結果、とりあえず、
- /etc/rc.d/rc.local に alsactl restore を記述するという方法にした。
- なお、gnome-alsamixerというものがあり、GNOME等のGUI環境ならばこちらが分かり易い。
- Tarball(gnome-alsamixer-0.9.6.tar.gz)を持ってきてこちらも./configure;make;make install。
- 下記は、CMI8738を使用した場合の、gnome-alsamixerのスクリーンショット
使い方
- まず、Alsaのwav録音/再生プログラムに関しては、
[録音](例:CD formatで5秒) > arecord -f cd -t 5 test.wav [再生] > aplay test.wav
- のようにして録音/再生が行うことができる。
- 肝心のCMI8738のS/PDIFに関してであるが、
- まず出力に関しては、
- ミキサーの設定でIEC958 Outputにチェックすると、S/PDIFの出力が有効になり外部D/Aで音を聴くことができた。
- また入力に関しては、
- ミキサーの設定でIE958 In Selectにチェックする必要がある。
- ちゃんと調べていないが、この選択はCD-ROMドライブのS/PDIF(カード上のジャンパに接続する)と、外部のS/PDIFの切り替えではないだろうか?
- その上で、
> arecord -Dhw:0,2 -fcd test.wav
- のようにやればよい。
- (外部のS/PDIF入力は -Dhw:0,2 で指定する)
- 私は、とりあえず適当にエイリアスをつくって
alias rec='arecord -Dhw:0,2 -fcd'
- とした。
- alsa driverのソースで、
- alsa-driver-0.9.7/alsa-kernel/Documentation/CMIPCI.txt
- に詳細が載っており、これを参考にするとよい。
その他
alsaplayer
配布元
はじめに
- mp3を再生すべく、最初、mpg123を使おうとしたがNGだったので(下方参照)、AlsaPlayerを使用してみることとした。
- (むしろ、こちらを先に使ってみるべきでは。。>自分)
インストール
- alsaplayer-0.99.75.tar.bz2 をダウンロードし、
> tar xvfj alsaplayer-0.99.75.tar.bz2 > cd alsaplayer-0.99.75 > ./configure > make > make install
- で、インストール。
- すんなりmp3が再生できた。
使い方
> alsaplayer -i text **.mp3
で、コンソールから再生できる。 これでたとえば、
> ls *.mp3 | xargs alsaplayer -i text
とかやれば、ディレクトリ内の全ファイルを再生できるわけだ。
> alsaplayer --help
を読んでわかったのだが、
> alsaplayer -s セッション名
として起動すれば、このセッションの再生を操作できる。
> ls *.mp3 | xargs alsaplayer -s session1 -i text
で起動し、次のようなことができる。
(ステータス表示)
> alsaplayer -n session1 --status
(次の曲)
> alsaplayer -n session1 --next
(前の曲)
> alsaplayer -n session1 --prev
(一時停止/解除)
> alsaplayer -n session1 --pause
mpg123
結論
(とりあえず最初に結論) alsa version 0.9 では、mpg123 は使えないようだ。
作業内容
mpg123-0.59q-1.i386.rpmをダウンロードし、
> rpm -ivh mpg123-0.59q-1.i386.rpm
でインストールしてみたが、「Can't open /dev/dsp!」 というエラーが出て再生できない。 mpg123-0.59r.tar.gzをダウンロードし、
> tar xfvz mpg123-0.59r.tar.gz > cd mpg123-0.59r > make linux-alsa > make install
とやってみるが、make installできない。 make linux でインストールする。 やはり、「Can't open /dev/dsp!」 と言われる。
/dev/dsp0 -> dsp
となっているようで、/dev/dsp0 を chmod o+w してみる。 エラーは出なくなったが、音は再生されない。
いろいろやってみるが、NG。 そもそも、ALSAのホームページの「アプリケーション」のところで、0.5より古いドライバの対応のところに、mpg123が載っているので、 使えないのでは。。
GLAME
- guile(guile-1.6.4.tar.gz)をインストール(GLAMEに必要)
- GLAME - GNU/Linux Audio Mechanics(1.0.1)をインストール
- LADSPA pluginを入れてみる。
- LADSPA pluginをインストールしようとするが、これがうまくいかない。
- pkgconfig (pkgconfig-0.15.0.tar.gz) と、
- fftw library ( fftw-3.0.1.tar.gz)をインストールし、
> export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
- して、さらに、/usr/local/lib/pkgconfig/fftw3.pc -> fftw3f.pc としてコピー。
- これでやっと、./configureが通る。
gogo
- gogo-2.35-1.i386.rpm を rpm -ivh でインストール。
- gogo *.wav でmp3に変換できる。