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
400
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チャットボット開発で学んだ Datadog Agent Observability活用術
mkdev10
0
140
dbt in Microsoft Fabric
ryomaru0825
0
250
長期運営で肥大化したExcelマスターデータの解消に向けた移行事例
gree_tech
PRO
0
510
マイナンバーカード本人確認の実装比較(OAuth/OIDC Numa (Immersion) Workshop 2026) / 20260825 numa-12
oidfj
PRO
0
250
1.5時間を無駄にして学んだwsl2におけるaptとsnapの選択と仕組み
yosaka0123
0
440
Kiro WebとCloud Sessions
nagisa53
2
200
Android skills に学ぶ
kokiko
0
180
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
カーネルまで探検して理解するふたつの自動計装
sumiyae
0
310
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
型落ちシンクライアント端末のPoEモジュールを自作したかった話
logica0419
0
440
ブラウザで変わるID連携(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
260
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Facilitating Awesome Meetings
lara
57
7.1k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
480
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
57k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Accessibility Awareness
sabderemane
1
180
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
800
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
Balancing Empowerment & Direction
lara
6
1.2k
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倍 高い ・ご利用は計画的に!
ご清聴ありがとうございました