音声認識
やること
この教材 では、Jasmine Tea のプログラムで音声を認識し、その内容を処理する方法を学びます。これにより、音声入力を利用したインタラクティブなプログラムを作成できます。
ステップ1
エディターに以下のプログラムを入力してみましょう。
print "音声認識を開始します。何か話してください。"
listen
do
if not listening() then
result$=hear$()
if result$<>"" then
print "認識結果:";result$
else
print "音声が認識されませんでした。"
end if
exit do
end if
loop
ステップ2
エディターの右下にある「▶実行」ボタンを押すと、入力したプログラムが実行されます。実行した後は、画面の右上にある「ドキュメント」タブを押して、ここに戻ってきてください。
では、「▶実行」ボタンを押してください。
ステップ3
実行画面に以下のように表示されたら成功です。
- 「音声認識を開始します。何か話してください。」と表示されます。
- 音声を話すと、その内容が認識されて表示されます。
- 認識されない場合は「音声が認識されませんでした。」と表示されます。
ステップ4
実行したプログラムを解説します。
使っている命令の簡単な紹介
-
print
は指定したテキストを画面に表示する命令です。 -
listen
は音声認識を開始する命令です。 -
listening
は音声認識中かどうかを判定する関数です。 -
hear$
は認識された音声の内容を取得する関数です。 -
exit do
はdo-loop
を終了する命令です。
プログラムで行われていること
-
print
命令で「音声認識を開始します。何か話してください。」と表示します。 -
listen
命令で音声認識を開始します。 -
do-loop
内でlistening
を使用して、音声認識が完了するまで待機します。 -
音声認識が完了したら、
hear$
で認識結果を取得します。 - 認識結果が空でない場合はその内容を表示し、空の場合は「音声が認識されませんでした。」と表示します。
- ループ終了後に「プログラムを終了します。」と表示します。
学ぶべきこと
- 音声認識を開始する方法。
- 音声認識の結果を取得して処理する方法。
チャレンジ
- 認識結果が「こんにちは」だった場合に、「こんにちは!」と表示する処理を追加してみましょう。
- 認識結果をそのまま画面に繰り返し表示するプログラムを作成してみましょう。
- 特定の単語が認識された場合に、画面上に図形やテキストを描画するプログラムを作成してみましょう。