音声入力設定
概要
音声入力設定では、マイクの音声をテキストへ変換する方法と、発話の開始・終了を判定する動作を設定できます。次の3つのモードから選択できます。
- ブラウザ標準: ブラウザのWeb Speech APIで、発話中に文字起こしします。
- OpenAI 録音後文字起こし: 録音を終了してから音声をOpenAIの文字起こしAPIへ送信します。
- OpenAI 発話中文字起こし:
gpt-live-transcribeへWebRTCで接続し、発話中に部分的な文字起こし結果を表示します。
OpenAI 発話中文字起こしについて
このモードは音声入力をテキストへ変換するための機能です。AIの回答生成や音声合成(TTS)は、AI設定・音声設定で選択した既存の処理が使われます。音声から回答音声までをOpenAI Realtime APIで処理する「リアルタイムAPIモード」とは別の機能です。
環境変数:
# 音声認識モード(browser, whisper, live-transcription)
NEXT_PUBLIC_SPEECH_RECOGNITION_MODE=browser
# 音声認識タイムアウト(秒)
NEXT_PUBLIC_INITIAL_SPEECH_TIMEOUT=5.0
# 無音検出タイムアウト(秒)
NEXT_PUBLIC_NO_SPEECH_TIMEOUT=2.0
# 無音プログレスバー表示(true/false)
NEXT_PUBLIC_SHOW_SILENCE_PROGRESS_BAR=true
# 常時マイク入力モード(true/false)
NEXT_PUBLIC_CONTINUOUS_MIC_LISTENING_MODE=false
# OpenAI APIキー(OpenAI文字起こし用)
NEXT_PUBLIC_OPENAI_KEY=
# 録音後文字起こしで使用するモデル
NEXT_PUBLIC_WHISPER_TRANSCRIPTION_MODEL=gpt-transcribeマイク入力の方法
マイク入力には以下の方法があります。
キーボードショートカットを使用する方法
- Alt(Macの場合はOption)キーを押している間、音声入力を受け付けます。
- 話し終わったらキーを離すとリクエストが送信されます。
マイクボタンを使用する方法
- 画面下部のマイクボタンをクリックして音声入力を開始します。
- 話し終わったら再度ボタンをクリックしてリクエストを送信します。
- 無音検出タイムアウトを0秒より大きくすると、設定時間の無音後に自動送信できます。
音声認識モード
ブラウザ標準
ブラウザ内蔵のWeb Speech APIを使用します。発話中に認識結果が表示され、OpenAI APIキーは不要です。精度、対応言語、利用可否はブラウザやOSによって異なります。
OpenAI 録音後文字起こし
録音を終了した後、音声データをOpenAIの文字起こしAPIへ送信します。OpenAI APIキーとモデルの選択が必要です。発話中の途中結果は表示されません。
OpenAI 発話中文字起こし
OpenAIの gpt-live-transcribeを使用します。マイクボタンを押すと短期クライアントシークレットを取得してWebRTC接続を開始し、接続後は発話中の文字起こし結果が入力欄へ順次表示されます。
接続確立には通信環境に応じた待ち時間があります。文字起こしは接続完了後に始まるため、マイクボタンが有効状態になってから話し始めてください。モデルは gpt-live-transcribeに固定され、設定画面でのモデル選択はありません。
注意
Realtime APIモードまたはオーディオモードの利用中は、音声認識モードがブラウザ標準に固定されます。
発話終了の設定
次の設定は、ブラウザ標準とOpenAI 発話中文字起こしで使用します。
音声認識タイムアウト
音声認識開始後、最初の発話が検出されるまでの待機時間を設定します。この時間内に発話が検出されない場合、音声認識は自動的に停止します。0秒に設定すると待機時間は無制限になります。
スライダーを使用して0〜60秒の範囲で調整できます。
無音検出タイムアウト
音声入力中に無音を検出した場合、自動的に音声認識を完了して送信するまでの時間を設定します。0秒に設定すると無音による自動終了は行われず、マイクボタンを再度押して送信します。
スライダーを使用して0〜10秒の範囲で調整できます。
無音プログレスバー表示
音声入力中に無音が検出された場合のプログレスバー表示を設定します。有効にすると、無音タイムアウトまでの残り時間が表示されます。
常時マイク入力
この設定はブラウザ標準でのみ使用できます。AIの発話が終了したタイミングで自動的にマイク入力を再開し、設定された無音時間の経過後に送信します。
音声が認識されないまま音声認識タイムアウトを超えると、常時マイク入力は自動的にOFFになります。常に待機させる場合は、音声認識タイムアウトを0秒に設定してください。
注意
Realtime APIモードでは、音声認識タイムアウト、無音検出タイムアウト、無音プログレスバー表示、常時マイク入力の設定は無効になります。
OpenAI APIの設定
OpenAI 録音後文字起こしまたはOpenAI 発話中文字起こしを選択した場合、OpenAI APIキーが必要です。APIキーはOpenAIのダッシュボードから取得できます。
録音後文字起こしのモデル選択
モデル選択はOpenAI 録音後文字起こしでのみ表示されます。以下のモデルを選択できます。
- gpt-transcribe: 新しい文字起こし設定で推奨されるデフォルトモデル
- whisper-1: 単語単位のタイムスタンプ、SRT/VTT字幕、英語への音声翻訳などが必要な場合に使用するモデル
- gpt-4o-transcribe: GPT-4oベースの既存文字起こしモデル
- gpt-4o-transcribe-diarize: 話者識別に対応するモデル
- gpt-4o-mini-transcribe: GPT-4o miniベースの既存文字起こしモデル
- gpt-4o-mini-transcribe-2025-12-15:
gpt-4o-mini-transcribeの固定スナップショット
精度、速度、機能、料金はモデルによって異なります。通常は gpt-transcribeから始め、字幕、タイムスタンプ、翻訳、話者識別など特定の機能が必要な場合だけ別のモデルを選択してください。
注意点
- ブラウザ標準の音声認識は、使用するブラウザやOSによって精度や対応言語が異なります。
- OpenAI APIを使用するモードでは、API利用料金が発生します。
- OpenAI 発話中文字起こしには、マイク利用が可能なHTTPS環境またはlocalhostが必要です。
