オーディオ関連

マシンのサウンド環境を整える

dmesg で pcm が入っていればOK。 入っていない場合、なんとかして入れる。 (5.x 系で kldload する件については 別途 記載)

CD ドライブを操作するユーティリティの類いはインタフェイスによって ATAPI 用とか SCSI 用とか気にする必要がある。 音楽CD の操作をすることがあるなら、 マシンに ATAPI なドライブしかない場合でも、atapicam を入れておけば SCSI として扱うことができるようになるので、入れておくべきである。

後付けでツールやユーティリティをインストールしなくても、FreeBSD が標準で備えている機能で最低限のことはできる。mixer, cdcontrol, burncd については後述する。

音楽CD を再生する

CD ドライブにヘッドフォン端子があるなら、そこに スピーカーなりヘッドフォンなり を繋いであげれば、kernel がサウンドについて知らない状態でも、音を聴くことはできる。 ドライブからサウンドケーブルにてサウンドカードもしくはそれ相当の位置に接続されているなら、 マシン本体のヘッドフォン端子やスピーカ端子から音声信号が出るはずである。

音量調節は、CD ドライブが内部的に サウンドデバイスと接続されているなら、 mixer vol と mixer cd で行うことができる。 接続されていないなら、cdcontrol vol か、(もしあれば)ドライブ前面の バリコンで行うことになる。

再生は、ATAPI のドライブであれば、以下のような具合である。

音楽CDを用意する。
% export CDROM=/dev/acd0 (お好みのドライブをどうぞ)
% cdcontrol eject (たぶんトレイが出てくるでしょう)
音楽CDを載せる。
% cdcontrol close (ドライブによっては効かないものも…)
% cdcontrol play

もちろん、ドライブ前面に play ボタンがあれば それを押して再生させてもいいのかもしれないが、いまいち。

ports にはいろいろな cd プレイヤがあるので、試してみるとよいだろう。

音楽CD から音楽CD を作る

光学ドライブが2つ以上あって、片方で書くことができるならば、 cdrdao を使うのが簡単。ATAPI なデバイスの場合には atapicam を入れておく。

% cdrdao copy \
  --device 2,0,0 \
  --driver generic-mmc \
  --source-device 2,1,0 \
  --source-driver generic-mmc

光学ドライブが1つしかない場合には いったん iso イメージとしてディスクに吸い上げたものを そのまま焼けばいいはずだ。 iso イメージが無ければ、単に

% cdrdao copy

を試してみるべきだろう。いろいろと「良きに計らって」くれる。

音楽CD から wav ファイルを作る

ATAPI なドライブであれば dagrab を用いるのが簡単である。

% dagrab -a -d /dev/acd1

SCSI なドライブであれば tosha を用いるのがよい。

# tosha -f wav -o hogehoge%02d.wav -d /dev/cd1c

媒体の状態が良くない時などは cdparanoia を試してみる。 これはかなり頑張ってくれる。

# cdparanoia -v -B

オーディオ入力から wav ファイルを作る

mixer コマンドで録音デバイスがどれになっているかを確認し、 rec のレベルが 0 になっていないことを確認する。また、録音用に wavrec (wavplay に同梱) や wmrecord が必要なので、ports からいれておく。

% wavrec -S -s 44100 -t 10 hogehoge.wav
(ステレオ、サンプリングレート 44khz、10 秒)

wav ファイルを再生する

wavrec を入れたならば wavplay も当然入っているだろうから、 単純にそれを使う。

% wavplay hogehoge.wav

wav ヘッダのない raw ファイルであれば、tosha に付属の pcmplay で再生できる。

wav ファイルから音楽CDを作る

SCSI デバイスであれば、cdrecord を使って以下のようにすれば作成できる。

#!/bin/sh
/usr/local/bin/cdrecord \
-v      \
-force  \
-pad    \
speed=8 \
dev=0,4,0       \
-audio  \
-swab   \
/some/where/rec01.wav     \
/some/where/rec02.wav

wav ファイルから mp3 ファイルを作る

有名な 午後のこ〜だ が使える。 午後のこ〜だ はデフォルトがジョイントステレオで、 自分はただのステレオのほうが好きなので明示的に指定する。 ビットレートはデフォルトのままいじらない。

% gogo -m s $file

mp3 を再生する

コマンドラインでは単体のツールとして mpg123 を入れておくのがおすすめである。 このプレイヤは GQmpeg などの GUI なプレイヤのバックエンドとしても使われる。 タグ情報の扱いのために、ビルド時に WITH_ICONV と DEFAULT_RECODE を設定しておくと良い。

CUI のプレイヤは moc がおすすめである。 自前でサーバ部と UI 部に別れているので、演奏を途切れさせる事なく さっと取り出して操作してさっと切り離す、といったことが可能。 プレイリストエディタではタグ情報もちゃんと表示される。 SJIS なタグであれば端末を SJIS にするだけでよい。

X 上では 有名な xmms や、マイナーな GQmpeg が使える。 キー操作でいろいろできる GQmpeg のほうが便利な局面が多いが、 別に両方入れていたって構わない。

xmms ではフォントを適切に設定してあげればロケールに応じたタグ情報が表示可能である。 つまり、SJIS のタグが書かれたファイルの再生には ロケールを ja_JP.SJIS にしてあげればよい。 gqmpeg ではビルド時に WITH_SJIS_TAG を設定しておき、フォントを設定することで SJIS タグも表示できる。

make.conf の例を上げておく。

#---- mpg123
.if ${.CURDIR} == "/usr/ports/audio/mpg123"
WITH_ICONV=yes
DEFAULT_RECODE='shift_jis:euc-jp'
.endif
#---- GQmpeg
.if ${.CURDIR} == "/usr/ports/japanese/gqmpeg"
WITH_SJIS_TAG=yes
.endif

タグ情報の編集には gmp3te がおすすめである。

[$Revision: 1.6 $ $Date: 2011.05.21 07:44:20 $]
[EOF]