音声認識のテストや Alexa とかのために、サウンド周りの設定やら。
USBのマイクを刺したので、ALSA関連のインストールから
sudo apt-get install alsa-utils sox libsox-fmt-all
優先順位の確認と変更
サウンド関連の様々なサンプルは、どうも0番にUSBマイクが繋がっていないと不味いらしい。
ということで、
cat /proc/asound/modules
と入力して、サウンドモジュールの優先順位を確認。
pi@raspi2b:~ $ cat /proc/asound/modules
0 snd_bcm2835
1 snd_usb_audio
snd_usb_audioが1番の場合、設定ファイルを作成します。
sudo vi /etc/modprobe.d/alsa-base.conf
記載内容は以下のとおり。書いてセーブしたら再起動
options snd_usb_audio index=0
options snd_bcm2835 index=1
options snd slots=snd-usb-audio,snd-bcm2835
再度確認。
pi@raspi2b:~ $ cat /proc/asound/modules
0 snd_usb_audio
1 snd_bcm2835
0になってますね。優先順位の変更終了。
マイクの確認
arecord -l
先のとおり、0番になっていればオッケーです。
pi@raspi2b:~ $ arecord -l
**** ハードウェアデバイス CAPTURE のリスト ****
カード 0: Device [USB Audio Device], デバイス 0: USB Audio [USB Audio]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
サウンドの確認
aplay -l
サウンド再生は1番
pi@raspi2b:~ $ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: Device [USB Audio Device], デバイス 0: USB Audio [USB Audio]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 1: ALSA [bcm2835 ALSA], デバイス 0: bcm2835 ALSA [bcm2835 ALSA]
サブデバイス: 8/8
サブデバイス #0: subdevice #0
サブデバイス #1: subdevice #1
サブデバイス #2: subdevice #2
サブデバイス #3: subdevice #3
サブデバイス #4: subdevice #4
サブデバイス #5: subdevice #5
サブデバイス #6: subdevice #6
サブデバイス #7: subdevice #7
カード 1: ALSA [bcm2835 ALSA], デバイス 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
サウンドカードのオマジナイが記載されているファイルを編集する。
sudo cp -p ~/.asoundrc ~/.asoundrc.bak
sudo vi ~/.asoundrc
中身はこんな感じ。
defaluts.pcm.card 1
defaults.ctl.card 0
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 0
}
Raspberry Pi の基板のアナログ出力に振り向ける設定
sudo amixer cset numid=3 1
動作試験
マイクの録音レベルの設定。最大値は62
amixer sset Mic 62 -c 0
録音テスト
arecord -D plughw:0,0 -f cd aaa.wav
『マイク音量大丈夫?、チェック、1、2、よし!』 Ctrl+C
aplay -D plughw:1,0 aaa.wav
霧島風に再生できたら完成です。
Raspberryの録音・再生ゲインの設定は以下のコマンドでできる。
alsamixer
以上、よくわからないトコロが多いですがこの手順を保存しときまっす。