最低限の環境でラズパイから音を出す

f:id:yuppejp:20190923142115p:plain

最低限の環境でラズパイから音を出すためのメモです。

ラズパイのGPIO端子にスピーカー部品を直接接続します。

Raspberry PI Modle 3Bを使用しました。

配線

  • 32ピン(GPIO 12) ⇨ スピーカー端子
  • 34ピン(GND) ⇨ スピーカー端子

GPIO12の出力モードを変更

GPIO12の出力モードをハードウェアPWMに設定します。

$ gpio -g mode 12 pwm

設定結果を確認します。

$ gpio readall

f:id:yuppejp:20190923135258p:plain

32のModeが、デフォルトの「IN」から「ALT0」に変わっているはずです。

オーディオ出力先

$ sudo raspi-config

「7 Advanced Options」 > 「A4 Audio」

f:id:yuppejp:20190925201940p:plain

3.5mmヘッドフォンジャックに設定します。設定後、ラズパイをリブートしたほうがいいかもしれません。

テスト再生

ラズパイに最初からは入っている音源でスピーカーから音が再生されるか確認します。

$ aplay /usr/share/sounds/alsa/Front_Center.wav

音が小さい(めっちゃ小さい)ので音量設定

デフォルトの音量はスピーカーに耳を相当近づけないとわからないくらい小さいので、音量を最大にします。

デバイスの名前を調べる

$ amixer -M
Simple mixer control 'PCM',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback -10239 - 400
  Mono: Playback 400 [100%] [4.00dB] [on]

「PCM」だとわかる。

音量を最大に設定

$ amixer sset PCM 100% 

最大にしてもまだ小さいけれで、テスト用なのでよしとします。

おまけ

最後に、音声合成(Text to Speach)をやってみます。AquesTalk Piを使うのが簡単です。

AquesTalk Piのインストール方法はこちら。

https://www.a-quest.com/products/aquestalkpi.html

使用方法

$ ./AquesTalkPi "ハローワールド" | aplay  

おしまい。

参考にしたサイト

ありがとうございました。