LoginSignup
1
2

More than 3 years have passed since last update.

raspberryPiとJulius(音声認識)を使用する。③辞書作成編

Last updated at Posted at 2020-10-06

関連記事

raspberryPiとjulus(音声認識)を使用する。①マイク編
raspberryPiでjulius(音声認識)を使用する。②インストール編
raspberryPiとJulius(音声認識)を使用する。③辞書作成編
raspberryPiとJulius(音声認識)を使用する。④Lチカ編
raspberryPiとJulius(音声認識)を使用する。⑤i2cキャラクタディスプレイ編

辞書ファイルの作成

これがまたすごく大変だった。

単語に読み仮名をつけたファイルの作成(.yomi)

まず辞書ファイルを作成するためのディレクトリを作る。

$ cd julius
$ mkdr dict
$ cd dict

階層はこんな感じ。

~/julius
    |--dict
    |--julius-4.6
          |--julius-kit
                |--dictation-kit-4.5
                |--grammer-kit-4.3.1

ファイルを作成して編集するためにvimコマンドを使う。
vimをインストールする。

$ apt-get install vim
$ vim --version

image.png
読み仮名ファイルを作成する

$ sudo vim test.yomi

右上のキーボードマークをクリックして日本語入力ができるようにする。
image.png
↓↓
image.png

単語→tab→読み仮名(ひらがな)
と下に下に書いていく。単語は漢字でも大丈夫。
余分な空白はエラーになるので入れないよう注意。
最後の単語を入力したら改行はしないこと。最後の一行が空にならないように注意する。
image.png

単語帳ができたら、ctrl+C→ZZでvimエディタを終了する。
vimの使い方はこの記事を参照。
よく使う Vim のコマンドまとめ

読み仮名ファイルをローマ字ファイルにする(.phone)(.dic)

この次のコードにハマった。Julius4.5以降は変換の必要がないらしい。

$ sudo iconv -f utf8 -t eucjp うんたらかんたら

なので次のコードで実行する。

$ perl ~/julius/julius-4.6/gramtools/yomi2voca/yomi2voca.pl test.yomi > ~/julius/dict/test.phone

ターミナルに特に表示されないので、ファイルができていることを確認し表示する。

$ ls
$ sudo vim test.phone

image.png
.yomiファイルがローマ字に変換されていればOKなので、特に弄らず閉じる。

文法ファイルを作成する(.grammar)

$ sudo vim test.grammar

開いたエディタに次のコードを書き込む。単語の数だけ書く。
.phoneファイルのローマ字と一致するように注意する。
例)✕KONNNITIHA 〇KONNICHIWA

S : NS_B TEST NS_E
TEST:ARIGATOU
TEST:KONNICHIWA

構文ファイル1行目のSの部分は、構文定義を示し、NS_Bが文章の開始、NS_Eが文章の終了を表します。2行目以下のTESTの部分は認識させる文字列となっていて、先ほど生成された「音素」ファイル(hello.phone)の読みを大文字にして使います。一部改変し引用

image.png

書き込んだらエディタを終了する。

語彙ファイルを作成する(.voca)

.phoneファイルをコピーして語彙ファイルを作成する。
語彙ファイルを編集する。

$ sudo cp test.phone test.voca
$ sudo vim test.voca

単語毎に形式をそろえて次のコードの形になるように書き加える。
単語とローマ字の間がtabで区切られていて、このまま動いたがスペースにした方がいいらしい。

% ARIGATOU
ありがとう a r i g a t o u
% KONNICHIHA
こんにちは k o N n i ch i w a
% NS_B
[s] silB
% NS_E
[/s] silE

image.png

辞書データに変換する

ディレクトリを移動する。

$ cd julius/julius-4.6/gramtools/mkdfa

移動した先で次のコードを実行する。

$ mkdfa.pl ~/julius/dict/test

成功すると、dictファイル内に「.dfa」「.term」「.dict」ファイルが生成される。
(何故か.dfatmpというファイルが出来上がってしまったので、名前の変更を行った。.tmpのファイルもやたらに作成されているが、良く分からないので放置。)
image.png

辞書を使って音声認識をする

$ cd

次のコードを実行する。

$ julius -C ~/julius/julius-4.6/julius-kit/dictation-kit-4.5/am-gmm.jconf -nostrip -gram ~/julius/dict/test -input mic

image.png
image.png

何を言っても「ありがとう」と「こんにちは」だけをひたすら認識する。できた。

独自辞書の作成完了

次は言葉を認識してLチカ編へ。
raspberryPiとJulius(音声認識)を使用する。④Lチカ編

参考

ラズパイ4日目①:Juliusで独自辞書を作成する
Raspberry PiとJuliusで特定の単語を認識させる
Raspberry Piでjuliusを使って音声認識をする


raspberry piにてjulius4.5を使い音声認識、文字化け
よく使う Vim のコマンドまとめ

1
2
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
2