音声AI
技術紹介
2026年3月15日

Twilio × OpenAI Realtime API で作る,英会話ボイスボットの構築

はじめに

最近では、スマートフォンでAIと英会話の練習ができるアプリが急速に普及しています。本記事では、英会話練習用のAI音声対話システムを自身の環境に構築し、電話を通して利用する方法を紹介します。

具体的には、OpenAIが提供するRealtime APIと電話サービスTwilioを組み合わせ、電話をかけるだけでAIと英会話の練習ができるシステムを構築します。そして、GitHubのサンプルコードをベースに、AIの性格を優しい英会話講師に変えるカスタマイズ手順まで解説します。

システム構成と動作の仕組み

Gemini (Nano Banana) を用いて作成

構築するシステムは以下の要素で構成されます。

  • Twilio:電話回線とインターネットのゲートウェイ。電話の声をデータに変換してサーバーへ転送する
  • ngrok:ローカルPCで動くプログラムを外部からアクセス可能にするトンネリングツール
  • OpenAI Realtime API:送られてきた音声を直接処理し、応答音声を生成する
💡
日本語TTSモデルの技術選定について詳しくは、「日本語TTSモデル比較ツール——Parler TTS・Fish-Speechをブラウザで試せるWeb Server」もご覧ください。

実装方法

以下のTwilio公式ドキュメントに沿って実装を行います。

GitHub - twilio-samples/speech-assistant-openai-realtime-api-python
Contribute to twilio-samples/speech-assistant-openai-realtime-api-python development by creating an account on GitHub.

Step 1: プロジェクトのセットアップ

GitHubからリポジトリをクローンし、Python環境を構築します。Python 3.9以上が必要です。

# リポジトリのクローン
git clone https://github.com/twilio-samples/speech-assistant-openai-realtime-api-python.git
cd speech-assistant-openai-realtime-api-python

# 仮想環境の作成と有効化(任意)
# Mac / Linux
python3 -m venv .venv
source .venv/bin/activate

# Windows
python3 -m venv .venv
.venv\Scripts\activate

# 必要なライブラリを一括インストール
pip install -r requirements.txt

Step 2: ngrokのインストールと外部公開

Twilioからの着信をローカルPCで受け取るために、ngrokをセットアップします。

インストール例(macOS / Homebrew使用時)

brew install ngrok

※Windowsやその他の環境は、ngrok公式サイトからインストーラーをダウンロードしてください。

アカウントを持っていない場合は、サインアップ行い、初回のみアカウント登録後に発行されるトークンによる認証を行います。認証完了後、ngrokでポート5050を公開します。

# 初回のみ認証
ngrok config add-authtoken <あなたのAuthToken>

# ポート5050を公開
ngrok http 5050

公開後、画面に表示された Forwarding に
https://xxxx.ngrok-free.app -> http://localhost:5050
という形でURLが設定されるのでhttps://xxxx.ngrok-free.appをコピーしておきます。
これがTwilioからアクセスするためのエンドポイントとなります。

Step 3: 環境変数の設定

OpenAIとの連携に必要な認証情報を設定します。

cp .env.example .env

作成された .env ファイル内の OPENAI_API_KEY にAPIキーを記述してください。

Step 4: Twilio電話番号の設定

電話番号への着信をアプリケーションにルーティングする設定を行います。
Twilioアカウントをお持ちでない場合は、サインアップを行い無料トライアル用の電話番号を取得してください。

  1. Twilioコンソールで、Phone Numbers→Manage→Active Numbers

Voice ConfigurationのA call comes in のURL に、ngrokで発行されたURLを設定します。ただし、末尾に/incoming-callを追加してください。
例:https://xxxx.ngrok-free.apphttps://xxxx.ngrok-free.app/incoming-call

これにより、電話着信時にTwilioがngrokへリクエストを送信し、ローカルPCとの接続が確立されます。

Step5: 英会話講師へのカスタマイズ

デフォルトのコードでは、AIは冗談好きなアシスタントとして設定されています。これを英会話の練習相手に変えるため、main.py を編集します。

main.py の上部にある SYSTEM_MESSAGE 変数を探し、以下のように書き換えてください。

# main.py

# 変更前:冗談好きなアシスタント
# SYSTEM_MESSAGE = (
#     "You are a helpful and bubbly AI assistant who loves to chat about "
#     "anything the user is interested in and is prepared to offer them facts. "
#     "You have a penchant for dad jokes..."
# )

# 変更後:優しい英会話講師
SYSTEM_MESSAGE = (
    "You are a friendly and patient English tutor. "
    "Your goal is to help the user practice English conversation. "
    "Speak clearly and at a moderate pace. "
    "If the user makes a grammar mistake, gently correct them and explain why. "
    "Keep the conversation engaging by asking follow-up questions."
)

これで、AIは話した英語を聞き取り、間違いがあれば指摘してくれるようになります。

Step 6: アプリケーションの起動

設定完了後、サーバーを起動します。

python3 main.py

コンソールに Uvicorn running on http://0.0.0.0:5050 と表示されれば待機状態となっています。


Twilioで取得した電話番号にスマートフォンから発信します。Twilioの無料トライアルアカウントを使用している場合、最初に英語のアナウンスが流れるため、スマートフォンのキーパッドで任意の数字キーを押してプログラムを実行してください。
接続のアナウンスが流れた後、AIに英語で話しかけてみてください。タイムラグのない自然なテンポで、本物のネイティブスピーカーとスピーキングの練習をしているかのような、本格的な英会話レッスンを体感できるはずです。

まとめ

本記事では、OpenAIのRealtime APIとTwilioを連携させ、電話で英会話練習ができるAIボットを構築しました。

Realtime APIの恩恵により、極めて自然な音声対話が実現できました。今回は英会話ボットとしてカスタマイズしましたが、システムプロンプトを変更するだけで、飲食店の自動予約受付やカスタマーサポートの一次対応など、様々なビジネスシーンへの応用が可能となります。

💡
音声AIのビジネス活用事例について詳しくは、「音声AIは業務をどう変えるのか——介護からコンタクトセンターまで、導入現場のリアル」もご覧ください。

Furious Greenでは、音声AIやRealtime APIを活用したシステム設計に関する技術研修・コンサルティングを提供しています。自社チームでの構築を検討されている方はお気軽にご相談ください。

お問い合わせはこちら
S
Author
Seiya Oiwa
FURIOUS GREEN

AI技術の基礎から実践までを学べる研修で
エンジニアのスキルアップと組織の変革を支援します。

会社名
Furious Green合同会社 (Furious Green LLC)
法人番号
6020003019971
代表者
代表社員 ダラローザソアレス・フランシスコ
所在地
〒220-0012
神奈川県横浜市西区みなとみらい3-7-1
オーシャンゲートみなとみらい 8階
事業内容
・AI技術者育成 / 研修事業
・技術コンサルティング
・AIソリューション開発支援
適格請求書発行事業者
© 2026 Furious Green LLC. All rights reserved.