ヘッドホンのエージングをしようと思い立ち、とりあえずホワイトノイズを垂れ流すことにした。再生機器は何にしようかなと考え、以前からやろうと思いつつ放置していた自宅サーバマシンへのALSA導入を行い、自宅サーバのオーディオ出力を使うことにした。
Debian Etchで使っているkernel2.6は最初からALSAサポートが有効状態でコンパイルされている。なので単純にALSA関連のコンポーネントをaptで入れれば良い。
$ sudo aptitude install alsa
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
タスクの記述を読み込んでいます... 完了
タグのデータベースを構築しています... 完了
注意: 仮想パッケージ "alsa" の代わりに
"alsa-base" を選択します
以下の新規パッケージが自動的にインストールされます:
alsa-utils libasound2 linux-sound-base lsof
以下のパッケージが一時固定されています:
linux-image-2.6-686 popfile
以下の新規パッケージがインストールされます:
alsa-base alsa-utils libasound2 linux-sound-base lsof
更新: 0 個、新規インストール: 5 個、削除: 0 個、保留: 2 個。
1826kB のアーカイブを取得する必要があります。展開後に 3981kB のディスク領域が新たに消費されます。
続けますか? [Y/n/?]
拡張状態情報を書き込んでいます... 完了
取得:1 http://cdn.debian.or.jp stable/main lsof 4.77.dfsg.1-3 [205kB]
取得:2 http://cdn.debian.or.jp stable/main linux-sound-base 1.0.13-5 [28.3kB]
取得:3 http://cdn.debian.or.jp stable/main alsa-base 1.0.13-5 [169kB]
取得:4 http://cdn.debian.or.jp stable/main libasound2 1.0.13-2 [346kB]
取得:5 http://cdn.debian.or.jp stable/main alsa-utils 1.0.13-2 [1077kB]
1826kB を 1s 秒でダウンロードしました (1564kB/s)
パッケージを事前設定しています ...
未選択パッケージ lsof を選択しています。
(データベースを読み込んでいます ... 現在 53812 個のファイルとディレクトリがインストールされています。)
(.../lsof_4.77.dfsg.1-3_i386.deb から) lsof を展開しています...
未選択パッケージ linux-sound-base を選択しています。
(.../linux-sound-base_1.0.13-5_all.deb から) linux-sound-base を展開しています...
未選択パッケージ alsa-base を選択しています。
(.../alsa-base_1.0.13-5_all.deb から) alsa-base を展開しています...
未選択パッケージ libasound2 を選択しています。
(.../libasound2_1.0.13-2_i386.deb から) libasound2 を展開しています...
未選択パッケージ alsa-utils を選択しています。
(.../alsa-utils_1.0.13-2_i386.deb から) alsa-utils を展開しています...
lsof (4.77.dfsg.1-3) を設定しています ...
linux-sound-base (1.0.13-5) を設定しています ...
alsa-base (1.0.13-5) を設定しています ...
libasound2 (1.0.13-2) を設定しています ...
alsa-utils (1.0.13-2) を設定しています ...
見てるとOSSラッパーが入らない。しょうがないのでalsa_ossパッケージも追加インストール。
$ sudo aptitude install alsa-oss
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
タスクの記述を読み込んでいます... 完了
タグのデータベースを構築しています... 完了
以下のパッケージが一時固定されています:
linux-image-2.6-686 popfile
以下の新規パッケージがインストールされます:
alsa-oss
更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 2 個。
51.8kB のアーカイブを取得する必要があります。展開後に 172kB のディスク領域が新たに消費されます。
拡張状態情報を書き込んでいます... 完了
取得:1 http://cdn.debian.or.jp stable/main alsa-oss 1.0.12-1 [51.8kB]
51.8kB を 0s 秒でダウンロードしました (496kB/s)
未選択パッケージ alsa-oss を選択しています。
(データベースを読み込んでいます ... 現在 54121 個のファイルとディレクトリがインストールされています。)
(.../alsa-oss_1.0.12-1_i386.deb から) alsa-oss を展開しています...
alsa-oss (1.0.12-1) を設定しています ...
その後alsaconfigを実行してサウンドチップ検出→環境設定→モジュールロードと行なったが、/dev/dspが作成されない。udevが作るのではないのか?
色々調べてみると、どうやら/usr/share/alsa-base/snddevicesスクリプトでデバイスファイルを作ってくれる模様。
$ sudo ./snddevices
Creating mixer?...done.
Creating sequencer...done.
Creating midi0?...done.
Creating dsp?...done.
Creating audio?...done.
Creating sndstat...done.
Creating music...done.
Creating dmmidi?...done.
Creating dmfm?...done.
Creating amixer?...done.
Creating adsp?...done.
Creating amidi?...done.
Creating admmidi?...done.
rm: cannot remove `/dev/snd': ディレクトリです
Creating snd/control?...done.
Creating snd/seq...done.
Creating snd/timer...done.
Creating snd/hw??...done.
Creating snd/midi??...done.
Creating snd/pcm??p...done.
Creating snd/pcm??c...done.
Creating aload?...done.
Creating aloadSEQ...done.
これでようやく/dev/dspが出来た。まあOSS互換でなくともいいのだが、世の中OSSをあてにしているオーディオアプリが結構多いようなので。
最後に、プレイヤは何にしようかと探してみて、CUIで軽そうなmadplayに決定。
$ aptitude install madplay
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了
タスクの記述を読み込んでいます... 完了
タグのデータベースを構築しています... 完了
以下の新規パッケージが自動的にインストールされます:
esound-clients esound-common libaudiofile0 libesd0 libmad0
以下のパッケージが一時固定されています:
linux-image-2.6-686 popfile
以下の新規パッケージがインストールされます:
esound-clients esound-common libaudiofile0 libesd0 libmad0 madplay
更新: 0 個、新規インストール: 6 個、削除: 0 個、保留: 2 個。
298kB のアーカイブを取得する必要があります。展開後に 762kB のディスク領域が新たに消費されます。
続けますか? [Y/n/?]
拡張状態情報を書き込んでいます... 完了
取得:1 http://cdn.debian.or.jp stable/main libaudiofile0 0.2.6-6 [76.7kB]
取得:2 http://cdn.debian.or.jp stable/main esound-common 0.2.36-3 [38.2kB]
取得:3 http://cdn.debian.or.jp stable/main libesd0 0.2.36-3 [18.9kB]
取得:4 http://cdn.debian.or.jp stable/main esound-clients 0.2.36-3 [35.5kB]
取得:5 http://cdn.debian.or.jp stable/main libmad0 0.15.1b-2.1 [74.8kB]
取得:6 http://cdn.debian.or.jp stable/main madplay 0.15.2b-4 [54.0kB]
298kB を 0s 秒でダウンロードしました (1356kB/s)
未選択パッケージ libaudiofile0 を選択しています。
(データベースを読み込んでいます ... 現在 54054 個のファイルとディレクトリがインストールされています。)
(.../libaudiofile0_0.2.6-6_i386.deb から) libaudiofile0 を展開しています...
未選択パッケージ esound-common を選択しています。
(.../esound-common_0.2.36-3_all.deb から) esound-common を展開しています...
未選択パッケージ libesd0 を選択しています。
(.../libesd0_0.2.36-3_i386.deb から) libesd0 を展開しています...
未選択パッケージ esound-clients を選択しています。
(.../esound-clients_0.2.36-3_i386.deb から) esound-clients を展開しています...
未選択パッケージ libmad0 を選択しています。
(.../libmad0_0.15.1b-2.1_i386.deb から) libmad0 を展開しています...
未選択パッケージ madplay を選択しています。
(.../madplay_0.15.2b-4_i386.deb から) madplay を展開しています...
libaudiofile0 (0.2.6-6) を設定しています ...
esound-common (0.2.36-3) を設定しています ...
libesd0 (0.2.36-3) を設定しています ...
esound-clients (0.2.36-3) を設定しています ...
libmad0 (0.15.1b-2.1) を設定しています ...
madplay (0.15.2b-4) を設定しています ...
ためしに適当なmp3ファイルをmadplayに食わしてみると無事再生することが出来た。
で、エージング用のファイル作成。波形編集で使っているCoolEditProで10秒のホワイトノイズを作成。0dBはさすがに音量がでかすぎる気がしたので-3dBくらいにしてみた。これを256kbpsのmp3にエンコードしサーバへ転送。あとはコマンドラインから、
$ madplay wnoise.mp3 -r -Q &
としてバックグラウンドで無限ループ再生させる。サーバマシンのPhone端子にヘッドホンをつなげばエージングマシンの完成。
ついでなので作成したホワイトノイズmp3を置いておく。→wnoise.mp3