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関数 (スクリプト関数)
引数に指定した配列を結合し文字列を返します。
SETCLEAR関数 (スクリプト関数)
配列のすべての要素を任意の値で埋めます。
SHIFTARRAY関数 (スクリプト関数)
配列を指定した値だけシフトします。プラス値で後方、マイナス値で前方にシフトします。
連想配列
連想配列とは、自動的に割り当てられる数字をキーとして持つかわりに、自由に任意の文字列を割り振ることができる配列のことです。添え字に番号の変わりに名前をつけることでわかりやすく管理することができます。
divisors関数 (自作関数)
引数に指定した数値の約数のリストを返します。
LENGTH関数 (スクリプト関数)
POPUPMENU関数 (スクリプト関数)
ポップアップメニューを表示し、引数に指定した配列の中から選択された項目の要素番号を取得します。選択された項目を取得したい場合は、POPUPMENUの戻値を引数に指定した配列の要素番号として指定します。