5.4 サウンド設定

2018年4月24日

このままでは、音がなにも鳴らないのでサウンド設定を行います。

1.デバイスドライバの確認
 このPCのM/BサウンドコーディックチップはRealTek ALC1150で、intel HDA(High Definition Audio)規格です。接続は、 映像はDVI でTVへ、音声はM/Bのline outをスピーカへ繋いでいます。
カスタムカーネルでHDAを使用するためには、/boot/loader.confへ
snd_hda_load=”YES”
を記載するか、カーネルコンフィグファイルへ
device sound
device snd_hda
を記載してカーネルビルドする必要があります。今回使用するデフォルトカーネル(GENERIC)ではすでに組込み済のため、必要ありません。
まずはFreeBSDで認識されているか、dmesg で確認します。

チップ型番は出ていませんが認識して pcm デバイスを割当ててくれた様です。hdacc0で割当てた pcm0〜3はグラッフィクボードのHDMI用のコーディック、hdacc1の pcm4〜7はM/B搭載の今回使用するコーディックです。

2.デバイスノードとデフォルト値の確認
 デフォルトのサウンドデバイスがどれか確認します。

  デフォルトデバイスは、pcm4、デバイスノードも個数分作られています。FreeBSDの場合、オーディオデバイスへのアクセスは、/dev/dspでデフォルトデバイスへアクセスできます。
適当なファイルを /dev/dsp へ流して音が出るのを確認します。
 cat <ファイル名>  >  /dev/dsp

デフォルトオーディオデバイスを変更する場合は、sysctl を使うか /etc/sysctl.conf へ以下の様に記載します。
 hw.snd.default_unit=n  n:デバイス番号

3.デスクトップ環境での音出し
 MATE環境でのデフォルトサウンドサーバは PulseAudio と言うサウンドサーバが使われています。pkg インストールしただけでは、音が出ません。以下の2点を行います。
(1)PulseAudio インストール時に作られたグループに使用ユーザを登録する
 PulseAudio がインストールされると pulse、 pulse-access、 pulse-rt の3つのグループが登録されています。/etc/group を編集して使用ユーザを各グループに追加します。pulse-rt に追加しただけで音はなりましたが、一応念の為全てに登録しました。
(2)サウンドテーマのインストール
 freedesktop-sound-theme-0.8 を pkg install します。
 MATE の「アプリケーション」→「サウンドとビデオ」→「サウンド」を選択し、「サウンドの設定」画面を出します。警告音を選択して音が出るのを確認します。

4.アプリからの音出し
 
PulseAudio は、ESD(Enlightened Sound Daemon)の置き換えを指向していると言う事で、ESD対応のアプリケーションは、比較的簡単に音が出ます。ただし、サウンドサーバとやり取りするドメインソケットのディレクトリ名称が異なるため、合わせる必要があります。
 ここでは、てっとり速くシンボリックリンクで対応します。
 PulseAudio : /tmp/.esd-<ユーザID>
 ESD     : /tmp/.esd
 したがって、 cd /tmp; ln -s /tmp/.esd-<ユーザID> .esd とかしてリンクをはります。
 十数年前によく遊んでいた XBOING ⅡというブロックくずしゲームがESDを使用するように設定していた事を思い出し、久々にコンパイルインストールしました。結果OKで音が付いて行っていないところも一緒でした(あたりまえか)。こんな画面です。

xboing1 xboing2 xboing3 xboing4

・flash からの音出し他
 MATEの「サウンドの設定」ではなぜか使用デバイスの固定ができなかったので、PulseAudio 用のボリュームコントールアプリを入れます。
 pavucontrol-3.0
を pkg install しました。MATEの「アプリケーション」→「サウンドとビデオ」→「PulseAudio 音量調節」を選択して起動します。
Screenshot at 2016-04-28 10:58:25 PulseAudio は、再生中でないとコントロールが出てこない事から、WEBのYouTube再生などを行いながら調整します。「Playback」タブのサウンドカードのアイコンの右にデバイスの選択ボタンがあるので、そこで /dev/dsp4 を選択します。これで、flash 再生でも音がでました。


FreeBSDへ  サイトTOPへ

Posted by null-a