ラズパイ3で音声入力して認識・合成(1)


現状USBマイクしか現実的な選択肢はないようですね。

こういうのを使ってみました。

ヘッドセット (ELECOMのHS-EP13USV)のマイクのみ使用

 

必要ないかもしれませんが、一応アプリをインストールしておきます。

$sudo apt-get update
$sudo apt-get upgrade
$sudo rpi-update
$sudo apt-get install alsa-base alsa-utils alsa-tools

 

 

 

USBマイクをセットすれば、何もしなくてもデバイスの認識はされるようです。

 

録音に使用できるデバイス一覧の確認

$arecord -l

カード番号とデバイス番号を確認

 

録音する

$arecord -D plughw:<カード番号>,<デバイス番号> test.wav

例えば
$arecord -D plughw:1,0 test.wav

ノイズが入るようなら以下をテスト

$ arecord -D plughw:1,0 -f cd -r 16000 test.wav

or

$arecord -D plughw:1,0 -f cd -r 44100 test.wav

 

 

再生する

$aplay test.wav

 

 

エラーが出る場合

arecord: main:788: audio open error: デバイスもしくはリソースがビジー状態です

$pkill -9 arecord

 


マイクから入力した音をそのままスピーカーから出力

音を飛ばす簡単な方法

入力した音をパイプでスピーカーにスルー

arecord -f S16_LE -r 44100 -D hw:<カード番号> | aplay

例えば

$arecord -f S16_LE -r 44100 -D hw:1 | aplay

 

標準入出力の変更で話が済むのがUNIX系のいいところ?

 

ELECOMのBluetoothモノラルスピーカーに音を飛ばしてみましたが、問題なしでした。

こういう構成だとスピーカーからの出力は若干ですが遅延します、ほんのちょっとですが。

Bluetoothトランスミッターには十分な電力供給が必要です。この図ではUSBから取っていますが

不足する場合は音が出ないことがあります。外部電源からの供給も考慮する必要があります。

この製品のスピーカー側には内蔵バッテリーがあります、充電が十分なら8時間持つそうです。

 


音声認識・合成

JuliusOpenJTalk

あるいは

クラウドサービス

 

 

工事中


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*