Raspberry Pi Model Bを使っているのですが、音声関連でかなりてこずりましたので、メモしておきます。
わたしは、ちょっとした目覚ましを作ろうと思いラズベリーパイにつなげたスピーカから音声を流そうとしました。
音声は、mp3形式のファイルです。
ちなみに長い曲の再生には、omxplyaerを使い、短いエフェクト音の再生には、mpg321を使います。
理由は、omxplayerで2~3秒の短い音声を長そうとすると前半部分が聞こえなかったりするからです。mpg321は、短い音声が再生できるかわりに音質は劣る気がします。
定期的に音声ファイルを使ってラズベリーパイにしゃべらせたいようなときは、mpg321を使う方がいいと思います。
インストールは、
$ sudo apt-get install omxplayer $ sudo apt-get install mpg321
でOKです。簡単です。
【ラズベリーパイの3.5ミリオーディオ端子にスピーカをつないで出力できないとき】
まず、
$ sudo raspi-config
を実行して、設定画面を開きます。
「8 Advances Options」を選択します。
「A9 Audio」を選択します。
ここでは、音声の出力先を指定できます。
「1 Force 3.5mm (‘headphone’) jack」を選びます。初期値は「0 Auto」になっているようです。HDMIディスプレイがつながっている場合、HDMIディスプレイのスピーカが優先されます。
音声ファイルを再生して確認します。
例としてホームフォルダにある「test.mp3」ファイルを再生するとします。
$ omxplayer -o local /home/pi/test.mp3
これで再生できるはずです。
「-o local」オプションをつけるとラズベリーパイのオーディオ端子につながった機器から出力します。「-o hdmi」オプションでHDMIディスプレイのスピーカからの再生となります。
ラズベリーパイのオーディオ端子から常に出力したいとき、わたしは必ず「-o local」オプションをつけるようにしています。その方が安全確実です。
ところで、今までomxplayerで再生できていたのに突然
* failed to open vchiq instance
なるエラーメッセージが出て再生できなくなってしまった時は
$ sudo chmod a+rw /dev/vchiq
とすると再生できるようになります。
スポンサーリンク
コメント