RaspberryPI3B+Alexa+Snowboy+コンデンサマイクでAlexaが快適に反応してくれる?!(りたーんず)
以前までは「RaspberryPI3B+Alexa+Snowboy」でウェイクアップワードの「感度」、「音量」を変更して、前よりはアレクサが反応してくれるようになりました。
が、しかし・・・
なんだがまだ何度か無視されるし・・・と思えば、指パッチンや俺の咳払いや大きな音に反応するし。(SnowboyのAI感度を1以上にすればそうなるようだ)
結論を言うと、どんなにAI感度やAIマイクゲインを上げても、そもそも「マイクが拾う音量が低けりゃ全然ダメ」なわけですよ。
今のUSBマイクは、たとえOS側でマイクゲインを最大にしても、もともと拾う音量が低いので、これではダメですね。
拾う音量が高いのはどんなマイク?ってことで、マイクについて勉強しましたよ。
マイクには2種類ありまして、「ダイナミックマイク」と「コンデンサマイク」があります。どちらにも適材適所があるようで、
今持ってるUSBマイクはシンプルな構造の「ダイナミックマイク」のようで、この方式のため拾う音量は低いみたい。(どっちかというと騒がしいライブハウスやコンサート向け)
んで、もう片方の「コンデンサマイク」は高感度で音もよく拾うみたいです。(静かなスタジオでいい音を録る時など)
で、クソ安いコンデンサマイクはないものか、RaspberryPIに接続するためにUSBタイプのものはないかと、かなり探したわけです。
そしたら、USBタイプのコンデンサマイクで安いのがなかなかありませんでした。(お金をかけるんだったら、そもそもRaspberryPIでなくAmazonEchoでよくね?ってなるし)
困っていたところ、いいものを見つけました。
マイクの3極ステレオミニプラグ(俗にいうイヤホン/マイクジャック)からUSBへ変換できるものです。実はこれ500円という掘り出しものをパソコンショップをうろついたときに発見&購入しましたぁぁ!
これでUSB対応のコンデンサマイクという呪縛がなくなり、コンデンサマイク選択の幅が増えました。
さらに大手家電販売店をうろついたら、900円以内で襟に付けるタイプのコンデンサマイクを発見&購入ぅぅぅ!!
ここで問題あり!
3極ステレオミニプラグをUSBに変換するUSBドングルが、随分幅広でRaspberryPIの他USBポートを圧迫する問題がありました。
これに対応すべく、以下をダイソー(100均)でゲット!
RaspberryPI、USB延長、USB変換、コンデンサマイクを早速ドッキング!
recコマンドで録音してみたら、最初から拾う音量が大きい!
これはかなり期待が持てるぞ!
誤認識の問題を解消すべく、AI感度を低く設定する必要あり。AI感度0.4、AIマイクゲイン0.4に調整してアレクサを起動!
※起動時のコマンドの引数でAI感度、AIマイクゲインを指定できるのはカスタイマイズしてるからですよ。以下の前回ブログを見てほしいです。
PA_ALSA_PLUGHW=1 ./SampleApp/src/SampleApp -C ./Integration/AlexaClientSDKConfig.json -K ../third-party/snowboy/resources -L DEBUG9 -KITT_AI_SENSITIVITY 0.4 -KITT_AI_AUDIO_GAIN 0.4
マイクに向かってアレクサを呼ぼう!
俺 )「アレクサ!」
アレクサ)プルン!(応答音)
俺 )「明日の天気は?」
アレクサ)「明日の〇〇市の天気は晴れです。予想最高気温は・・・・」
おぉ!いい感じに応答してくれる!
大声出して呼ばなくてもいいし、指パッチンや咳払いで誤反応しない!
コンデンサマイク万歳!!!