
Twilio ConversationRelay〜名前や番号の読み上げを ElevenLabs v4 と Amazon Polly で聞き比べた〜
はじめに
Twilio ConversationRelay を使うと、電話で会話する AI を手軽に作れます。音声認識と読み上げは Twilio が受け持つため、開発者は WebSocket で届いた文字に、返事の文字を返すだけで済みます。
筆者が作っている電話受付の AI では、聞き取った名前や電話番号を「ご回答は、〜でよろしいですか」と読み上げ、相手に確かめるようにしています。読み上げには Amazon Polly を使っており、読み違えを防ぐために、名前や番号を読みのひらがなに直してから送っていました。
2026 年 10 月、ConversationRelay で ElevenLabs v4 が一般提供 (GA) になりました。 そこで、電話の受付で読み上げる 20 文を、Polly と ElevenLabs v4 に読ませて聞き比べてみることにしました。
結果、ElevenLabs v4 では、Polly と比べて、名前や番号を読み上げる能力の向上が見られました。 ただし v4 では SSML と速さの指定が使えません。Polly の発音を SSML で直す方法は、以前に別の記事で紹介しています。こちらも参考にしてください。
ElevenLabs v4 とは
ElevenLabs v4 は、ElevenLabs が 2026 年 9 月に公開した読み上げのモデルです。日本語にも対応しています。ConversationRelay では、2026 年 10 月 28 日に GA になりました (Twilio changelog)。
ConversationRelay で使うには、voice 属性で声の ID のあとに -v4 を付けます。-v4_turbo と書いても、同じ v4 のエンジンで読み上げます (Picking a voice)。
<ConversationRelay url="wss://example.com/ws" language="ja-JP"
ttsProvider="ElevenLabs" voice="3JDquces8E8bkmvbh6Bc-v4" />
検証環境
- Twilio ConversationRelay (言語は ja-JP)
- Amazon Polly の
Takumi-Neural(ttsProviderはAmazon) - ElevenLabs v4 (声は ja-JP の既定の
3JDquces8E8bkmvbh6Bc) - Node.js の検証用サーバー 1 プロセス
- 検証日は 2026 年 11 月 2 日
対象読者
- Twilio ConversationRelay で日本語の電話 AI を作っている方
- 名前や番号の読み違えを防ぐために読み上げ文を作り込んでいる方
参照
背景
読み上げる文のうち、案内や質問の文は決まっています。読み違える箇所があれば事前に聞いて確かめ、SSML で直せます。
一方、名前や番号を確かめる文の中身は、相手の答えで通話ごとに変わります。事前に聞いて直すことができません。また、名前の漢字は読みが一つに決まりません。
それに追加して、筆者の AI では番号を 1 桁ずつ読ませたいとも考えていました。
そこで、答えを解析する LLM に読みをひらがなで作らせ、表記の代わりにそのひらがなを次のように Polly に送っていました。
表記: ご回答は、XYZ5678、でよろしいですか。
送る文: ご回答は、えっくす わい ぜっと、ごー ろく なな はち、でよろしいですか。
名前や番号、日時など、値の種類ごとに読みの作り方を指示し、結果を確かめる手間がかかります。
検証方法
一般的な予約受付を想定して、読み上げる文を 20 文用意し、次の 2 つの実験に分けました。
| 実験 | 対象の文 | 文の数 | 比べる条件 |
|---|---|---|---|
| 実験 1 | 案内や質問など、決まった文 | 13 文 | Polly と v4 |
| 実験 2 | 名前や番号を確かめる文 | 7 文 | Polly と v4 のそれぞれで、ひらがなに直す場合と表記のまま渡す場合 |
実験 1: 決まった文
次の 13 文を、Polly と v4 に同じ文字列で読ませました。
1. お電話ありがとうございます。ご用件をお聞かせください。
2. お名前をフルネームでお聞かせください。
3. ご連絡のつくお電話番号をお聞かせください。
4. ご予約番号をお聞かせください。英字 3 文字と数字 4 桁です。
5. ご希望の日時をお聞かせください。
6. 何名様でご利用になりますか。
7. ご予約の変更についてのお問い合わせですね。こちらのご用件でよろしいですか。
15. 恐れ入ります。もう一度お聞かせいただけますでしょうか。
16. キャンセルでしょうか、日時の変更でしょうか。
17. 確認のため担当者におつなぎします。少々お待ちください。
18. 本日の受付は午後六時までです。
19. ご予約の変更を承りました。確認のメールをお送りします。
20. お電話ありがとうございました。失礼いたします。
実験 2: 名前や番号を確かめる文
次の 7 文を、4 つの条件で読ませました。文はどれも「ご回答は、〇〇、でよろしいですか。」の形で、〇〇の部分だけが違います。
| 文 | 〇〇の表記 | ひらがなに直した文字列 |
|---|---|---|
| 8 | 090-1234-5678 | ぜろ きゅー ぜろ、いち にー さん よん、ごー ろく なな はち |
| 9 | サトウ ハナコ様 | さとう はなこさま |
| 10 | 鈴木一郎様 | すずき いちろうさま |
| 11 | XYZ5678 | えっくす わい ぜっと、ごー ろく なな はち |
| 12 | 3名 | さんめい |
| 13 | 十一月十五日の午後三時 | じゅういちがつじゅうごにちのごごさんじ |
| 14 | 渋谷 | しぶや |
| 条件 | 読み上げ | 〇〇の渡し方 |
|---|---|---|
| A | Polly | ひらがなに直す (筆者の今の作り方) |
| B | Polly | 表記のまま |
| C | ElevenLabs v4 | ひらがなに直す |
| D | ElevenLabs v4 | 表記のまま |
評価の基準
筆者が次の 3 段階で評価しました。
- 良: 発音にも違和感がない
- 可: 発音に違和感はあるが、業務ではぎりぎり使える
- 不可: 業務で使えない (今回の検証では、電話番号を区切りのない位置で区切る、予約番号の数字を「ごせんろっぴゃくななじゅうはち」と数として読む、など)
読み上げが始まるまでの時間
文を送ってから、agentSpeaking の on を受けるまでの時間を、サーバーの側で測りました。受話器で聞こえ始めるまでの時間ではありませんが、モデルの差を比べる目安になります。
検証結果
実験 1: 決まった文
決まった文では、v4 はすべて良で、Polly は 3 割ほどが可でした。どちらも不可は無く、決まった文であれば、どちらのモデルも業務で使える読み上げでした。
| 条件 | 良 (%) | 可 (%) | 不可 (%) |
|---|---|---|---|
| Polly | 69.2 | 30.8 | 0.0 |
| v4 | 100.0 | 0.0 | 0.0 |
文ごとの判定
| 文 | Polly | v4 |
|---|---|---|
| 1 | 良 | 良 |
| 2 | 良 | 良 |
| 3 | 良 | 良 |
| 4 | 可 | 良 |
| 5 | 良 | 良 |
| 6 | 可 | 良 |
| 7 | 可 | 良 |
| 15 | 良 | 良 |
| 16 | 良 | 良 |
| 17 | 良 | 良 |
| 18 | 良 | 良 |
| 19 | 良 | 良 |
| 20 | 可 | 良 |
実験 2: 名前や番号を確かめる文
名前や番号を確かめる文では、v4 は渡し方によらず 8 割以上が良で、表記のまま渡すとすべて良でした。Polly は、ひらがなに直しても良の割合が上がらず、電話番号 (文 8) と予約番号 (文 11) はどちらの渡し方でも不可でした。
| 条件 | 良 (%) | 可 (%) | 不可 (%) |
|---|---|---|---|
| A Polly・ひらがな | 28.6 | 42.9 | 28.6 |
| B Polly・表記のまま | 42.9 | 28.6 | 28.6 |
| C v4・ひらがな | 85.7 | 14.3 | 0.0 |
| D v4・表記のまま | 100.0 | 0.0 | 0.0 |
文ごとの判定
| 文 | 〇〇の表記 | A Polly・ひらがな | B Polly・表記のまま | C v4・ひらがな | D v4・表記のまま |
|---|---|---|---|---|---|
| 8 | 090-1234-5678 | 不可 | 不可 | 良 | 良 |
| 9 | サトウ ハナコ様 | 良 | 可 | 良 | 良 |
| 10 | 鈴木一郎様 | 可 | 可 | 良 | 良 |
| 11 | XYZ5678 | 不可 | 不可 | 良 | 良 |
| 12 | 3名 | 可 | 良 | 良 | 良 |
| 13 | 十一月十五日の午後三時 | 可 | 良 | 良 | 良 |
| 14 | 渋谷 | 良 | 良 | 可 | 良 |
読み上げが始まるまでの時間
| 実験 | 条件 | 中央値 (ms) | 最大 (ms) |
|---|---|---|---|
| 実験 1 | Polly | 288 | 302 |
| 実験 1 | v4 | 314 | 346 |
| 実験 2 | A Polly・ひらがな | 300 | 352 |
| 実験 2 | B Polly・表記のまま | 308 | 356 |
| 実験 2 | C v4・ひらがな | 308 | 324 |
| 実験 2 | D v4・表記のまま | 308 | 324 |
どちらの実験でも、中央値の差は 30 ms 以内でした。
実験 1 の文ごとの時間
| 文 | Polly (ms) | v4 (ms) |
|---|---|---|
| 1 | 282 | 301 |
| 2 | 293 | 288 |
| 3 | 290 | 319 |
| 4 | 278 | 319 |
| 5 | 283 | 313 |
| 6 | 296 | 306 |
| 7 | 302 | 314 |
| 15 | 265 | 314 |
| 16 | 290 | 302 |
| 17 | 288 | 346 |
| 18 | 284 | 319 |
| 19 | 288 | 312 |
| 20 | 267 | 314 |
実験 2 の文ごとの時間
| 文 | A Polly・ひらがな (ms) | B Polly・表記のまま (ms) | C v4・ひらがな (ms) | D v4・表記のまま (ms) |
|---|---|---|---|---|
| 8 | 352 | 356 | 324 | 311 |
| 9 | 300 | 286 | 307 | 303 |
| 10 | 298 | 308 | 308 | 301 |
| 11 | 330 | 310 | 306 | 308 |
| 12 | 299 | 290 | 310 | 308 |
| 13 | 324 | 311 | 304 | 324 |
| 14 | 289 | 275 | 313 | 301 |
考察
少なくとも検証してみた範囲では、v4 ではひらがなに直さず文を渡しても全く問題なく再生されたため、これに乗り換えれば読み上げ文の作り込み作業を減らせる可能性があると考えています。
ただし、乗り換えると SSML と速さの指定は使えなくなります。番号をゆっくり読ませたいときは、話し方の合う声を選ぶことになるでしょう。また、Polly に試した直し方はひらがなの書き方 1 種類だけで、SSML の say-as などは試していません。判定は筆者 1 人で、Polly と v4 では話者も違います。声を聞き比べて判断するのが確実だと思います。
まとめ
名前や番号の読み違えを防ぐために読み上げ文を作り込んでいるなら、ElevenLabs v4 で一度聞き比べてみてください。その際は、作り込んだ文と表記のままの文の両方を用意し、条件の名前を伏せた録音で判定すると、作り込みを続ける価値も一緒に確かめられます。電話 AI の読み上げ用モデルを選ぶときの参考になれば幸いです。










