2012年9月5日水曜日

Blender Add-on : Real-time Lipsync Debug

Lipsyncスクリプトをvoxforge.orgの英語辞書を使ってデバッグ&一部変更。
  1. tri-phone + 長音が正しく処理されていなかった不具合を修正
  2. Linuxで相対パスが正しく処理されなかった不具合を修正
  3. ストリームバッファを4096→8192に拡張
  4. 棄却値を尤度から尤度×レベルに変更(音量0.1でも尤度0.9と言う風に感覚的に解り難かったため)

I debugged the lipsync script and change some of the functions with English model from voxforge.org.
  1. Repair the bug that it can't correct the combination of tri-phone with long-voice( : ).
  2. Repair the bug that it can't correct the relative path in Linux.
  3. Extend the stream buffer from 4096 byte to 8192 byte.
  4. Change the thresholds from the plausibility to the plausibility multiplied with the volume( because it was hard to know such cases like that in a sencibility, the plausibility is 0.9 even though the volume is 0.1.) 

英語の辞書について
voxforge.orgの辞書&モデルをダウンロードして、単語辞書にCMU音響モデルのwikiにある単語を追加してテストしていますが、品質がそれほどよく無く、エラーも多いので対応するトライフォンが無いと言うエラーは解消する程度には辞書を充実させる必要があるかもしれません。
尚、voxforge.orgのモデルに添付されている辞書だけでもやはり同様のエラーが出るので、そもそも基本的には音響モデルがメインで辞書は動作させるための最低限のサンプルなのですが、 整合性の点では最初から甘いのでしょう。
また、スペイン語やポルトガル語のような開音節主体の言語は、そのかなりを日本語辞書で賄える筈です。

About English dictionary
I tested with the model and dictionaries from voxforge.org, and added the words from CMU phonemes wiki to that word dictionary. But that quality is not good, and it output many error and warn messages. So it may be necessary to correct the dictionaries as well as to remove the message that the tri-phone does not exist.
Even if we use voxforge.org default dictionary, the same message are output, so its correction is not good from the first, and it should be for working in the least with the English acoustic model.
In the languages with open syllable mainly like Espanol or Portuguese, Japanese language model can cover many.

リップシンクのメインモジュール
古い話なので今一度。オープンソースの音声認識ソフトjuliusのデバイスストリーミング処理のごく一部を改造して、サーバーモード時の出力レコードに音素候補をその尤度値と共にリアルタイム出力するようにしています。
使用には127.0.0.1:10500へのアクセスを許可する必要があります。

The core module
This lipsync core module is the modified julius as open source voice recognize software, its modified part is minimum, and make to output the phonemes list with plausibilities to the record in server mode.
It is necessary to open 127.0.0.1:105000.


Lipsync tool( modified julius and Blender add-on ) http://sites.google.com/site/khuuyjblend/home/blender/script/lipsync
julius ( julius original and Japanese dictionaries ) http://julius.sourceforge.jp/
voxforge.org ( English model ) http://voxforge.org/
CMN phonemes ( wiki ) http://www.speech.cs.cmu.edu/cgi-bin/cmudict