Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHPで作って学ぶリアルタイム音声対話AIとWebSocket入門 by ムナカタ
Search
ムナカタ
July 21, 2026
Technology
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHPで作って学ぶリアルタイム音声対話AIとWebSocket入門 by ムナカタ
https://fortee.jp/phpcon-2026/proposal/dc3b8420-9948-4f31-bcca-e9352e965dc6
ムナカタ
July 21, 2026
Other Decks in Technology
See All in Technology
生成 AI 時代にいま一度「問い合わせ」について考えてみる
kazzpapa3
1
110
CDKで書くECSのベストプラクティス、 改めて考え直す2026 #cdkconf2026
makies
3
910
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
3
730
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
170
「休む」重要さ
smt7174
5
1.4k
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
1
130
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
1
990
AI x 開発生産性を取り巻く予算戦略と投資対効果
i35_267
7
2.7k
人とエージェントが高め合う協業設計
kintotechdev
0
690
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
2
150
41歳でAWSが好きすぎてITエンジニアになったおっさんの話
yama3133
1
720
第67回コンピュータビジョン勉強会CVPR2026読会前編
tsukamotokenji
0
160
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.6k
The untapped power of vector embeddings
frankvandijk
2
1.8k
The Cost Of JavaScript in 2023
addyosmani
55
10k
The Curse of the Amulet
leimatthew05
2
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Site-Speed That Sticks
csswizardry
13
1.3k
The agentic SEO stack - context over prompts
schlessera
0
850
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Prompt Engineering for Job Search
mfonobong
0
380
A Tale of Four Properties
chriscoyier
163
24k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.7k
Docker and Python
trallard
47
4k
Transcript
PHPで作って学ぶ リアルタイム音声対話AIと WebSocket入門 2026/07/20 PHPカンファレンス2026 ムナカタ
自己紹介 名前:ムナカタ 所属:KIYOラーニング株式会社 役割:Webエンジニア / 技術広報 ・教育系のプロダクトの開発をしています ・カンファレンス初登壇 @kata_kata_1478
音声でLLMとやりとりしたい! • テキスト形式でLLMとやりとりする仕組みは、APIの普及で簡 単に作れるようになった • 音声でのやりとりをアプリケーションに組み込むにはどうす るか? 👉 もちろんAPIがあった
OpenAI Realtime APIとは • OpenAIが提供する、リアルタイムに音声を入出力できるAPI • 最新モデル「gpt-realtime-2.1」により、自然で低遅延な Speech-to-Speechの会話を実現できる
リアルタイム音声対話で必要なこと 双方向通信 → 低遅延で自然にリアルな会話を実現したい 発話区間と割り込みの検知 → ユーザーが話し終えたタイミングを判断し、適切なタイミング で応答を開始したい 対話状態の管理 →
「待機中」「聞き取り中」、「発話中」などの状態を管理した い
OpenAI Realtime APIの主要なレスポンスとパラメー タ 発話区間や割り込みを検知すること 返答タイミングの調整や声色の設定などは可能
PHPで音声AIをWebアプリに組み込んでみる • リアルタイムな音声通信にWebSocketを使用。 ◦ 音声や会話データはPHPサーバーで処理 • マイク入力と音声出力は、JavaScriptのブラウザ標準機能を使用
できたもの
通信の流れ
WebSocketとは • ブラウザとサーバーを接続したまま、双方向にデータを送受信できる 通信プロトコル • 接続先には ws://(暗号化なら wss://) • 音声チャットのようにデータを継続的にやり取りする用途に向いている
PHPでWebSocketをどう扱うか • PHP-FPM構成でWebSocketのような長時間接続を多数、効率よく処理す るには、工夫が必要 • 別で常駐プロセスを動かし、1つのプロセスで複数の接続を効率よく処 理できる仕組みを使う。 • PHPでは、ReactPHPやAMPHPなどの非同期ライブラリ、Workermanなどの アプリケーションサーバー/フレームワーク、OpenSwooleなどの拡張
機能が使える
コード LLM側の設定
コード WebSocketへの接続(amphpを使用)
まとめ ・音声対話処理はAPIを使ってシンプルに実装できる ・返答のタイミングや通信制御に工夫が必要 ⚠ 注意 ・音声トークンのコストはチャットに比べて8倍 高い ・ご利用は計画的に!
ご清聴ありがとうございました