初めてのスピーカー電子機器回路にトライ(↓)。秋葉原で買ってきた小型アンプモジュール(型番不明)とスピーカーを合体。オーディオ入力ピンは、不要になったiPhoneのイヤホンジャックを分解して基盤にハンダ付け。イヤホンジャックのケーブルってシールド線みたいで物凄く大変だったので、次回はちゃんと電子工作用を買った方がいいかも。アンプモジュールは、何を買っていいのかさっぱり分からなかったので、電源がラズパイの出力にある3.3V~5Vの間で、スピーカーは50mmサイズという条件でチョイス。
こちらが部品の完成品。音が出るかな~、というワクワクの瞬間。いよいよ電源とオーディオ入力ピンをラズパイに繋ぎます。
ラズパイのOSはLinuxであり、サウンド出力をするにはALSA(Advanced Linux Sound Architecture)というライブラリを使うとの事。早速インストールして試してみよう。
…。
…。
音が出ない。
…。
音が出た。結局いろいろなモジュールをダウンロードして、あちこち設定して、どれが正解だか、よくわからなかったので、分かったことだけメモしよう…。
[omxplayer]コマンドを使う: [-o local]は、イヤホンジャックからの出力、[-o hdmi]とするとHDMIからの出力になる。なお、omxplayerは、ALSAを使っていないのでraspi-configやamixerなどの設定は無視されるそうです。音量ボリュームは、--volオプションで指定できます。
$ omxplayer music01.mp3 # MP3ファイルを再生する。 $ omxplayer -o local music01.mp3 # 出力先を指定する。 $ omxplayer -o local music01.mp3 --vol -2100 # これを基準の音量とすると $ omxplayer -o local music01.mp3 --vol -3000 # 基準よりも小さめの音量
[aplay]コマンドを使う: [aplay -l]でハードウェア情報を表示できる。カード1&デバイス0でイヤホンジャックへの出力なので、[aplay -D:hw1,0 <音楽ファイル>]を実行すると♪音楽が流れる♪。
$ aplay -l # デバイス一覧を表示する **** ハードウェアデバイス PLAYBACK のリスト **** カード 1: ALSA [bcm2835 ALSA], デバイス 0: bcm2835 ALSA [bcm2835 ALSA] # イヤフォンジャックから出力 カード 1: ALSA [bcm2835 ALSA], デバイス 1: bcm2835 ALSA [bcm2835 IEC958/HDMI] # HDMI接続先ディスプレイ出力 # カード1, デバイス0 のALSAイヤホンジャックを指定してWAVファイルを再生する。 $ aplay -D hw:1,0 cnt1.wav 再生中 WAVE 'cnt1.wav' : Signed 16 bit Little Endian, レート 22050 Hz, モノラル # WAVファイルだけでも再生できた。 $ aplay cnt1.wav
秋葉原で買い集めてきたスピーカーとアンプに、家で不要になったイヤホンジャックを組み合わせてスピーカーの電子回路は完成。ラズパイ(Linux)には、ALSAというオーディオ機能をインストール。WAVファイルは、[aplay]というコマンドで再生。MP3ファイルは、[omxplayer]というコマンドで音楽を流すことが出来た。実際には、音が鳴らない等トラブルもあり、いろいろなモジュールをインストールしたり、設定したりで、正しいセットアップ手順がよくわからなかったので、ここでの記載は省略します。何となく大事なことは、ラズパイの出力先はHDMIとイヤホンジャックとUSBとかいくつかの方法があるので、どれを選択するか正しく理解した方がいいらしい。
ここまで来たら、今度はラズパイにマイクも実装して音声認識なんてのもやってみようかな...。出来るかな?