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
インシデント事例と パッケージの全量解析に学ぶ ソフトウェアサプライチェーンの守り方 / supply-chain-attack-defense
flatt_security
0
840
【公開用】AI_Dev_Ex2026_AI_登壇資料
matsuritechnologies
PRO
1
430
ファミコンでPHPを動かす / PHP on the Famicom
tomzoh
2
580
AIが当たり前の組織で エンジニアはどう育つか
nishihira
1
900
JAWS_ICEBERG_BASECAMP
iqbocchi
2
100
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
270
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
3
730
Webアプリ認証の全体像 / The Big Picture of Web App Authentication
kitano_yuichi
1
400
Amazon Quick 入門!
ysuzuki
2
120
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
2
980
Data + AI Summit 2026 イベントレポート: 「AIがビジネスで意思決定するデータ基盤」へ
nek0128
0
300
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
4
2.5k
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
470
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Agile that works and the tools we love
rasmusluckow
331
22k
So, you think you're a good person
axbom
PRO
2
2.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
Scaling GitHub
holman
464
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.7k
GraphQLとの向き合い方2022年版
quramy
50
15k
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倍 高い ・ご利用は計画的に!
ご清聴ありがとうございました