NSReeds 説明書
(最終更新:2020/12/16)

■初歩的な使用例

  • 単語登録(add)と音声認識の始動(go)
  • 認識結果受け取り(get)と加工(fix)
  • 単語の登録(add)と音声認識の始動(go)

    ●NSNSvl.add(登録するグループ, "単語" (,優先度) )
    ●NSNSvl.go(有効化するグループ@ (,有効化するグループA,...) )
    
    	--グループ1にいくつか単語を登録。
    	NSNSvl.add(1,"リンゴ",100)
    	NSNSvl.add(1,"ミカン",100)
    	NSNSvl.add(1,"バナナ",100)
    	NSNSvl.add(1,"Banana",100)
    	NSNSvl.add(1,"Banana Juice",100)	-->一部の英単語はカタカナ音でも認識される
    	NSNSvl.add(1,"リンゴ,ジュース",100)	-->日本語の文節を明示的に区切る場合は','
    	NSNSvl.add(1,"(宇宙/ソラ)",100)		-->音声入力「ソラ」から"宇宙"が返る
    
    	--グループ1を有効化して認識開始。
    	NSNSvl.go(1)
    
    ※優先度を省略時は100。

    認識結果受け取り(get)

    ●NSN.fix(et( ("連語の連結文字") )
    
    	--str…結果。認識した節同士を"+"で繋げた文字列、未認識なら""(空文字列)が返る。
    	--percent…結果の信頼率%(あまりあてにならない)
    	local str,percent=NSNSvl.get("+")
    
    連結文字列を省略時は、結果の先頭が全角文字なら""、半角文字なら" "と見なす。

    認識の中断

    ●NSNSvl.stop()
    
    音声認識実行中、この関数を呼ばずにメッセージボックスを出すと動作が不安定になる(ウィンドウを操作不能になる)。 check()を用いて自分で無加工の結果を受け取った場合、すぐにstop()を呼ぶこと。 get()/fix()で結果を取得した場合は内部において自動で呼んでいる。

    グループの削除(初期化)

    ●NSNSvl.del(削除するグループ@ (,削除するグループA,...) )
    	--グループ 1〜4,"hoge" の内容を初期化
    	NSNSvl.del(1,2,3,4,"hoge")
    

    コード例

    	--グループ1に単語を登録。
    	NSNSvl.add(1,"リンゴ",100)
    	NSNSvl.add(1,"ミカン",100)
    	NSNSvl.add(1,"バナナ",100)
    
    	--グループ1を有効化して認識開始。
    	local str,ostr,percent=NSNSvl.wait(1)
    	--[[以下の処理のラッパー関数が↑
    		NSNSvl.go(1)
    
    		--認識待ちループ
    		local str,ostr,percent
    		repeat
    			--str…結果。認識した節同士を"+"で繋げた文字列、未認識なら""(空文字列)が返る。
    			--percent…認識の信頼率だが、あまりあてにならない。
    			str,percent=NSNSvl.check()
    
    			--曖昧な発音のゆれを考慮して元に戻す処理。
    			--連結文字列省略時は、
    			-- @全角ならそのまま繋げる
    			-- A半角なら半角スペースで繋げる
    			if(str)then
    				str,ostr=NSNSvl.fix(str,"+")
    			end
    			NSSleep(1)NSDoEvents()
    		until(str)
    
    		--音声認識を休止させる
    		NSNSvl.stop()
    	--]]
    
    	--読み取った語strを表示。
    	alert(
    		str
    		..(ostr and " ←("..ostr..")" or "")
    		.."※信頼度は"..(percent or "??").."%です"
    	)	
    
    

    ガラスグサに戻る