音声認識のテストや Alexa とかのために、サウンド周りの設定やら。

Microphone

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

以上、よくわからないトコロが多いですがこの手順を保存しときまっす。

Pocket

Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt=""> 

required