MENU

AI英会話の設定は裏で何を切り替えているのか。ロケール・言語識別・音声の3つを公式仕様から分解した

AI英会話アプリの設定画面には、たいてい「英語の種類」「話す速さ」「声」「自動で言語を判定するか」といった項目が並んでいる。

ところが、その項目を切り替えたときに裏側で何が入れ替わっているのかを説明しているアプリは、ほとんどない。

設定は見た目の好みではない。

音声認識・発音評価・音声合成という別々の部品に渡される、ロケールという1本の文字列を書き換えている。

そしてロケールが変わると、精度だけでなく「使える機能そのもの」が変わる。

これは体感の話ではなく、部品を売っている会社が公開している対応表にそう書いてある。

この記事では、マイクロソフト・グーグル・OpenAIの開発者向けドキュメントの記述だけを材料にして、設定の裏で何が切り替わっているのかを1つずつ開けていく。

特定のアプリの操作手順は扱わない。部品側の仕様だけを見る。

TOC

【結論】AI英会話の設定は、3つのスイッチを同時に動かしている

先に答えを置く。

アプリの設定画面に並ぶ項目は、裏側では次の3つのスイッチに集約される。

スイッチ設定画面での見え方裏で書き換わっているもの
①ロケール「アメリカ英語/イギリス英語」認識と採点に渡す en-US などの文字列
②言語識別「話す言語を自動で判定」候補言語の一覧と、判定を1回だけにするか続けるか
③音声「先生の声」「男性/女性」音声合成に渡す音声名(ロケールを含む)

この3つは別々の部品に、別々に渡っている。だから食い違いが起きる。

設定を変えたのに結果が変わらない、あるいは変えていないのに急に採点が甘くなる、という現象の大半はここで説明がつく。

材料はマイクロソフトの言語と音声のサポート、言語識別を実装する、音声テキスト変換の概要の3本を軸にする。

⇒ AI英会話の設定とは、部品に渡す文字列を選ぶ作業だ。

AI英会話の設定①|「アメリカ英語/イギリス英語」はロケールという文字列を切り替えている

英語は、部品の側では1つの言語として扱われていない。

マイクロソフトの音声テキスト変換の対応表は、ロケール (BCP-47) という列を先頭に置き、そこに英語だけで次の15個を並べている。

  • en-US(米国)/en-GB(イギリス)/en-AU(オーストラリア)/en-CA(カナダ)/en-IE(アイルランド)
  • en-IN(インド)/en-SG(シンガポール)/en-HK(香港特別行政区)/en-PH(フィリピン)/en-NZ(ニュージーランド)
  • en-ZA(南アフリカ)/en-KE(ケニア)/en-NG(ナイジェリア)/en-GH(ガーナ)/en-TZ(タンザニア)

ここで大事なのは、15個が「同じ性能の15色」ではないということだ。

同じ表には、ロケールごとにどの機能が使えるかを示す列が並んでいる。

  • 高速文字起こしのサポート=英語15ロケールすべてに印が付いている。
  • モノリンガルのストリーム後絞り込み=印が付いているのは en-US en-GB en-IN の3つだけ。
  • 多言語のストリーム後絞り込み(プレビュー)=同じく en-US en-GB en-IN の3つだけ。

カスタム音声(認識モデルを鍛え直す機能)の材料も、ロケールで差がついている。

en-US や en-GB には「オーディオ + 人間がラベル付けしたトランスクリプト」「構造化テキスト」「発音」「フレーズ リスト」などが一通り並ぶ一方、en-GH のように材料の種類が少ないロケールもある。

⇒ 設定でどの英語を選ぶかは、アクセントの好みではなく「どの機能が有効になるか」の選択になっている。

AI英会話の設定で発音の採点が変わるのは、採点対応が33ロケールしかないから

認識ができることと、採点ができることは別物だ。

マイクロソフトの対応表には「発音評価でサポートされている 33 のロケール」と書かれており、そこに載っている英語は5つしかない。

en-US(米国)、en-GB(イギリス)、en-AU(オーストラリア)、en-CA(カナダ)、en-IN(インド)である。

つまり、文字起こしはできても発音の点数は出ない英語ロケールが、10個ある。

さらに、この採点には既定値がある。

公式ドキュメントは「既定の言語は en-US です」と明記し、続けて「発音の向上を学習または練習している言語を指定する必要があります」と書いている(発音評価の使い方)。

例として挙げられているのは「英国英語を学習している場合は en-GB として言語を指定する必要があります」という一文だ。

言い換えると、設定を触らずにイギリス英語を練習すると、アメリカ英語のものさしで測られている可能性がある。

そしてロケールを en-GB に寄せると、今度は落ちる機能がある。

採点の中身公式の記述設定への影響
精度(AccuracyScore)音素がネイティブ スピーカーの発音とどの程度一致するかを示す対応5ロケールで使える
プロソディ評価「プロソディ評価は en-US ロケールでのみ利用可能です」en-GB にすると使えない
音節レベルの結果「音節レベル (en-US のみ)」en-GB にすると使えない

⇒ ロケールの設定は、アクセントの一致と、採点項目の多さのトレードオフになっている。

AI英会話の設定にある「お手本を読む/自由に話す」は採点方式の切り替え

これはロケールとは別の、もっと大きなスイッチだ。

発音評価には ReferenceText(発音が評価されるテキスト)というパラメーターがあり、公式ドキュメントはこれを省略可能だと説明している。

そのうえで、使い分けをこう書いている。

  • 読み取り言語学習シナリオのスクリプト化された評価を実行する場合は、参照テキストを設定する。
  • スクリプトなしの評価を実行する場合は、参照テキストを設定しない。
  • スクリプトなしの評価では、使われる音声テキスト変換モデルがAzureのものとは異なる。

同じアプリの中でも、お手本の読み上げと自由会話では、そもそも別のモデルで測っている。

公式は対策まで書いていて、正確に認識されたテキストに基づく評価が必要なら、先に音声テキスト変換を呼んで参照テキストを取得し、そのうえでスクリプト化された評価を実行することを勧めている。

⇒ 自由会話モードの点数と、音読モードの点数は、並べて比べるものではない。

AI英会話の設定②|言語の自動判定は「最初の一度だけ」か「ずっと」かで別物

「話す言語を自動で判定する」という設定の裏にあるのが、言語識別(LID)という機能だ。

ここには、設定画面ではまず表に出てこない分岐がある。

種類公式の説明向いている場面
開始時の LIDオーディオの最初の数秒間で1回、言語を識別する。1つの言語が検出され、5秒未満で返される途中で言語が変わらないとき
継続的 LIDオーディオの間、複数の言語を識別できる言語が切り替わる可能性があるとき

切り替えは SpeechServiceConnection_LanguageIdMode というプロパティで行い、値は開始時が AtStart、継続が Continuous だと公式に書かれている。

そして、このプロパティが無い場合は既定で開始時のLIDになる。

継続的なLIDにも限界が明記されている。「継続的な LID では、同じ文章内での言語の変更はサポートされていません」という一文がそれだ。

例として挙がっているのは、スペイン語を話している途中に英語の単語を挟むケースで、単語ごとの言語の変更は検出されないと書かれている。

日本語の会話に英単語を混ぜる話し方は、この仕様の外側にある。

もう1つ、自動判定を入れると必ず払うコストがある。

公式は「音声認識では、言語識別の初期待機時間が長くなります。 このオプション機能は、必要な場合にのみ含めてください」と書いている。

⇒ 自動判定をオフにして英語に固定するほうが、返ってくるまでの待ち時間は短くなる。

AI英会話の設定で候補言語が4つ・10個までに制限される理由

自動判定は、無限の言語から当てているわけではない。

候補言語は AutoDetectSourceLanguageConfig というオブジェクトで指定し、その数には上限がある。

公式の記述では、開始時点のLIDに含められるのは「最大 4 つの言語」、継続的LIDに含められるのは「最大 10 の言語」とされている。

そして、この仕組みには外れ値を返す性質がある。

「音声サービスは、提供された候補言語がオーディオに含まれていない場合でも、それらのうちの 1 つを返します」と明記されている。

公式が挙げている例は、fr-FR と en-US を候補にしてドイツ語を話した場合で、サービスは fr-FR か en-US のどちらかを返す。

さらに、設定としてやってはいけない組み合わせも書かれている。

  • 候補はダッシュ(-)区切りの完全なロケールで指定する。
  • ただし言語識別は基本言語ごとに1つのロケールしか使わない。
  • だから en-US と en-GB のように、同じ言語の複数ロケールを一緒に入れてはいけない。

対応表の側にも同じ注意が置かれていて、識別は「英語やドイツ語などの言語レベルで音声が比較されます」と説明されている。そのうえで、候補リストに同じ言語のロケールを複数含めないよう書かれている。

自動判定は「英語かどうか」を見ているのであって、「アメリカ英語かイギリス英語か」は見ていない。

⇒ アクセントを選びたいなら、自動判定ではなく手動でロケールを固定するしかない。

AI英会話の設定③|先生の声は、認識側のロケールとは別に決まっている

聞こえてくる声を作っているのは、音声合成という別の部品だ。

音声には en-GB-SoniaNeural のような名前が付いていて、公式は「ロケール プレフィックスは、音声のプライマリ ロケールを示します」と説明している。

挙げられている例は en-US-AndrewMultilingualNeural で、ロケール プレフィックスは音声名の最初のセグメントである en-US だとされている。

選べる数もロケールで大きく違う。

対応表に並ぶ音声名を数えると、en-US- で始まる標準音声は58種類、en-GB- は16種類、en-AU- は15種類、en-IN- は14種類になる。

声の選択肢が少ないと感じるのは、好みの問題ではなくロケールの問題だ。

そして、ここが設定の食い違いがいちばん出るところでもある。

公式は「特定の言語でテキストを合成するには、そのロケールの音声を使用し、SSML ロケールを同じ言語に一致させます」と書き、出力が狙った言語と合わない場合の原因を3つ挙げている(SSMLの概要)。

  • 選択した音声が別のロケール用である。
  • SSMLの xml:lang 値が、選択した音声のロケールと競合している。
  • テキスト読み上げしか使っていないのに、翻訳の動作を期待している。

⇒ 声の設定と言語の設定は、揃っていないと噛み合わない別々のつまみだ。

AI英会話の設定は、使っている部品によって「粒度」が違う

ここまではマイクロソフトの部品を例にしてきたが、言語の指定の仕方は会社ごとに違う。

同じ「英語に設定する」でも、渡せる文字列の細かさが違うということだ。

部品言語の指定公式の記述
Azure Speechロケール(BCP-47)英語だけで15ロケール。en-US と en-GB は別物として扱われる
Cloud Speech-to-TextlanguageCode フィールド「言語(および国や地域の方言)を BCP-47 識別子で指定する」
OpenAI の文字起こしlanguages フィールドISO 639-1 コード(en など)、一部の ISO 639-3、地域つきは zh-cn zh-tw zh-hk の zh ロケール

グーグルのSpeech-to-Text の基本は、言語を languageCode で渡すこと、そして機能ごとに対応言語の一覧が別にあることを書いている。

同じページには録音側の条件も書かれていて、「選べるなら 16000 Hz のサンプル レートで録る」「すでに別のサンプル レートで録音済みなら 16000 Hz に変換し直さない」と指示している。

OpenAIのSpeech to textのガイドは、想定される入力言語が分かっているときに languages を使うよう書いている。

そこに並ぶ地域つきコードの例は zh-cn zh-tw zh-hk であって、英語は en という単位で挙げられている。

同じガイドには「サポートされていない、または形式が正しくない言語コードはAPIが拒否する」とも書かれている。

加えて、languages は単数形の language を置き換えるもので、両方を同時に送ってはいけないと明記されている。

⇒ 「イギリス英語で練習する」という設定が成立するかどうかは、そのアプリが裏で使っている部品に依存する。

AI英会話の設定を仕組みから決めるなら、この順番になる

ここまでの仕様から言えることだけを、順番に並べる。

  • ①まず自動判定を切って、言語を固定する。 公式が「初期待機時間が長くなる」「必要な場合にのみ含めてください」と書いている以上、英語だけを話す練習では入れる理由が薄い。
  • ②練習したい英語のロケールを選ぶ。 発音評価の既定は en-US で、イギリス英語を学ぶなら en-GB を指定するよう公式が書いている。
  • ③採点の細かさを取るなら en-US に寄せる。 プロソディ評価と音節レベルの結果は en-US のみと明記されている。
  • ④点数を比べるときは、同じモードの中だけで比べる。 参照テキストの有無で採点方式もモデルも変わる。
  • ⑤声の設定は、選んだロケールに合わせる。 音声名のロケール プレフィックスがずれていると、出力が狙った言語と合わなくなる原因になると公式が挙げている。

どれも好みの話ではなく、対応表に書いてある通りに動かすための手順だ。

なお、アプリ側がこれらの項目を画面に出していないことも多い。その場合は、開発側が既定値のまま使っていると考えるのが素直な読み方になる。

AI英会話の設定に関するよくある質問

Q. 設定でイギリス英語を選ぶと、認識が甘くなった気がする。 A. 感覚ではなく仕様の差である可能性がある。プロソディ評価は en-US ロケールでのみ利用可能、音節レベルの結果も en-US のみと公式に書かれている。採点項目が減れば、返ってくる情報も減る。

Q. 「自動で言語を判定」はオンにしたほうがいいか。 A. 英語だけを話す練習なら、オフのほうが理屈に合う。公式は言語識別について「初期待機時間が長くなります。 このオプション機能は、必要な場合にのみ含めてください」と書いている。

Q. 日本語と英語を混ぜて話しても通じるのはなぜか。 A. 継続的なLIDを使えば複数言語を識別できるが、「同じ文章内での言語の変更はサポートされていません」と明記されている。文の途中で単語だけ混ぜる話し方は、仕様の外にある。

Q. 設定していない言語を話したらどうなるか。 A. 候補言語のどれかが返る。公式は fr-FR と en-US を候補にしてドイツ語を話した場合、fr-FR か en-US が返ると書いている。「分かりません」という答えは返ってこない。

Q. 学習する言語を何個まで登録できるか。 A. 公式には、開始時点のLIDが最大4つまで、継続的LIDが最大10まで、と書かれている。ただし同じ言語の複数ロケール(en-US と en-GB)を一緒に入れることは禁じられている。

Q. 声を変えると発音の採点も変わるか。 A. 声は音声合成側の設定で、採点は音声認識側の機能なので、直接はつながっていない。ただし手本として聞く音が変わるため、真似する対象は変わる。

まとめ|AI英会話の設定は、ロケールという1本の文字列を中心に回っている

もう一度整理する。

  • 設定画面の項目は、裏ではロケール・言語識別・音声の3つのスイッチに集約される。
  • 英語は15のロケールに分かれていて、使える機能はロケールごとに違う。ストリーム後の絞り込みに対応するのは en-US en-GB en-IN の3つだけだ。
  • 発音評価の対応は33ロケールで、英語は5つ。既定は en-US、プロソディ評価と音節レベルは en-US のみ。
  • 自動判定は言語レベルで見ているので、アクセントの選択には使えない。候補は開始時4つ・継続10個までで、候補外を話しても候補のどれかが返る。
  • 声は別の部品の設定なので、ロケールを揃えないと食い違う。公式も音声ロケールと xml:lang の競合を原因として挙げている。

⇒ 設定を触るときは「どの部品に、どの文字列が渡るのか」で考える。そこが合っていれば、同じアプリでも返ってくる情報の量が変わる。

※本記事の一次ソースはすべて2026-09-11に各公式ドキュメントで確認した。仕様は更新されるため、最新は各公式ドキュメントで確認してほしい。

Let's share this post !

Author of this article

Comments

To comment

TOC