Upgrade to Pro — share decks privately, control downloads, hide ads and more …

公開ほやほやの新モデルを使って音声AIエージェントを試作してみた!

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for utause utause
February 16, 2026
10

 公開ほやほやの新モデルを使って音声AIエージェントを試作してみた!

Avatar for utause

utause

February 16, 2026
Tweet

Transcript

  1. ✓ 藤本 野乃花 (Fujimoto Nonoka) ・ 都内Sier勤務 ・ 新卒入社で3年目 ・

    文系学部出身 (政策系の学科を卒業) ・ SE ・ Webアプリケーション開発を担当 (要件定義~設計~製造~テスト~脆弱性診断など~リリース作業) 業務でAWSやAzureなどのインフラ経験は0 ・ 今年7月に参加した社内のハッカソンで優秀なエンジニアの方々に出会い、 インフラ知識も身に付けたい! 技術に強いエンジニアになりたい!と思い、 今年9月~ AWSを0から勉強しています^^ ✓ 趣味 ・ 旅行 → 2025年は、国内14道府県(北は北海道、南は鹿児島まで)+海外1か国(タイ)に! ・ カメラ → 光を撮るのが好き! ・ 音楽 → 音楽を聴くのも、楽器を演奏するのも大好きです♪ ・ 外食 → エンゲル係数がとんでもないです…(-_-;) 最近は遂にゴルフも始めたので、趣味が多すぎてとにかく時間とお金が足りません,,,!!! 自己紹介
  2. みなさんは 会話型AI向けの新しい音声変換モデル “Amazon Nova 2 Sonic” をご存じですか? ✓ 先日のAWS re:Invent

    2025(12/2) で一般提供開始が発表された新モデル ✓ より直感的で人間のような音声インタラクションを実現するための幅広い新機能が追加
  3. ✓ 第1世代のNova Sonic との違い(一部抜粋): ・ 音声理解の向上 (英数字入力、短い発話、8kHz のテレフォニー音声入力をより正確に処理できるように) (さまざまなアクセントやバックグラウンドノイズを処理する場合にもより堅牢に) ・

    言語サポートの拡張 (英語、フランス語、イタリア語、ドイツ語、スペイン語に加えて、ポルトガル語とヒンディー語をサポート) (同じ会話の中で言語を切り替えることができる「ポリグロット音声」を導入 →1回の対話に複数の言語が混在していてもサポートされている全ての言語を流暢に話せるように ⇒言語ごとに個別の音声モデルを用意しなくて良い!!) ・ 自然なターンテイキング (音声アクティビティ検出感度を高/中/低に設定できるように) ※高:応答時間が短縮 低:ユーザーが考えをまとめて話し終えるまでの時間が長くなる ・ シームレスなクロスモーダルインタラクション (同じセッション内でテキスト入力と音声入力を切り替えられるように) ・ 高度なマルチエージェント機能 (複雑な複数ステップのタスクを処理する方法を改善する非同期ツール呼び出しが導入 →ツールのバックグラウンドでの実行中、モデルは一時停止せず、新しいユーザー入力に応答し続ける ⇒人間のリアルな会話のように、割り込みの質問にもすぐに答えてくれる!!) 会話型AI向けの新しい音声変換モデル “Amazon Nova 2 Sonic” とは 出典)https://aws.amazon.com/jp/blogs/news/introducing-amazon-nova-2-sonic-next-generation-speech-to-speech-model-for-conversational-ai/ 日本語のサポートはまだ… 一応聞き取って話してくれました!
  4. ✓ 開始方法 ・ モデルID amazon.nova-2-sonic-v 1:0 を使用して Amazon Bedrock から入手

    ・ 双方向ストリーミング API を使用しているため、 既存の統合パターンとイベント処理コードは引き続き機能する ・ クロスモーダル入力や設定可能なターンテイキングなどの新機能は、 段階的に導入できるパラメーターやイベントを追加することで利用 ✓ 対応リージョン ・ 米国東部 (バージニア北部) ・ 米国西部 (オレゴン) ・ アジアパシフィック (東京) ・ 欧州 (ストックホルム) ✓ その他 ・ 転送時と保管時の暗号化、VPC エンドポイント、詳細なアクセス制御のためのIAMとの統合など、 他のAmazon Bedrock モデルと同じ堅牢なセキュリティおよびコンプライアンス機能をサポート “Amazon Nova 2 Sonic” の使用にあたって 出典)https://aws.amazon.com/jp/blogs/news/introducing-amazon-nova-2-sonic-next-generation-speech-to-speech-model-for-conversational-ai/
  5. ✓ ざっくり手順 ① 事前準備 (AWS CLIをインストール →AWSアカウントへの認証設定を実施) ② Strands Agents

    SDKの環境構築 (uvをインストール →PJディレクトリの作成 →必要なモジュールのインポート) ③ Nova 2 Sonicモデルを使った実行モジュールの作成 (Python) ④ ローカルで上記③のファイルを実行 ⑤ モデルをOpenAI, Gemini-2.5-flashに変えて比較 (APIキーを発行 →上記③の model_id と client_config の2行を変えるだけ!) 試作した手順 出典)StrandsとAgentCoreに入門&新機能を宇宙最速ハンズオン! #AWS - Qiita 音声対話エージェントをStrands × AgentCore × Nova 2 Sonicで動かしてみる! #AWS - Qiita ※OSはWindows 11だったので、使用したコマンドは上記の記事と一部異なります ✓ 前提 ・ 私は、4日前にAWSアカウントを作成したAWS超初心者です・・・ 今回のAIエージェントの試作には、 “ハンズオンをやってみる感覚(実際に触ってみる感覚)や流れ”を習得する という裏目標が! ★ サポートしてくれた同じ会社同期の福地さん、本当にありがとうございました!! 新しいサービスやモデルを触ってみること に慣れた人のペースと並走することで 得られたものもすごく大きかったので その話はどこかで機会があれば…
  6. ✓ model_id と client_config の2行を変えるだけ! その他、入力のプロンプトを含め条件を変えずに比較してみる 他モデルでもやってみた 出力の比較 ✓ OpenAI

    ・ 端的に答えてくれるが、例文などはなく情報量が少ない ・ 音声があまりにも人間 (イントネーションもほぼ違和感なし) ・ テキスト出力が分かりやすい ✓ Gemini-2.5-flash ・ 端的に答えてくれるが、例文などはなく情報量が少ない ・ 音声は人間に近いが、かなり強い抑揚が付いていて、少し聞いていて疲れる ・ テキスト出力がとても見にくい ⇒多少の性能の差はあるものの、 Nova 2 Sonicは情報量とテキスト出力の見やすさで圧勝! 今後、日本語リリースされる可能性が高いNova 2 Sonicに期待!
  7. ✓ オーディオ関連のエラーは起こりがちのようですが… 【事象】 出力および入力デバイスともに反応なし OSError: [Errno -9999] Unanticipated host error

    は、 音声入力デバイス(マイク)周りでよく見かけるエラー 【原因】 PyAudio を使って音声ストリームを開こうとしたときに、 ホスト(つまりOSやドライバ)側で予期しない問題が発生したため 【対処】 マイクの認識や他アプリがマイクを占有していないかなど,色々確認したり試したりした後, 何となくPC再起動したら解消しました・・・(泣) 補足:トラブルシューティング Traceback (most recent call last): File "C:¥Users¥Nono0521¥Downloads¥20251214_agent¥voiceagent¥main.py", line 33, in <module> asyncio.run(main()) ~~~~~~~~~~~^^^^^^^^ File "C:¥Users¥Nono0521¥AppData¥Local¥Programs¥Python¥Python313¥Lib¥asyncio¥runners.py", line 194, in run return runner.run(main) ~~~~~~~~~~^^^^^^ File "C:¥Users¥Nono0521¥AppData¥Local¥Programs¥Python¥Python313¥Lib¥asyncio¥runners.py", line 118, in run return self._loop.run_until_complete(task ・・・ File "C:¥Users¥Nono0521¥Downloads¥20251214_agent¥voiceagent¥.venv¥Lib¥site-packages¥pyaudio¥__init__.py", line 639, in open stream = PyAudio.Stream(self, *args, **kwargs) File "C:¥Users¥Nono0521¥Downloads¥20251214_agent¥voiceagent¥.venv¥Lib¥site-packages¥pyaudio¥__init__.py", line 441, in __init__ self._stream = pa.open(**arguments) ~~~~~~~^^^^^^^^^^^^^ OSError: [Errno -9999] Unanticipated host error