RECOSTATE関数

本ページには広告が含まれています。

音声認識を開始・停止します。第2引数以降に単語を登録すると、DICTATE関数ではその単語のみ拾得します。単語登録を行わないと拾得される文字列はかなり精度が悪いので、拾得する単語が決まっている場合は単語登録を行うことをおすすめします。登録する単語が多い場合は配列で指定すると見やすくなります。

構文
  1. void = RECOSTATE( 開始フラグ, 単語登録, 単語登録, … )
引数
開始フラグ (Boolean)必須
TRUE
音声認識開始
FALSE
音声認識停止
単語登録 (String,Array)省略可
認識させたい単語を第2引数以降に記述(配列変数で与える事も可)
戻り値

使い方

登録する単語が多い場合は、テキストファイルを読み込み配列に格納してからRECOSTATE関数の第2引数に指定すると見やすくなります。

以下は行ごとに単語を登録しています。

UWSC
DIM FID = FOPEN("D:\Desktop\単語一覧.txt", F_READ)
DIM array[-1]

FOR i = 1 TO FGET(FID, F_LINECOUNT)
	arrayPush(array, FGET(FID, i))
NEXT

FCLOSE(FID)

RECOSTATE(TRUE, array)

// 音声認識を使った処理

RECOSTATE(FALSE)

プログラム実行例

音声認識でアプリを操作

UWSC
DIM cmd[] = "電卓", "メモ帳", "ペイント",  "最大化", "最小化", "終了"

RECOSTATE(TRUE, cmd)

WHILE TRUE
	FUKIDASI("音声を取得します")
	SELECT DICTATE(TRUE)
		CASE "電卓"
			FUKIDASI("電卓を起動します")
			EXEC("calc.exe")
		CASE "メモ帳"
			FUKIDASI("メモ帳を起動します")
			EXEC("notepad.exe")
		CASE "ペイント"
			FUKIDASI("ペイントを起動します")
			EXEC("mspaint.exe")
		CASE "最大化"
			FUKIDASI("アクティブウィンドウを最大化します")
			CTRLWIN(GETID(GET_ACTIVE_WIN), MAX)
		CASE "最小化"
			FUKIDASI("アクティブウィンドウを最小化します")
			CTRLWIN(GETID(GET_ACTIVE_WIN), MIN)
		CASE "終了"
			BREAK
	SELEND
	SLEEP(0.500)
	FUKIDASI()
WEND

RECOSTATE(FALSE)
使用関数

関連記事

CALCARRAY関数 (スクリプト関数)
配列データを計算します。
GETALLWIN関数 (スクリプト関数)
全ウィンドウのIDを取得します。
GETOLEITEM関数 (スクリプト関数)
コレクションを取得します。
JOIN関数 (スクリプト関数)
配列の中身を区切り文字で結合し、文字列として返します。
QSORT関数 (スクリプト関数)
配列の中身をソートします。
SETCLEAR関数 (スクリプト関数)
配列を指定された値で埋めます。
SHIFTARRAY関数 (スクリプト関数)
配列データをシフトします。
連想配列
連想配列とは、自動的に割り当てられる数字をキーとして持つかわりに、自由に任意の文字列を割り振ることができる配列のことです。添え字に番号の変わりに名前をつけることでわかりやすく管理することができます。
LENGTH関数 (スクリプト関数)
文字数もしくは配列サイズを返します。
POPUPMENU関数 (スクリプト関数)
ポップアップメニューを表示します。