sample\iron\sample_sapi.hsp » Plain Format
;============================================================
; sample_sapi.hsp — hspsapi.dll Windows SAPI 5 認識デモ
;
; Windows 標準の Microsoft Speech API 5 で WAV ファイルを
; 文字起こしする。追加 DL 不要 (sapi.dll は OS 同梱)。
;
; 前提:
; 1. 認識したい言語を Windows の音声認識に入れておく
; 設定 → 時刻と言語 → 音声認識
; 英語 (en-US) は Win10 以降デフォルトで入ってる
; 日本語 (ja-JP) は Speech Pack を別途インストール
; 2. 16kHz mono の WAV を用意 (他のレートでも動くが推奨)
;
; 注意:
; - 品質は whisper.cpp / Vosk より低いが、速い & 追加 DL 不要
; - ライブマイク入力は未対応 (WAV のみ、live は WinRT or Vosk で)
;============================================================
#include "hsp3_net_64.as"
#include "hspsapi.as"
title "hspsapi demo"
screen 0, 720, 460
font "MS Gothic", 14
lang = "" ; "" = システム既定、"ja-JP" / "en-US" を明示も可
wav_path = "voice.wav"
mes "hspsapi demo — Windows SAPI 5"
mes "language : " + lang + " (空欄 = システム既定)"
mes "wav : " + wav_path
mes ""
;------- 1. recognizer 起動 -------
h = hspsapi_open(lang)
if h < 0 {
color 255, 0, 0
mes "SAPI の初期化に失敗しました (code=" + h + ")"
mes ""
color 0, 0, 0
mes "確認事項:"
mes " - Windows の音声認識言語がインストールされているか"
mes " - sapi.dll が OS に存在するか (通常は System32)"
stop
}
color 0, 128, 0
mes "[OK] SAPI open handle=" + h
color 0, 0, 0
;------- 2. 文字起こし -------
exist wav_path
if strsize < 0 {
color 255, 0, 0
mes ""
mes "voice.wav が見つかりません。"
mes "このスクリプトと同じフォルダに 16kHz mono の WAV を置いてください。"
hspsapi_close h
stop
}
sdim text, 65536
hspsapi_transcribe_wav h, wav_path, text, 65535
ret = stat
mes ""
if ret <= 0 {
color 255, 0, 0
mes "認識に失敗または結果が空です (code=" + ret + ")"
color 0, 0, 0
} else {
color 0, 0, 192
mes "----- 認識結果 -----"
color 0, 0, 0
mes text
}
hspsapi_close h
stop