---
title: Stack Chan を使ってMicrosoft Foundry のエージェントを喋らせる
tags:  #aimtg #azure #microsoftfoundry #ai  
author: [Miyaura](https://image.docswell.com/user/m-taka596)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/G75MWVGP74.jpg?width=480
description: 【大阪】KANSAI AI PUB（関西×人工知能×場）2026/09/09 #AIMTG( https://deep-learning-osaka.connpass.com/event/403630/ )登壇資料。 Stack ChanをインターフェースデバイスとしてMicrosoft Foundry上のエージェントをVoice Live APIを利用して対話する実験をした話。Foundry上のエージェントを呼び出すためEntraIDについてはDevice code flowを利用。  Githubサンプル https://github.com/TakahiroMiyaura/stackchan-foundry-sample  Qiita記事 https://qiita.com/miyaura/items/65280103af6991ca944c
published: September 09, 26
canonical: https://image.docswell.com/s/m-taka596/5MQ22W-AIMTG-stackchan-Foundry-Agent-20260906
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/G75MWVGP74.jpg)

Stack Chan を使って
Microsoft Foundry のエージェントを喋らせる
2026/09
AI ミーティング
@takabrz1
Takahiro Miyaura


# Page. 2

![Page Image](https://bcdn.docswell.com/page/9J29Q3YZER.jpg)

宮浦 恭弘
(Miyaura Takahiro)
Microsoft MVP
for M365,Microsoft Foundry
大阪駆動開発コミュニティに生息
HoloLens 日本販売してからxR 系技術に取組む( 過去Mixed Reality
領域でMicrosoft MVP
新しい技術や、XR関連の技術を調べたり、体験して日々技術を満喫
技術Tips :
https://qiita.com/miyaura
https://zenn.dev/miyaura
最近興味があって取り組んでいるもの
○ AndroidXR
○ 新しいガジェット(Even G2,MiRZA,Galaxy
○ Microsoft Foundry
などのAI 技術
@takabrz1
※よかったらこれを機にお知り合いになってください
XR,etc …)
受賞)


# Page. 3

![Page Image](https://bcdn.docswell.com/page/DEY4W1GNJM.jpg)

本日のお話
Stack Chan
単体でエージェントと会話させるまで
※ Stack Chan
と Voice Live API ―
まずはデモと全体構成
※ エージェントに繋ぐ ― REST
※ Function Calling
での作成と Entra ID
認証
でカメラを使う ― 撮影を要求されたら撮る
※ 実機で詰まった話 ― リージョンと帯域
※ まとめ
キーボードの無いデバイスから、Entra ID
2026/09
認証を通してエージェントと会話し、口まで動かす
© 2026 Takahiro Miyaura
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/VJNY92GV78.jpg)

Stack chan とは
M5Stack シリーズの製品の１つで
「顔」にした手のせサイズの卓上ロボット
設計・ソフトすべてがオープンソースで公開され、誰でも作れる
※ ハード：M5Stack Core
S3
＋ サーボ2軸で首振り、3Dプリント筐体
※ ソフト：M5Unified
・Avatar で表情と音声を制御、
Arduino / PlatformIO
で開発
※ 拡張性：LLM や音声 API
と接続すれば、対話するエー
ジェントの「身体」になる
Stack
2026/09
chan （スタックチャン）
© 2026 Takahiro Miyaura
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/YE9P21WVJ3.jpg)

Microsoft Foundry
The AI app and agent factory
Azure 上で提供されるAI エージェントの開発、運用を管理するプラットフォーム
Models
Agent Service
IQ
Tools
Machine Learning
Control Plane
Cloud
Edge
Security, compliance, and governance
引用: Microsoft.Let
your agentic apps talk with Azure
Speech.Microsoft
Ignite 2025.2025,11,p.3.https://ignite.microsoft.com/
en - US/sessions/BRK198,
（参照 2026 - 01 - 21 ）.


# Page. 6

![Page Image](https://bcdn.docswell.com/page/GE8D54N4ED.jpg)

Foundry Tools – Voice Live
AIモデルやエージェントをリアルタイム音声会話で利用
日常対話はモデル、複雑タスクはAgent に委任
Agent 呼出
Microsoft Foundry
でエージェントを定義
音声
ユーザ
Voice Live
Foundry Agent
Service
Agent 呼出
SDK(API)
応答
リアルタイムAI モデル
基本対話を担当
応答
音声応答
モデル呼出
モデル呼出時
プロンプト、ツール、MCPの
設定も渡せる
2026/09
© 2026 Takahiro Miyaura
Foundry Models
Phi4,…
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/LELMY6PV7R.jpg)

まず、動いているところを
タップで会話モードに入り、話しかけると喋る（口も動く）
Foundry
のトレース画面
※ 話しかけるとエージェントが応答
※ 応答音声に合わせて口が動く
※ カメラで撮影もできる！
2026/09
© 2026 Takahiro Miyaura
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/4JMYN54NJW.jpg)

今回の全体構成
Stack Chan
CoreS3 / ESP32
- S3
・顔 : m5stack - avatar
・マイク / スピーカー
・カメラ : esp32 - camera
・タッチで会話開始
音声 PCM16 16kHz
＋ 画像 input_image
応答音声 ＋ viseme_id
audio_offset_ms
口パクは Voice Live
が返す viseme_id
カメラは look_at_camera
を function
2026/09
Microsoft Foundry
Voice Live API
音声認識・生成AI ・合成を
1 本の WS に統合
Foundry Agent Service
instructions
と tools
・look_at_camera
・web_search
を開口率に写像して実現（実装の詳細は過去記事で解説）
ツールとして定義 ― 呼ぶのはエージェント、撮るのはデバイス
© 2026 Takahiro Miyaura
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/PJR9D3W479.jpg)

エージェントに繋ぐ
REST での作成 / Entra ID
2026/09
認証 / カメラ連携
© 2026 Takahiro Miyaura
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/PEXQ14PZJX.jpg)

接続 URL と Entra ID 認証
キーボードの無い端末で、どうやってサインインするか
接続 URL
※ wss://{host}/voice
live/realtime
agent - project
device code flow
に agent - name と
- name を付ける
※ トークンは Authorization
す
ヘッダで渡
- name はプロジェクト
名。リソース名を入れると
agent_not_found
※ agent - project
2026/09
※ 未認証で起動したらコードを顔（吹き出
し）に表示
※ PC やスマホの
microsoft.com/devicelogin
承認してもらう
で
は NVS に保存。2
回目以降は起動時に無言で更新
※ refresh token
© 2026 Takahiro Miyaura
11


# Page. 11

![Page Image](https://bcdn.docswell.com/page/3EK92ZDVED.jpg)

「今なにが見える?」と聞かれたら撮る
1
2
3
4
5
ユーザー
「今なにが見える? 」と聞く
エージェント
look_at_camera
を呼ぶ（function_call
）
デバイス
カメラで撮影する（loop()
側で実行）
エージェント側の定義
※ look_at_camera
※ web_search
を定義
も同居
※ 「見たふり禁止」を明記
デバイス
input_image
で画像を会話に添付する
※ 定義は REST
からのみ
エージェント
見えたものを声で答える
呼ぶのはエージェント、撮るのはデバイス ― ツールの実行はクライアント側の責任
2026/09
© 2026 Takahiro Miyaura
12


# Page. 12

![Page Image](https://bcdn.docswell.com/page/L73W4DPQ75.jpg)

実機で詰まった話
疎通はするのに、会話がまともにできない
2026/09
© 2026 Takahiro Miyaura
14


# Page. 13

![Page Image](https://bcdn.docswell.com/page/87DKQPLWJG.jpg)

原因は Sweden Central が遠かった
音声が途切れる・認識がおかしい・突然切断の原因
リアルタイム音声に必要
43 kB/s
片方向・16kHz PCM16
※ ESP32
なる
ESP32
の実効スループット
23 kB/s
5.7KB
の TCP 送信バッファは 5.7KB
÷ 0.25s
程度で固定。RTT 250ms
必要量の約半分
届かない
コードでは直せない
では空くのを待って頭打ちに
※ マイクの RMS は正常なのに送信レートが上がらない ― 計測ログで音声側かネット側かを切り分けた
※ 東日本にリソースを作り直したらそのまま解決。PC やスマホはバッファが大きいので起きない
※ WiFi.setSleep(false)
を忘れると同じ症状。省電力でスループットが落ちる（1 行で済む）
2026/09
© 2026 Takahiro Miyaura
15


# Page. 14

![Page Image](https://bcdn.docswell.com/page/VJPKLN2XE8.jpg)

ハマりどころ一覧
症状
原因と対策
音声が途切れる / 認識がおかしい /
突然切断
リージョンが遠い。近いリージョンに移す
start_ssl_client:
2026/09
- 1 で即失敗
が下層に伝わらない。ルート CA の設定が必須
setInsecure()
Missing required parameter:
&#039;image_url&#039;
input_image
url でも）
のフィールド名は image_url
agent_not_found
agent - project
ない）
- name にはプロジェクト名を渡す（リソース名では
挨拶の途中で勝手にカメラを使う
ツール無しでセッションを開始し、挨拶後に session.update
渡す
© 2026 Takahiro Miyaura
（リファレンスが
で
16


# Page. 15

![Page Image](https://bcdn.docswell.com/page/2EVVQKD3EQ.jpg)

まとめ
小さなデバイスでも、エージェントとちゃんと会話できる
※ エージェントモードは Entra ID
必須。device code flow
でコードを顔に表示
※ instructions
もツールもエージェント側。function
の定義は REST から
※ Function Calling
は「呼ぶのはエージェント、撮るのはデバイス」
※ 口パクは viseme_id を開口率に写像するだけ ― 詳細は過去記事で
※ 遠いリージョンだと帯域が頭打ち ― コードではなくリージョンを疑う
興味深かったこと
詰まるのは大抵ネットワーク側だった
2026/09
© 2026 Takahiro Miyaura
17


# Page. 16

![Page Image](https://bcdn.docswell.com/page/57GLWQYYEL.jpg)

Qiita記事でも解説
Stack Chan
を使って Foundry
のエージェントを喋らせる
https://qiita.com/miyaura/items/65280103af6991ca944c
サンプルコードも公開しています
github.com/TakahiroMiyaura/stackchan-foundry-sample
※ Arduino プロジェクト一式（M5Unified / ArduinoWebsockets
※ 記事に手順とハマりどころを詳しく書いています
2026/09
© 2026 Takahiro Miyaura
）
18


# Page. 17

![Page Image](https://bcdn.docswell.com/page/4EQY3KM6JP.jpg)

参考リンク
記事 / 検証コード
※ 検証コード（本日のサンプル一式）
github.com/TakahiroMiyaura/stackchan-foundry-sample
を使って Foundry
※ Stack Chan
のエージェントを喋らせる（本日の内容）
qiita.com/miyaura/items/65280103af6991ca944c
を AI Agent
※ Voice Live API
で使う実装解説 ― イベントの流れ
qiita.com/miyaura/items/ff86931ea956d5f669f0
公式ドキュメント
※ Voice Live API
の使用方法 / 音声エージェントの構築（Agent
統合）
learn.microsoft.com … speech-service/voice-live-how-to
※ Viseme ID
と音素の対応
learn.microsoft.com … how-to-speech-synthesis-viseme
※ Foundry
エージェントの function calling
learn.microsoft.com … agents/how-to/tools/function-calling
2026/09
© 2026 Takahiro Miyaura
19


# Page. 18

![Page Image](https://bcdn.docswell.com/page/KJ4W1PVM71.jpg)

大阪駆動開発
関西を中心に、IT系のおもしろそうなことを
楽しんでやるコミュニティ


