Raspberry Piを使っての音声認識

Raspberry Piを使って音声認識をしている記事を見かけたので、どの程度 認識できるかを試してみた

試してみたのは
 ①google音声認識APIによる音声認識  こちらは、一旦録音したものをflacに変換してから実験。
 ②AmiVoiceRerberyPi   インターフェース(CQ出版)の2013年12月号で紹介されている音声認識用のサーバーに接続するもの。
 ③Juliusのディクテーションキット4.2.3
の3つ。 googleの認識結果には、よい印象を得た。



以下の「google音声認識APIによるRaspberryPIでの音声認識」をまねた実験結果:

pi@raspberrypi ~ $ ruby gvoicerecog.rb

(1)トライ1
[{"utterance":"このみちをまっすぐにいくと渋谷に行きますか","confidence":0.53508818},
{"utterance":"このみちをまっすぐにいくと 渋谷に行きますか"},
{"utterance":"このみちをまっすぐ行 くと渋谷に行きますか"},
{"utterance":"好み道をまっすぐにいくと渋谷に行きますか"},
{"utterance":"好み道をまっすぐにいくと 渋谷に行きますか"},
{"utterance":"好み道をまっすぐ行くと渋谷に行きますか"}]}

(2)トライ2
[{"utterance":"こちらお願いします","confidence":0.68475747},
{"utterance":"こちらをお願いします"},
{"utterance":"こちら お願いします"},
{"utterance":"こちらはお願いします"},
{"utterance":"こちらおねがいします"},
{"utterance":"こちらわお願いします"}]}

(3)トライ3
[{"utterance":"この期間は arm コンピューターです","confidence":0.50521511},
{"utterance":"この期間は armコンピューターです"},
{"utterance":"この期間は アームコンピューターです"},
{"utterance":"この期間は アーム コンピューターです"},
{"utterance":"この期間は アラームコンピューターです"}]}

応答に時間がかかるのが難点だが、結果はいい印象を得た。(1)と(2)は正解。(3)は「この基板は(PI基板のこと)はARMコンピューターです。」が正解だが、「こ の基板」という言い方が世間ではレアなので おそらく言語モデルではじかれて(スコアーが小さく) ありがちな「この期間」に置き換わってしまったので あろう。


次に、インターフェース(CQ出版)の2013年12月号で紹介されているAmiVoiceRerberyPi(サーバーを使うもの)でUSBマイクから発話して実験してみた。

pi@raspberrypi ~/AmiVoiceRPi/AmiVoiceRPi/samples/dictation $ make test

注意:Makefileの中のterminalIDと passwordを記事の中で書かれたもに書き換えないとサーバーとは通信できない。1回に3文章までしか認識しないようだ。



(1)トライ1
        この:0.92:2980:3380:この
        道:0.99:3380:3670:みち
        を:0.74:3670:3740:お
        まっすぐ:0.82:3740:4380:まっすぐ 真っ直ぐ:0.07:3740:4290:まっすぐ
        行く:1.00:4380:4560:いく
        と:0.93:4560:4720:と
        渋谷:0.73:4720:5130:しぶや シビア:0.42:4720:5110:しびあ
        に:0.98:5130:5260:に
        行き:0.80:5260:5480:いき いき:0.31:5260:5470:いき いきま:0.00:5260:5610:いきま きま:0.00:5330:5610:きま 行きます:0.00:5260:5720:いきます
        ますか:0.94:5480:6000:ますか ます:0.08:5480:5720:ます きます:0.02:5330:5720:きます す:0.00:5620:5720:す すか:0.00:5620:6030:すか
        ?:0.55:6000:6040:_ ?:0.55:6000:6040:_ か:0.10:5730:6030:か 。:0.02:5960:5990:_


(2)トライ2
        こちら:0.97:15460:16000:こちら
        を:1.00:16000:16060:お
        ください:0.92:16060:16620:ください 下さい:0.14:16060:16690:ください くださ:0.00:16060:16510:くださ
        。:0.70:16620:16660:_ い:0.00:16520:16690:い と:0.00:16580:16690:と


(3)トライ3
        この:0.98:13310:13600:この
        期間:0.77:13600:14010:きかん 基盤:0.10:13600:14000:きばん 基板:0.07:13600:14000:きばん 機関:0.06:13600:14000:きかん 北:0.04:13600:13940:きた 牙:0.03:13600:13940:きば キバ:0.03:13600:13940:きば 気団:0.02:13600:14000:きだん
        は:1.00:14010:14310:わ
        無:1.00:14310:14450:む
        コンピューター:0.94:14450:15270:こんぴゅーたー コンピュータ:0.06:14450:15260:こんぴゅーた
        です:0.99:15270:15540:です で:0.02:15270:15410:で


結果は、まあまあの出来だ。googleの方が見栄えがよい。 


Juliusは、はじめ 誤動作しているのか?と勘違いしてしまった。上記の2つに比べてしまうと 少し見劣りした印象だ。




参考になる資料





警告
PI基板をつかって接続する場合は、電気的なことをよく理解した上でお 使いください。そうしないと、PI基板と接続した相手などを破壊する危険があります。

免責
(1)使用により、使用者に損失が生じたとしても、その責任 を負いません。
(2)プログラムやデータにバグや欠陥があったとしても、修正や改良の義務を負い ません。