vmxファイルに、
sound.present = "TRUE"
sound.virtualDev = "es1371"
という記述があるし、VMware PlayerのウィンドウにAudioというボタンがついていたので、たぶん、VMwareでオーディオデバイスがエミュレーションされるんだろうな、とは思っていました。しかし、host OSがWindowsで、guest OSがFreeBSDの場合には、
わざわざFreeBSDで音楽を聴いたり、ビデオを再生したいとは思わないよな・・・
という理由からこれまで試していませんでした。
今回は、ネタということで、わざわざ、このオーディオデバイスを使ってみました。ネタといっても、ちゃんとまともに使えます。
☆ ☆ ☆ ☆ ☆
FreeBSDのGENERICカーネルには、オーディオ用のデバイスドライバは組み込まれていないので、カーネルモジュールをロードします。VMwareの中のFreeBSDでは、snd_es137x.koです。
freebsd# kldload /boot/kernel/snd_es137x.ko
コンソールにはこんな感じで、認識されたデバイスが表示されます(dmesgコマンドでも見られます)。
pcm0: <AudioPCI ES1371-A> port 0x1400-0x143f irq 10 at device 17.0 on pci0
pcm0: <Cirrus Logic CS4297A AC97 Codec>
pcm0: <Playback: DAC2 / Record: ADC>
こんな感じでモジュールがロードされてます。
freebsd# kldstat
Id Refs Address Size Name
1 5 0xc0400000 691928 kernel
2 1 0xc0a92000 58554 acpi.ko
3 1 0xc28b7000 6000 snd_es137x.ko
4 1 0xc28bd000 1c000 sound.ko
/dev/sndstatで、デバイスの状態を確認できます。
freebsd# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <AudioPCI ES1371-A> at io 0x1400 irq 10 kld snd_es137x (1p/1r/0v channels
duplex default)
ためしに、MP3ファイルを再生してみたり・・・
使ったのはmadplayというportsからインストールした、簡易MP3プレーヤー。/usr/ports/audio/madplayにあります。
% madplay Comics_Image_Album_05.mp3
MPEG Audio Decoder 0.15.0 (beta) - Copyright (C) 2000-2003 Robert Leslie et al.
VMware Playerのウィンドウの上の方にあるAudioというボタンで、音のオン/オフが切り替えられます。
音が聞こえないときは、ボリュームが小さくなっているのが原因かもしれません。
音量の調節は、ゲストOSのFreeBSD側の調整と、ホストOSのWindows側の調整の、両方が効いてきます。
FreeBSDの場合、mixerコマンドで音量が調整できます。
「mixer」だけで実行すると、現在の設定が表示されます。
% mixer
Mixer vol is currently set to 75:75
Mixer pcm is currently set to 75:75
Mixer line is currently set to 75:75
Mixer mic is currently set to 0:0
Mixer cd is currently set to 75:75
Mixer rec is currently set to 0:0
Mixer igain is currently set to 0:0
Mixer line1 is currently set to 75:75
Mixer phin is currently set to 0:0
Mixer video is currently set to 75:75
Recording source: mic
volがマスターボリュームのことで、音量は0~100の数値で指定するので、
% mixer vol 95
Setting the mixer vol from 75:75 to 95:95.
とかやれば、大きくできます。
☆ ☆ ☆ ☆ ☆
FreeBSDを起動するときに、自動的にドライバをロードするようにするためには、/boot/loader.conf に以下のように書いておきます。
snd_es137x_load="YES"
ほかにも、「man snd」すると、vchanとかいろいろ有益な情報が見つかるでしょう。
☆ ☆ ☆ ☆ ☆
FreeBSDには、/dev/speakerというビープ音専用のデバイスもあります。
# kldload speaker
してから、
# echo "CDE" >/dev/speaker
すると、ドレミが鳴ります。知ってる人は知っている、8ビットパソコン時代のBASICで使われていた、あのMMLが使えます。man speakerすると、詳しい情報がのっています。
まずは、/usr/sbin/spkrtestというコマンドを実行してみれば、どんな音がなるか試してみることができますよ。
/dev/speakerにアクセスするためのパーミッションが落ちているので、一般ユーザーでは使いづらいのですが、/etc/devfs.confを見ると、ヒントがかかれています。
# Allow members of group operator to cat things to the speaker
#own speaker root:operator
#perm speaker 0660
0 件のコメント:
コメントを投稿