LoginSignup
1
5

More than 5 years have passed since last update.

トラ技 aiスピーカをJuliusで使用するときに音量を調整するには

Last updated at Posted at 2018-03-24

はじめに

トランジスタ技術2018年3月号付録(付録は基板のみ)のaiスピーカを音声認識エンジンJuliusで使用する際、トラ技サイトからダウンロードしたイメージのままだと音量が小さく、MEMSマイクに相当近づかないと認識してくれません。alsamixer で音量調整できるようですが、ステレオのみです。対して、Juliusで使用できるサウンドデバイスは、モノラルのみです。
そこで、モノラルでの音量を調整するために色々と試した結果、うまく音量を調整することができ、MEMSマイクから(数メートル)離れていても音声認識できるようになったので、その方法について記述します。
なお、juliusのインストールや辞書作成、PythonでのLチカについては、他のページを参照してください。
※ Julius でALSA を有効にするには、Julius をコンパイルする際に、あらかじめ ALSA ライブラリをインストールしておく必要があります。

具体的に

下記のとおりに行うことにより、音量を制御することができます。

1..asoundrc の変更

~/.asoundrc の pcm.softvol の定義の下に、下記を追加します。

pcm.plugvol{
    type softvol
    slave.pcm "plughw:1,0"
    control{
        name "Boost Capture plug volume"
        card sndrpisimplecar
    }
    min_db -3.0
    max_db 30.0
}

2.音量の設定

alsamixer を起動して、F6→"1 snd_rpi_simple_card"→F4 するとバーが2本表示されるので、左右キーでplug volume を選択した後、上下キーで録音音量を設定します。
※ 一度、録音を実行しないとalsamixer に表示されないようです。

$ arecord -D plugvol -c1 -r16000 -f S16_LE test.wav 

3. 環境変数の設定

julius 起動時に環境変数 ALSADEV に"plugvol"を設定します。

$ ALSADEV="plugvol"
$ julius -C ../grammar/hmm_mono.jconf -nostrip -input alsa -gram [文法ファイル名] -module

以上で、音量を上げ、うまく音声認識することができるようになりました。
辞書やPythonプログラムの作成は、「julius L チカ」で検索するとヒットします。
このとき注意することは、デリミタを「yomi」ファイルでは'tab'、「voca」ファイルでは'(space)'にするということです。

※ sudo apt-get upgrade を実行すると、録音で使用するデバイス(snd_rpi_simple_card)が見えなくなってしまいました。そこで、トラ技 3月号のP.81 「[ラズベリー・パイの準備⓶]MEMSマイクとの通信」の手順を最後(P.83)まで実行してみると、再度、録音で使用するデバイスが見えるようになりました。

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5