タグ
#OpenAI
OpenAIに関する記事を公開しています。
OpenAI Realtime API に映像を流せないので 1fps の静止画で代用した
OpenAI の Realtime API には映像ストリームの入力がなく、音声実況 AI が 21 秒前の絵に反応していました。画像を「返事を求めない文脈」として 1fps で積み、「今切り替えるべき出来事か」だけを軽量な視覚言語モデルに一問で聞く設計に変えると、判定の中央値 1.7〜1.9 秒で手の動きを正しく棄却し、手元の実物の名前も当てました。検出 0.25 + 判定 1.7 + 発話 0.8〜1.9 秒の合計が人の動作と同じオーダーという限界と、次の一手まで含めた記録です。
OpenAI Realtime API の unknown_parameter で設定が全部消える
OpenAI の Realtime API で日本語のキャラクターを動かしていたら、設定に一行足しただけで英語の素のアシスタント(Hey there! What would you like to talk about)が出てきました。ベータ時代の名前 max_response_output_tokens が unknown_parameter となり、session.update が丸ごと拒否されて指示・声・VAD・転写言語がすべて初期状態に落ちていたのが原因です。session.updated を待ってから開始する、エラーは永続ログへ書く、計測にビルド SHA を記録する、という再発防止の記録です。
無言なのに AI が誰かと会話している原因は自分の残響だった
スピーカー運用の無言テストで、音声 AI が「なよぎら。」「そばランチ。」といった転写に返事をし、自分が言った単語が入力転写に現れていました。マイクの RMS は 0.001〜0.005 で静寂なのに、Web Audio API の自前再生はブラウザのエコーキャンセルの基準信号になりにくく、残留がサーバーの VAD に拾われて転写の幻聴と連鎖していました。ノイズゲートも VAD も「AI の声も声」なので効かず、再生と収音を WebRTC に預けて解決した記録です。
OpenAI Realtime API の response.cancel が効かない原因
OpenAI の Realtime API で発話を打ち切ろうと response.cancel を送ると response_cancel_not_active が返り、スピーカーからは前の話題が流れ続けました。モデルは 12 秒分の発話を約 2 秒で生成し終えていて、止めたかったのは生成ではなく再生でした。新しい応答が再生待ち行列の後ろに積まれて実況が一つ遅れる現象と、音が出る前の応答を打ち切ると出力ゼロの応答が連鎖する現象を、生成・送出・再生の 3 状態に分けて直した記録です。