05.Raspberry Pi のオーディオのセットアップ



Raspberry Pi のオーディオのセットアップ、USBオーディオアダプタの設定を行います。

Windowsパソコンを使用し、ヘッドレスセットアップ(※1)をします。
※1 : ヘッドレスセットアップ(Headless Setup) : Raspberry Pi にモニタ、キーボード、マウスを接続することなく、セットアップすること。

PulseAudio のインストール

PulseAudioを利用して、再生デバイス、録音デバイスの操作をするので、PulseAudioをインストールします。

PCのターミナルアプリ(たとえばTeraTerm)からホスト名を指定し、SSH接続し、ログインします。

以下のコマンドを実行し、PulseAudioをインストールします。

PulseAudioを、ログインせずとも自動起動するようにする

FFmpegを利用して、USBオーディオアダプタのマイク端子からの入力を、MP3ファイルとして保存する際に、PulseAudioが起動している必要があります。

既定の設定では、PulseAudioは、ユーザーのログイン/ログアウトのたびに、起動・終了するように設定されています。
既定の設定では、ユーザーがログオフしているときの予約録音が失敗します。(PulseAudioが起動していないので、FFmpegを利用したMP3ファイル保存で、エラーとなります)

PulseAudioを、ログインせずとも自動起動するようにします。

以下のコマンドを実行し、システムのサービスとしてPulseAudioを起動するための設定ファイルを新規作成します。

ファイルの内容を以下のようにします。


以下のコマンドを実行し、PulseAudioの設定ファイルを開きます。

ファイル内容を以下のように編集します。
(設定値がデフォルト値の設定行は、行頭に「;」があり、コメントアウトされています。
 編集する行の行頭に「;」がある場合は、取り除きます)


以下のコマンドを実行し、rootユーザーとpiユーザーをpulse-accessグループに所属させ、rootユーザーとpiユーザーがPulseAudioにアクセスできるようにします(rootユーザーとpiユーザーがPulseAudioのコマンドを実行できるようにします)。


以下のコマンドを実行し、システムのサービスとしてのPulseAudioの自動起動を有効化します。


以下のコマンドを実行し、ユーザーのログインの際のPulseAudioの自動起動を無効化します。

USBオーディオアダプタの設定

USBオーディオアダプタを接続するために、一度、シャットダウンします。


シャットダウン完了後、Raspberry Pi のUSB端子に、USBオーディオアダプタを接続します。

電源を入れ直し、Raspberry Pi を起動します。
しばらく(1分ほど)待ちます。
PCのターミナルアプリ(たとえばTeraTerm)からホスト名を指定し、SSH接続し、ログインします。

利用可能なオーディオデバイスのデバイス名の確認

Raspberry Pi の利用可能なオーディオデバイスのデバイス名を確認します。

以下のコマンドを実行し、Raspberry Pi の利用可能なオーディオ出力の一覧を表示します。


以下のコマンドを実行し、Raspberry Pi の利用可能なマイク入力の一覧を表示します。


赤枠が、USBオーディオアダプタのオーディオ出力とマイク入力の情報

補足)
利用可能なオーディオ出力の一覧「pactl list short sinks」の結果の0番は、Raspberry Pi の内臓オーディオデバイスです。
利用可能なマイク入力の一覧「pactl list short sources」の結果の0番、1番は、デバイス名が「オーディオ出力デバイス名.monitor」となっていて、「利用可能なオーディオ出力をモニタするデバイス」です。

デフォルトのオーディオデバイスの変更

Raspberry Pi のデフォルトのオーディオデバイスを、USBオーディオアダプタのオーディオデバイスに変更します。

デフォルトにしたいオーディオデバイス名を書き留めます。
今回使用したUSBオーディオアダプタの場合は、
オーディオ出力デバイス名は「alsa_output.usb-Plugable_Plugable_USB_Audio_Device_000000000000-00.analog-stereo」
マイク入力デバイス名は「alsa_input.usb-Plugable_Plugable_USB_Audio_Device_000000000000-00.analog-stereo」

以下のコマンドを実行し、PulseAudioのシステム全体のデフォルト値を設定するファイルを開きます。

ファイルの末尾を以下のように編集します。
(設定行は、行頭に「#」があり、コメントアウトされています。
 編集する行の行頭の「#」は、取り除きます)


赤枠が、編集結果(デバイス名が長いため、右側は見切れています)


デフォルトのオーディオデバイスの変更を反映させるために、一度、再起動します。

しばらく(1分ほど)待ちます。
PCのターミナルアプリ(たとえばTeraTerm)からホスト名を指定し、SSH接続し、ログインします。

オーディオ出力の確認

「USBオーディオアダプタがデフォルトのオーディオデバイスとなっているか」、「USBオーディオアダプタのオーディオ出力が機能しているか」を確認します。

適当な音声ファイルを、Sambaを利用して、Raspberry Pi にコピーします。
(たとえば「C:\Windows\Media\Ring05.wav」を、「\\radioserver\pi\」直下にコピーします)

USBオーディオアダプタのヘッドホン端子(緑色の端子)に、ヘッドホンやイヤホンやスピーカーを接続します。

以下のコマンドを実行し、音声ファイルを再生します。

USBオーディオアダプタのヘッドホン端子に接続したヘッドホンやイヤホンやスピーカーから音声が出力されることを確認します。

利用可能なオーディオデバイスのカード番号の確認

Raspberry Pi の利用可能なオーディオデバイスのカード番号を確認します。

以下のコマンドを実行し、Raspberry Pi の利用可能なオーディオ出力の一覧を表示します。


赤枠が、USBオーディオアダプタのカード情報

(USBオーディオアダプタのカード番号が 1以外の番号 になることもあります。カード番号はRaspberry Pi 起動時に割り当てられ、常に同じ番号が割り当てられるとは限りません。)

オーディオ出力のボリュームの変更、マイク入力の録音レベルの変更

オーディオ出力のボリュームの変更、マイク入力の録音レベルの変更、を実施します。

設定する設定値は、オーディオ出力からのラジオの音量がほどよくなるようなボリューム値、ラジオを録音した音声ファイルの音量がほどよくなるような録音レベル、を試行錯誤した結果の値です。

以下のコマンドを実行し、オーディオ出力のボリュームの変更、マイク入力の録音レベルの変更、を実施します。


コマンド解説
amixer : オーディオ機能の設定をするコマンド
-c 1 : カード番号 1 のオーディオカードの設定をします。(USBオーディオアダプタのカード番号を指定します
sset : 設定を変更します。
Speaker / Mic : ヘッドホン端子 / マイク端子 の設定を変更します。
playback / capture : 再生 / 録音 の設定を変更します。
10% / 0 / 27dB : 設定を設定値に変更します。
unmute / mute : 再生の設定において、ミュートにしない / ミュートにする を設定します。
(マイク端子についても、再生に関する設定ができます。マイク端子の再生について、「ボリュームゼロ」、「ミュートにする」の設定をします。コマンドの2行目が該当)

以下のコマンドを実行し、オーディオ出力、マイク入力の設定を確認します。


赤枠が、ボリューム、録音レベルの設定結果

ボリューム、録音レベルの自動読み込み

Raspberry Pi を再起動したときに、ボリューム、録音レベルの設定値が自動的に読み込まれるようにします。

以下のコマンドを実行し、設定値をOSに保存します。


以下のコマンドを実行し、OS 起動時に自動的に実行する設定に関するファイルを開きます

「exit 0」の前に、以下を追加します。


赤枠が、編集結果


ボリューム、録音レベルの設定値の自動読み込みを反映させるために、一度、再起動します。

関連ページ

前項目:04.Raspberry Pi のOSのセットアップ

次項目:06.ソフトウェア仕様