Miyazawa’s Pukiwiki
Windowsでしりとりシステムを作る
はすでに存在します。
開始行:
#access
#analog
#contents
**バッチファイルを作る [#ccb1416b]
-バッチファイル … Windows におけるシェルスクリプト的なも...
-拡張子は bat
-参考 : [[コマンドプロンプトを使ってみよう!-バッチファ...
***Hello World をやってみる [#cfecb9d7]
-[[ここ:http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%83%E...
-testBatch1.bat
@echo off
cls
echo.
echo Hello World, press any key to start AProgram.exe!
pause > nul
AProgram.exe
echo.
echo AProgram has finished whatever it was doing. Have f...
--cls … ウインドウをクリア
--echo … 文字をディスプレイに表示
--pause > nul … Enterキーを押すまでウェイト
--Aprogram.exe … 同名ファイルを実行(ここでは、まだありま...
-ファイルをダブルクリックするか、コマンドプロンプトでファ...
&ref(http://shower.human.waseda.ac.jp/~m-kouki/images/b...
***テキスト入力 [#t02d24e6]
-[[ここ:http://www.page.sannet.ne.jp/mtoga/etc/dos/bih-g_...
-testBatch2.bat
DIR /W
rem ディレクトリの内容を一覧表示
DIR > TEST.txt
rem ディレクトリの内容を、TEST.txt に書込み
C:\WINDOWS\NOTEPAD.exe TEST.txt
rem ノートパッドを起動して、TEST.txt を表示
DEL TEST.txt
rem TEST.txt を削除
EXIT
rem MS-DOS を終了
--rem 以下の文字列は注釈になります。
-実行するとノードパッドが開き、ノートパッドを終了すると、...
***無限ループ [#dcaf88ae]
-[[.BATリファレンスマニュアル:http://www002.upp.so-net.ne...
-testBatch3.bat
@echo off
cls
echo.
:start
echo Enterキーを押して下さい
pause > nul
if errorlevel 1 goto end
goto start
:end
**Perl の実行環境 [#gd2ca523]
-[[ActivePerl:http://www.forest.impress.co.jp/lib/stdy/pr...
--参考 : [[ActivePerlのインストール方法 - Windows で per...
--Active Perl 5.8.8.822 、 Windows (x86) 、 MSI をダウン...
---X86 : 32ビット環境、 X64 : 64ビット環境 のようです。
--ダウンロードしたファイルをダブルクリックしてインストー...
--インストールが終わったら Windows を再起動。
-確認
--コマンドプロンプトで、
perl -v
**Java の実行環境 [#q74f27ae]
--参考 : [[JavaでHello World アプリケーション編:http://w...
-[[JDK:http://www.javadrive.jp/install/jdk/index1.html]]...
-ユーザ[[環境変数:http://www.microsoft.com/technet/prodte...
| 変数 | 値 |
| JAVA_HOME | (JDKフォルダのパス) |
| PATH | %JAVA_HOME%\bin |
| CLASSPATH | .;%JAVA_HOME%\lib\tools.jar |
-確認
--コマンドプロンプトで、
javac
**Julian 孤立単語認識を実行してみる [#xc455f9f]
-[[JuliusとJulian/インストール(Windows):http://shower.hum...
--基本セット(バイナリ)、ディクテーション実行キット、Jul...
--認識精度を上げたい場合は、[[JuliusとJulian/日本語話し言...
-[[JuliusとJulian/孤立単語認識:http://shower.human.waseda...
***辞書ファイルを作る [#v8210fe0]
-とりあえず、以下のようなファイルを用意しました(詳細は j...
--siritori.txt
#
# 第1フィールド:単語表記
# 第2フィールド:よみ (ひらがな,もしくはスペースで区切...
#
しりとり しりとり
りんご りんご
ごりら ごりら
らっぱ らっぱ
ぱいなっぷる ぱいなっぷる
るびー るびい
いるか いるか
かめ かめ
めだか めだか
かも かも
もぐら もぐら
---文字コード問題が未解決のため、EUCで書かれた[[これ:http...
---Windows 環境で EUC のテキストを編集したい場合は、[[サ...
-認識辞書に変換しておきます。
--siritori.txt を julian-isoword-kit-v2.0 フォルダにおき...
perl make_dict.pl siritori.txt > siritori.dict
-ついでに、jconf.julian の単語辞書の設定を「 -v siritori....
-実行してみましょう。
bin\julian -C jconf.julian
**音声合成を実行してみる [#vdc5f468]
-%%[[Fine Speech:http://www.animo.co.jp/products/tts/fs/i...
-Visual Basic にてこずっているので、とりあえず、フリーの...
--perl から呼び出し可能
--音声合成エンジンには、[[AquesTalk:http://www.a-quest.co...
-[[ここ:http://quickware.a-quest.com/cmdtalk/about.htm]]...
-合成を試す
--[[ログオン時に今日の日付をしゃべらせる:http://blog-yama...
--talk.pl
#!/usr/local/bin/perl
# CmdTalkで今日の日付を読ませる
my $cmdtalk = 'CmdTalk.exe'; # CmdTalk.exeの置かれている...
# システムから現在の日付を取得
($sec, $min, $hour, $day, $mon, $year, $wday, $yday, $is...
# コマンドトーク用の音声記号列を生成
my $koe =
sprintf("きょ'ーわ、<NUMK VAL=%d COUNTER=がつ>;<NUMK VAL...
# コマンドトークを起動
`$cmdtalk "$koe"`;
---ファイルをダブルクリックか、コマンドプロンプトでファイ...
---アクセント位置は「'」記号で指定します。指定しなくても...
---表記法は、[[AquesTalk 音声記号列仕様:http://www.a-ques...
**しりとりシステムを作る [#pba489b2]
-ここまでの内容をまとめて、ひとつのシステムにします。
--ファイルの階層構造は以下のようになっているとして、説明...
&ref(http://shower.human.waseda.ac.jp/~m-kouki/images/sir...
-録音用Javaプログラムを作ります。
--Juliusのマイク入力をバッチで中断・再開する方法が分から...
---[[音声入力全般について:http://julius.sourceforge.jp/in...
---[[マイク入力について:http://julius.sourceforge.jp/inde...
---[[モジュールモードについて:http://julius.sourceforge.j...
---[[julian.exe 実行時にファイル名を指定する:http://juliu...
--まずは、[[Java の実行環境を導入:http://shower.human.was...
--[[Java で HelloWorld サウンド編:http://www.hellohiro.co...
---mainメソッド内の録音パラメータだけ、Julian用の以下の設...
// 16.0 kHz, 16 bit, モノラルの設定でオーディオ形式を生...
AudioFormat audioFormat = new AudioFormat(AudioFormat.En...
16000.0F,
16,
1,
2,
16000.0F,
false);
---[[録音パラメータの参考:http://www.noisyspot.jp/multi_w...
---[[Julian 音声ファイルの仕様:http://julius.sourceforge....
--コンパイル
javac HelloWorldRecorder.java
java HelloWorldRecorder
-julian-isoword-kit-v2.0 フォルダの jconf.julian 内のパラ...
-しりとり加工ファイルを作ります。
--ユーザの入力に対して、システムの応答処理を記述したプロ...
--大橋君の作ってくれた(一部プログラムを加えてあります)...
---[[参考:Javaの文字コード指定:http://java-house.jp/ml/a...
--コンパイル
javac Search.java
-バッチファイルを作ります。
--siritori.bat → [[ダウンロード:http://shower.human.wased...
@echo off
cls
echo.
rem 無限ループ開始
:start
echo 入力待ち...
java HelloWorldRecorder
echo hello.wav |
julian-kit-v3.0-win\bin\julian -C julian-isoword-kit-v...
rem ↑ここは実際には、改行しないでください。
java Search
answer.pl
if errorlevel 1 goto end
goto start
:end
--バッチファイルを実行してください。システムとしりとりが...
**問題点 [#z4392fe2]
-フリーの音声合成ソフトを使っているため、合成音のピッチ・...
-Julianの操作が良く分かっていないため、外部の録音プログラ...
-文字化け問題が未解決。そのため、ユーザの音声の認識結果の...
--EUC テキスト行末の改行コードに、 UNIX のものと LINUX の...
--Cygwin の nkf コマンドを使えば、うまくいくようです。
--Cygwin の インストール方法と、nkf コマンドの実行方法は...
---[[ここ:http://sohda.net/cygwin/setup.html]] などを参考...
---インストールが無事にすんでいれば、コマンドプロンプトか...
---上記ファイルを C:\Documents and Settings\ユーザ名 以下...
nkf -e test_nkf.txt > test_nkf_euc.txt
---これで、EUC のファイル test_nkf_euc.txt ができました。
--20090212 juliusではオプションで対処可能。
% ~~/julius -C fast.jconf -charconv euc sjis
---julianでもうまくいくかどうかは未確認です。
終了行:
#access
#analog
#contents
**バッチファイルを作る [#ccb1416b]
-バッチファイル … Windows におけるシェルスクリプト的なも...
-拡張子は bat
-参考 : [[コマンドプロンプトを使ってみよう!-バッチファ...
***Hello World をやってみる [#cfecb9d7]
-[[ここ:http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%83%E...
-testBatch1.bat
@echo off
cls
echo.
echo Hello World, press any key to start AProgram.exe!
pause > nul
AProgram.exe
echo.
echo AProgram has finished whatever it was doing. Have f...
--cls … ウインドウをクリア
--echo … 文字をディスプレイに表示
--pause > nul … Enterキーを押すまでウェイト
--Aprogram.exe … 同名ファイルを実行(ここでは、まだありま...
-ファイルをダブルクリックするか、コマンドプロンプトでファ...
&ref(http://shower.human.waseda.ac.jp/~m-kouki/images/b...
***テキスト入力 [#t02d24e6]
-[[ここ:http://www.page.sannet.ne.jp/mtoga/etc/dos/bih-g_...
-testBatch2.bat
DIR /W
rem ディレクトリの内容を一覧表示
DIR > TEST.txt
rem ディレクトリの内容を、TEST.txt に書込み
C:\WINDOWS\NOTEPAD.exe TEST.txt
rem ノートパッドを起動して、TEST.txt を表示
DEL TEST.txt
rem TEST.txt を削除
EXIT
rem MS-DOS を終了
--rem 以下の文字列は注釈になります。
-実行するとノードパッドが開き、ノートパッドを終了すると、...
***無限ループ [#dcaf88ae]
-[[.BATリファレンスマニュアル:http://www002.upp.so-net.ne...
-testBatch3.bat
@echo off
cls
echo.
:start
echo Enterキーを押して下さい
pause > nul
if errorlevel 1 goto end
goto start
:end
**Perl の実行環境 [#gd2ca523]
-[[ActivePerl:http://www.forest.impress.co.jp/lib/stdy/pr...
--参考 : [[ActivePerlのインストール方法 - Windows で per...
--Active Perl 5.8.8.822 、 Windows (x86) 、 MSI をダウン...
---X86 : 32ビット環境、 X64 : 64ビット環境 のようです。
--ダウンロードしたファイルをダブルクリックしてインストー...
--インストールが終わったら Windows を再起動。
-確認
--コマンドプロンプトで、
perl -v
**Java の実行環境 [#q74f27ae]
--参考 : [[JavaでHello World アプリケーション編:http://w...
-[[JDK:http://www.javadrive.jp/install/jdk/index1.html]]...
-ユーザ[[環境変数:http://www.microsoft.com/technet/prodte...
| 変数 | 値 |
| JAVA_HOME | (JDKフォルダのパス) |
| PATH | %JAVA_HOME%\bin |
| CLASSPATH | .;%JAVA_HOME%\lib\tools.jar |
-確認
--コマンドプロンプトで、
javac
**Julian 孤立単語認識を実行してみる [#xc455f9f]
-[[JuliusとJulian/インストール(Windows):http://shower.hum...
--基本セット(バイナリ)、ディクテーション実行キット、Jul...
--認識精度を上げたい場合は、[[JuliusとJulian/日本語話し言...
-[[JuliusとJulian/孤立単語認識:http://shower.human.waseda...
***辞書ファイルを作る [#v8210fe0]
-とりあえず、以下のようなファイルを用意しました(詳細は j...
--siritori.txt
#
# 第1フィールド:単語表記
# 第2フィールド:よみ (ひらがな,もしくはスペースで区切...
#
しりとり しりとり
りんご りんご
ごりら ごりら
らっぱ らっぱ
ぱいなっぷる ぱいなっぷる
るびー るびい
いるか いるか
かめ かめ
めだか めだか
かも かも
もぐら もぐら
---文字コード問題が未解決のため、EUCで書かれた[[これ:http...
---Windows 環境で EUC のテキストを編集したい場合は、[[サ...
-認識辞書に変換しておきます。
--siritori.txt を julian-isoword-kit-v2.0 フォルダにおき...
perl make_dict.pl siritori.txt > siritori.dict
-ついでに、jconf.julian の単語辞書の設定を「 -v siritori....
-実行してみましょう。
bin\julian -C jconf.julian
**音声合成を実行してみる [#vdc5f468]
-%%[[Fine Speech:http://www.animo.co.jp/products/tts/fs/i...
-Visual Basic にてこずっているので、とりあえず、フリーの...
--perl から呼び出し可能
--音声合成エンジンには、[[AquesTalk:http://www.a-quest.co...
-[[ここ:http://quickware.a-quest.com/cmdtalk/about.htm]]...
-合成を試す
--[[ログオン時に今日の日付をしゃべらせる:http://blog-yama...
--talk.pl
#!/usr/local/bin/perl
# CmdTalkで今日の日付を読ませる
my $cmdtalk = 'CmdTalk.exe'; # CmdTalk.exeの置かれている...
# システムから現在の日付を取得
($sec, $min, $hour, $day, $mon, $year, $wday, $yday, $is...
# コマンドトーク用の音声記号列を生成
my $koe =
sprintf("きょ'ーわ、<NUMK VAL=%d COUNTER=がつ>;<NUMK VAL...
# コマンドトークを起動
`$cmdtalk "$koe"`;
---ファイルをダブルクリックか、コマンドプロンプトでファイ...
---アクセント位置は「'」記号で指定します。指定しなくても...
---表記法は、[[AquesTalk 音声記号列仕様:http://www.a-ques...
**しりとりシステムを作る [#pba489b2]
-ここまでの内容をまとめて、ひとつのシステムにします。
--ファイルの階層構造は以下のようになっているとして、説明...
&ref(http://shower.human.waseda.ac.jp/~m-kouki/images/sir...
-録音用Javaプログラムを作ります。
--Juliusのマイク入力をバッチで中断・再開する方法が分から...
---[[音声入力全般について:http://julius.sourceforge.jp/in...
---[[マイク入力について:http://julius.sourceforge.jp/inde...
---[[モジュールモードについて:http://julius.sourceforge.j...
---[[julian.exe 実行時にファイル名を指定する:http://juliu...
--まずは、[[Java の実行環境を導入:http://shower.human.was...
--[[Java で HelloWorld サウンド編:http://www.hellohiro.co...
---mainメソッド内の録音パラメータだけ、Julian用の以下の設...
// 16.0 kHz, 16 bit, モノラルの設定でオーディオ形式を生...
AudioFormat audioFormat = new AudioFormat(AudioFormat.En...
16000.0F,
16,
1,
2,
16000.0F,
false);
---[[録音パラメータの参考:http://www.noisyspot.jp/multi_w...
---[[Julian 音声ファイルの仕様:http://julius.sourceforge....
--コンパイル
javac HelloWorldRecorder.java
java HelloWorldRecorder
-julian-isoword-kit-v2.0 フォルダの jconf.julian 内のパラ...
-しりとり加工ファイルを作ります。
--ユーザの入力に対して、システムの応答処理を記述したプロ...
--大橋君の作ってくれた(一部プログラムを加えてあります)...
---[[参考:Javaの文字コード指定:http://java-house.jp/ml/a...
--コンパイル
javac Search.java
-バッチファイルを作ります。
--siritori.bat → [[ダウンロード:http://shower.human.wased...
@echo off
cls
echo.
rem 無限ループ開始
:start
echo 入力待ち...
java HelloWorldRecorder
echo hello.wav |
julian-kit-v3.0-win\bin\julian -C julian-isoword-kit-v...
rem ↑ここは実際には、改行しないでください。
java Search
answer.pl
if errorlevel 1 goto end
goto start
:end
--バッチファイルを実行してください。システムとしりとりが...
**問題点 [#z4392fe2]
-フリーの音声合成ソフトを使っているため、合成音のピッチ・...
-Julianの操作が良く分かっていないため、外部の録音プログラ...
-文字化け問題が未解決。そのため、ユーザの音声の認識結果の...
--EUC テキスト行末の改行コードに、 UNIX のものと LINUX の...
--Cygwin の nkf コマンドを使えば、うまくいくようです。
--Cygwin の インストール方法と、nkf コマンドの実行方法は...
---[[ここ:http://sohda.net/cygwin/setup.html]] などを参考...
---インストールが無事にすんでいれば、コマンドプロンプトか...
---上記ファイルを C:\Documents and Settings\ユーザ名 以下...
nkf -e test_nkf.txt > test_nkf_euc.txt
---これで、EUC のファイル test_nkf_euc.txt ができました。
--20090212 juliusではオプションで対処可能。
% ~~/julius -C fast.jconf -charconv euc sjis
---julianでもうまくいくかどうかは未確認です。
ページ名:
既存のページ名で編集する