プロフェッショナルな音声モデルをトレーニングする

この記事では、Microsoft Foundry ポータルを使用してプロの音声を微調整する方法について説明します。

重要

プロの音声微調整は現在、一部のリージョンでのみ使用できます。 サポートされているリージョンで音声モデルをトレーニングしたら、必要に応じて、プロの音声モデルを別のリージョンのMicrosoft Foundry リソースにコピーできます。 詳細については、 Speech Service テーブルの脚注を参照してください。

トレーニング期間は、使用するデータの量によって異なります。 プロの音声を微調整するには、平均で約 10 時間かかります。 Microsoft Foundry Standard (S0) リソースを使用すると、4 つの音声を同時にトレーニングできます。 制限に達した場合は、少なくとも 1 つの音声モデルがトレーニングを完了するまで待ってから、もう一度やり直してください。

メモ

トレーニング方法ごとに必要な合計時間数は異なりますが、それぞれに同じ単価が適用されます。 詳細については、 カスタム ニューラル トレーニングの価格の詳細を参照してください

トレーニング方法を選択する

データ ファイルを検証したら、それらを使用してカスタム音声モデルを構築します。 カスタム音声を作成する場合は、次のいずれかの方法でトレーニングできます。

  • ニューラル: トレーニング データと同じ言語で音声を作成します。

  • ニューラル - HD 音声: トレーニング データと同じ言語で HD 音声を作成します。 Azureニューラル HD 音声は LLM ベースで、動的な会話用に最適化されています。 ニューラル HD 音声の詳細については 、こちらをご覧ください

  • ニューラル - 多言語: 単一言語のトレーニング データを使用して、複数の言語を話す音声を作成します。 たとえば、 en-US プライマリ トレーニング データを使用すると、 en-USde-DEzh-CN などの第 2 言語を話す音声を作成できます。

    トレーニング データのプライマリ言語と第 2 言語は、多言語音声トレーニングで サポートされている言語 である必要があります。 セカンダリ言語でトレーニング データを準備する必要はありません。

  • ニューラル - マルチ スタイル: 新しいトレーニング データを追加せずに、複数のスタイルと感情で話すカスタム音声を作成します。 複数のスタイルの音声は、ビデオゲームのキャラクター、会話チャットボット、オーディオブック、コンテンツ リーダーなどに役立ちます。

    複数のスタイルの音声を作成するには、一連の一般的なトレーニング データ (少なくとも 300 個の発話) を準備する必要があります。 1 つ以上のプリセットターゲット読み上げスタイルを選択します。 同じ音声の追加のトレーニング データとして、スタイル サンプル (スタイルあたり少なくとも 100 個の発話) を提供することで、複数のカスタム スタイルを作成することもできます。 サポートされているプリセット スタイルは、言語によって異なります。 さまざまな言語で使用可能なプリセット スタイルを参照してください

  • ニューラル - 多言語: トレーニング データとは異なる言語を話す音声を作成します。 たとえば、 zh-CN トレーニング データを使用すると、 en-USを話す音声を作成できます。

    トレーニング データの言語とターゲット言語の両方が、多言語音声トレーニングで サポートされている言語 の 1 つである必要があります。 ターゲット言語でトレーニング データを準備する必要はありませんが、テスト スクリプトはターゲット言語である必要があります。

トレーニング データの言語は、カスタム音声、多言語、または複数のスタイルのトレーニングで サポートされている言語 のいずれかである必要があります。

カスタム音声モデルをトレーニングする

Microsoft Foundry ポータルでカスタム音声を作成するには、次のどちらかの方法を使って、次の手順を実行します。

新しい Microsoft Foundry ポータルでは、Fine-tune a model ウィザードでは、すべてのバリアントを対象とする 1 つの Training メソッド ドロップダウンが使用されます。 これらの手順は、「トレーニング データ」ウィンドウにトレーニング データをアップロードした後、「プロの音声を作成する」で開いたウィザードから続行します。

  1. [ トレーニング データ ] ウィンドウで、シナリオに一致する トレーニング方法 を選択します。 オプションには、 ニューラル - 既定ニューラル - HDニューラル - 多言語ニューラル - マルチスタイルニューラル - 多言語が含まれます。 各方法の詳細については、「 トレーニング方法の選択」を参照してください。
  2. トレーニングレシピバージョンを選択 します。 既定では、最新バージョンが選択されています。 サポートされている機能とトレーニング時間は、バージョンによって異なる場合があります。 場合によっては、以前のバージョンを選択してトレーニング時間を短縮できます。
  3. モデル言語を確認します。
  4. [ データセットの選択 ] ドロップダウンから、アップロードしたデータセットを選択します。
  5. [ 次へ] を選択します。
  6. [ レビュー ] ウィンドウで、設定を確認し、使用条件に同意します。
  7. [ トレーニング ] を選択してモデルのトレーニングを開始します。

トレーニング プロセスを監視する

[モデルのトレーニング] の表に、この新しく作成されたモデルに対応する新しいエントリが表示されます。 状態は、次の表に示すように、データを音声モデルに変換するプロセスを反映します。

状態 意味
処理 音声モデルが作成されています。
成功 音声モデルが作成され、デプロイできます。
失敗 しました 音声モデルがトレーニングに失敗しました。 エラーの原因は、目に見えないデータの問題やネットワークの問題などです。
キャンセル 音声モデルのトレーニングが取り消されました。

モデルの状態が [処理中] の間は、モデルを選択し、[ トレーニングのキャンセル] を選択してトレーニングを取り消すことができます。 このキャンセルされたトレーニングには課金されません。

モデルのトレーニングをキャンセルする方法を示すスクリーンショット。

モデルのトレーニングが正常に完了したら、モデルの詳細を確認し、 音声モデルをテストできます

モデルの名前を変更する

モデルの名前を変更するには、モデルを複製する必要があります。 モデルの名前を直接変更することはできません。

  1. モデルを選択します。
  2. [ モデルの複製] を選択して、現在のプロジェクトに新しい名前を持つモデルの複製を作成します。
  3. [音声モデルの複製] ウィンドウに新しい名前を入力します。
  4. [ 送信] を選択しますニューラル は新しいモデル名に自動的にサフィックスとして追加されます。

音声モデルをテストする

音声モデルが正常に構築されたら、生成されたサンプル オーディオ ファイルを使用して、デプロイする前にテストできます。

メモ

ニューラル - 多言語ニューラル - HD 音声 では、この種類のテストはサポートされていません。

音声の品質は、次のような多くの要因によって異なります。

  • トレーニング データのサイズ。
  • 録音の品質。
  • トランスクリプト ファイルの精度。
  • トレーニング データに記録された音声が、意図したユース ケースに合わせて設計された音声の性格とどの程度一致しているか。

[テスト] で [DefaultTests] を選択して、サンプル オーディオ ファイルをリッスンします。 既定のテスト サンプルには、モデルのテストに役立つトレーニング中に自動的に生成される 100 個のサンプル オーディオ ファイルが含まれています。 既定で提供されるこれらの 100 個のオーディオ ファイルに加えて、独自のテスト スクリプト発話も DefaultTests セットに追加されます。 この追加は、最大 100 個の発話です。 DefaultTests を使用したテストには課金されません。

独自のテスト スクリプトをアップロードしてモデルをさらにテストする場合は、[ テスト スクリプトの追加] を選択して独自のテスト スクリプトをアップロードします。

テスト スクリプトをアップロードする前に、 テスト スクリプトの要件を確認します。 課金対象の文字数に基づいて、バッチ合成による追加のテストに対して課金されます。 Azure Speech の価格を Foundry Tools の価格ページで参照してください。

[ テスト スクリプトの追加] で、[ ファイルの参照 ] を選択して独自のスクリプトを選択し、[ 追加] を選択してアップロードします。

テスト スクリプトの要件

テスト スクリプトは、1 MB 未満の .txt ファイルである必要があります。 サポートされているエンコード形式には、ANSI/ASCII、UTF-8、UTF-8-BOM、UTF-16-LE、UTF-16-BE などがあります。

訓練用文字起こしファイルとは異なり、テストスクリプトでは各発話のファイル名である発話IDを除外する必要があります。 それ以外の場合は、これらの ID が読み上げられます。

次の一例は、1つの.txtファイル内にある発話セットです。

This is the waistline, and it's falling.
We have trouble scoring.
It was Janet Maslin.

発話の各段落は、個別のオーディオになります。 すべての文を 1 つのオーディオに結合する場合は、1 つの段落にします。

メモ

生成されたオーディオ ファイルは、自動テスト スクリプトとカスタム テスト スクリプトの組み合わせです。

音声モデルのエンジン バージョンを更新する

Azureテキスト読み上げエンジンは、言語の発音を定義する最新の言語モデルをキャプチャするために随時更新されます。 音声をトレーニングしたら、最新のエンジン バージョンに更新することで、新しい言語モデルに音声を適用できます。

  • 新しいエンジンが使用可能になると、ニューラル音声モデルを更新するように求められます。
  • モデルの詳細ページに移動し、画面の指示に従って最新のエンジンをインストールします。
  • または、[ 最新のエンジンを 後でインストールする] を選択して、モデルを最新のエンジン バージョンに更新します。 エンジンの更新には課金されません。 以前のバージョンは引き続き保持されます。
  • モデルのすべてのエンジン バージョンは、エンジンの バージョンの一 覧から確認することも、不要な場合は削除することもできます。

更新されたバージョンは、既定として自動的に設定されます。 ただし、ドロップダウン リストからバージョンを選択し、[既定 として設定] を選択することで、既定のバージョンを変更できます。

音声モデルの各エンジン バージョンをテストする場合は、一覧からバージョンを選択し、[テスト] の下の [DefaultTests] を選択してサンプル オーディオ ファイルをリッスンできます。 独自のテスト スクリプトをアップロードして現在のエンジンのバージョンをさらにテストする場合は、まずバージョンが既定として設定されていることを確認してから、「 音声モデルをテストする」の手順に従います。

エンジンを更新すると、追加料金なしでモデルの新しいバージョンが作成されます。 音声モデルのエンジン バージョンを更新した後、新しいバージョンをデプロイして 新しいエンドポイントを作成する必要があります。 既定のバージョンのみをデプロイできます。

新しいエンドポイントを作成したら、 製品の新しいエンドポイントにトラフィックを転送する必要があります

この機能の機能と制限、およびモデルの品質を向上させるためのベスト プラクティスの詳細については、「 カスタム音声を使用するための特性と制限事項」を参照してください。

音声モデルを別のプロジェクトにコピーする

メモ

このコンテキストでは、"プロジェクト" は、Microsoft Foundry プロジェクトではなく、微調整タスクを指します。

トレーニング後、音声モデルを同じリージョンまたは別のリージョンの別のプロジェクトにコピーできます。

たとえば、あるリージョンでトレーニングされたプロの音声モデルを、別のリージョンのプロジェクトにコピーできます。 プロの音声微調整は現在、 一部のリージョンでのみ使用できます

カスタム音声モデルを別のプロジェクトにコピーするには:

  1. [ モデルのトレーニング ] タブで、コピーする音声モデルを選択し、[ プロジェクトにコピー] を選択します。
  2. モデルをコピーするサブスクリプション、ターゲット リージョン接続済み AI サービス リソース (Foundry リソース)、およびターゲットの微調整タスクを選択します。
  3. [ コピー先] を選択してモデルをコピーします。
  4. コピーが成功した場合は、通知メッセージの下にある [ モデルの表示 ] を選択します。

モデルコピーを配置するためにモデルをコピーしたプロジェクト 移動します。

次の手順

この記事では、Speech Studio ポータルを使用してプロの音声を微調整する方法について説明します。

重要

プロの音声微調整は現在、一部のリージョンでのみ使用できます。 サポートされているリージョンで音声モデルをトレーニングした後、必要に応じて別のリージョンの Speech の Foundry リソースに コピー できます。 詳細については、 Speech Service テーブルの脚注を参照してください。

トレーニング期間は、使用するデータの量によって異なります。 プロの音声を微調整するには、平均で約 10 時間かかります。 Standard サブスクリプション (S0) ユーザーは、4 つの音声を同時にトレーニングできます。 制限に達した場合は、少なくとも 1 つの音声モデルがトレーニングを完了するまで待ってから、もう一度やり直してください。

メモ

トレーニング方法ごとに必要な合計時間数は異なりますが、それぞれに同じ単価が適用されます。 詳細については、 カスタム ニューラル トレーニングの価格の詳細を参照してください

トレーニング方法を選択する

データ ファイルを検証したら、それらを使用してカスタム音声モデルを構築します。 カスタム音声を作成する場合は、次のいずれかの方法でトレーニングできます。

  • ニューラル: トレーニング データと同じ言語で音声を作成します。

  • ニューラル - HD 音声: トレーニング データと同じ言語で HD 音声を作成します。 Azureニューラル HD 音声は LLM ベースで、動的な会話用に最適化されています。 ニューラル HD 音声の詳細については 、こちらをご覧ください

  • ニューラル - 多言語: 単一言語のトレーニング データを使用して、複数の言語を話す音声を作成します。 たとえば、 en-US プライマリ トレーニング データを使用すると、 en-USde-DEzh-CN などの第 2 言語を話す音声を作成できます。

    トレーニング データのプライマリ言語と第 2 言語は、多言語音声トレーニングで サポートされている言語 である必要があります。 セカンダリ言語でトレーニング データを準備する必要はありません。

  • ニューラル - マルチ スタイル: 新しいトレーニング データを追加せずに、複数のスタイルと感情で話すカスタム音声を作成します。 複数のスタイルの音声は、ビデオゲームのキャラクター、会話チャットボット、オーディオブック、コンテンツ リーダーなどに役立ちます。

    複数のスタイルの音声を作成するには、一連の一般的なトレーニング データ (少なくとも 300 個の発話) を準備する必要があります。 1 つ以上のプリセットターゲット読み上げスタイルを選択します。 同じ音声の追加のトレーニング データとして、スタイル サンプル (スタイルあたり少なくとも 100 個の発話) を提供することで、複数のカスタム スタイルを作成することもできます。 サポートされているプリセット スタイルは、言語によって異なります。 さまざまな言語で使用可能なプリセット スタイルを参照してください

  • ニューラル - 多言語: トレーニング データとは異なる言語を話す音声を作成します。 たとえば、 zh-CN トレーニング データを使用すると、 en-USを話す音声を作成できます。

    トレーニング データの言語とターゲット言語の両方が、多言語音声トレーニングで サポートされている言語 の 1 つである必要があります。 ターゲット言語でトレーニング データを準備する必要はありませんが、テスト スクリプトはターゲット言語である必要があります。

トレーニング データの言語は、カスタム音声、多言語、または複数のスタイルのトレーニングで サポートされている言語 のいずれかである必要があります。

カスタム音声モデルをトレーニングする

Speech Studio でカスタム音声を作成するには、次のいずれかの方法で次の手順を実行します。

  1. Speech Studio にサインインします。

  2. 選択 カスタムボイス><プロジェクト名>>モデルをトレーニング>新しいモデルをトレーニング

  3. モデルのトレーニング方法として [ニューラル] を選択し、[次へ] を選択します。 別のトレーニング方法を使用するには、「 ニューラル - 多言語 または ニューラル - マルチスタイル または ニューラル - 多言語 または ニューラル - HD 音声」を参照してください。

    ニューラル トレーニングを選択する方法を示すスクリーンショット。

  4. モデルのトレーニング レシピのバージョンを選択します。 既定では、最新バージョンが選択されています。 サポートされている機能とトレーニング時間は、バージョンによって異なる場合があります。 通常は、最新バージョンをお勧めします。 場合によっては、以前のバージョンを選択してトレーニング時間を短縮できます。 2 か国語のトレーニングとロケール間の違いの詳細については、2 か国語のトレーニングを参照してください。

    メモ

    モデルバージョン V3.0V7.0 、および V8.0 は、2025 年 7 月 25 日に廃止されました。 これらの廃止されたバージョンで既に作成されている音声モデルは影響を受けません。

  5. トレーニングに使用するデータを選択します。 重複するオーディオ名はトレーニングから削除されます。 選択したデータに、複数の .zip ファイル間で同じオーディオ名が含まれていないことを確認します。

    トレーニング用に正常に処理されたデータセットのみを選択できます。 トレーニング セットが一覧に表示されない場合は、データ処理の状態を確認します。

  6. トレーニング データの話者に対応する音声タレント ステートメントを含むスピーカー ファイルを選択します。

  7. [ 次へ] を選択します。

  8. 各トレーニングでは、既定のスクリプトを使用してモデルをテストするのに役立つ 100 個のサンプル オーディオ ファイルが自動的に生成されます。

    必要に応じて、[独自の テスト スクリプトの追加] を選択し、独自のテスト スクリプトに最大 100 個の発話を提供して、追加料金なしでモデルをテストすることもできます。 生成されたオーディオ ファイルは、自動テスト スクリプトとカスタム テスト スクリプトの組み合わせです。 詳細については、 テスト スクリプトの要件を参照してください。

  9. モデルを識別するのに役立つ名前を入力 します 。 名前は慎重に選択してください。 モデル名は、SDK と SSML 入力によって 音声合成要求の音声 名として使用されます。 文字、数字、およびいくつかの句読点文字のみを使用できます。 ニューラル音声モデルごとに異なる名前を使用します。

  10. 必要に応じて、モデルの識別に役立つ 説明 を入力します。 説明の一般的な用途は、モデルの作成に使用したデータの名前を記録することです。

  11. [ 次へ] を選択します。

  12. 設定を確認し、使用条件に同意するボックスを選択します。

  13. [ 送信] を選択して、モデルのトレーニングを開始します。

2 か国語トレーニング

ニューラル トレーニングの種類を選択した場合は、複数の言語で話すように音声をトレーニングできます。 zh-CNzh-HKzh-TWロケールは、中国語と英語の両方を話す音声の二か国語トレーニングをサポートしています。 合成された音声は、トレーニング データの一部に応じて、英語のネイティブ アクセントまたはトレーニング データと同じアクセントを持つ英語を話すことができます。

メモ

zh-CN ロケールの音声がサンプル データと同じアクセントで英語を話せるようにするには、英語データをコンテキスト トレーニング セットにアップロードするか、プロジェクトの作成時にChinese (Mandarin, Simplified), English bilingualを選択するか、REST API を使用してトレーニング セット データのzh-CN (English bilingual)ロケールを指定する必要があります。

コンテキスト トレーニング セットには、少なくとも 100 文または 10 分の英語コンテンツを含め、中国語コンテンツの量を超えないようにします。

ロケールの違いを次の表に示します。

Speech Studio ロケール REST API ロケール 2 か国語サポート
Chinese (Mandarin, Simplified) zh-CN サンプル データに英語が含まれている場合、合成された音声は、英語データの量に関係なく、サンプル データと同じアクセントではなく、英語のネイティブ アクセントで英語を話します。
Chinese (Mandarin, Simplified), English bilingual zh-CN (English bilingual) 合成された音声でサンプル データと同じアクセントで英語を話す場合は、トレーニング セットに 10% 以上の英語データを含めてお勧めします。 それ以外の場合は、英語を話すアクセントが理想的ではない可能性があります。
Chinese (Cantonese, Simplified) zh-HK サンプル データと同じアクセントで英語を話せる合成音声をトレーニングする場合は、トレーニング セットで 10% 以上の英語データを提供してください。 それ以外の場合、既定では英語のネイティブ アクセントになります。 10% しきい値は、アップロード前のデータではなく、アップロードが成功した後に受け入れられたデータに基づいて計算されます。 一部のアップロードされた英語データが欠陥のために拒否され、10% のしきい値を満たしていない場合、合成された音声は既定で英語のネイティブ アクセントになります。
Chinese (Taiwanese Mandarin, Traditional) zh-TW サンプル データと同じアクセントで英語を話せる合成音声をトレーニングする場合は、トレーニング セットで 10% 以上の英語データを提供してください。 それ以外の場合、既定では英語のネイティブ アクセントになります。 10% しきい値は、アップロード前のデータではなく、アップロードが成功した後に受け入れられたデータに基づいて計算されます。 一部のアップロードされた英語データが欠陥のために拒否され、10% のしきい値を満たしていない場合、合成された音声は既定で英語のネイティブ アクセントになります。

トレーニング プロセスを監視する

[モデルのトレーニング] の表に、この新しく作成されたモデルに対応する新しいエントリが表示されます。 状態は、次の表に示すように、データを音声モデルに変換するプロセスを反映します。

状態 意味
処理 音声モデルが作成されています。
成功 音声モデルが作成され、デプロイできます。
失敗 しました 音声モデルがトレーニングに失敗しました。 エラーの原因は、目に見えないデータの問題やネットワークの問題などです。
キャンセル 音声モデルのトレーニングが取り消されました。

モデルの状態が [処理中] の間は、[ トレーニングのキャンセル ] を選択して音声モデルを取り消すことができます。 このキャンセルされたトレーニングには課金されません。

モデルのトレーニングをキャンセルする方法を示すスクリーンショット。

モデルのトレーニングが正常に完了したら、モデルの詳細を確認し、 音声モデルをテストできます

Speech Studio の オーディオ コンテンツ作成 ツールを使用して、オーディオを作成し、デプロイした音声を微調整できます。 音声に該当する場合は、複数のスタイルのいずれかを選択できます。

モデルの名前を変更する

  1. 構築したモデルの名前を変更する場合は、[ モデルの複製 ] を選択して、現在のプロジェクトに新しい名前のモデルの複製を作成します。

    [モデルの複製] ボタンを選択したスクリーンショット。

  2. [ 音声モデルの複製 ] ウィンドウに新しい名前を入力し、[ 送信 ] を選択します。 ニューラル は新しいモデル名に自動的にサフィックスとして追加されます。

    新しい名前でモデルを複製するスクリーンショット。

音声モデルをテストする

音声モデルが正常に構築されたら、生成されたサンプル オーディオ ファイルを使用して、デプロイする前にテストできます。

メモ

ニューラル - 多言語ニューラル - HD 音声 では、この種類のテストはサポートされていません。

音声の品質は、次のような多くの要因によって異なります。

  • トレーニング データのサイズ。
  • 録音の品質。
  • トランスクリプト ファイルの精度。
  • トレーニング データに記録された音声が、意図したユース ケースに合わせて設計された音声の性格とどの程度一致しているか。

[テスト] で [DefaultTests] を選択して、サンプル オーディオ ファイルをリッスンします。 既定のテスト サンプルには、モデルのテストに役立つトレーニング中に自動的に生成される 100 個のサンプル オーディオ ファイルが含まれています。 既定で提供されるこれらの 100 個のオーディオ ファイルに加えて、独自のテスト スクリプト発話も DefaultTests セットに追加されます。 この追加は、最大 100 個の発話です。 DefaultTests を使用したテストには課金されません。

[テスト] で DefaultTests を選択しているスクリーンショット。

独自のテスト スクリプトをアップロードしてモデルをさらにテストする場合は、[ テスト スクリプトの追加] を選択して独自のテスト スクリプトをアップロードします。

モデル テスト スクリプトの追加のスクリーンショット。

テスト スクリプトをアップロードする前に、 テスト スクリプトの要件を確認します。 課金対象の文字数に基づいて、バッチ合成による追加のテストに対して課金されます。 Azure Speech の価格を Foundry Tools の価格ページで参照してください。

[ テスト スクリプトの追加] で、[ ファイルの参照 ] を選択して独自のスクリプトを選択し、[ 追加] を選択してアップロードします。

モデル テスト スクリプトのアップロードのスクリーンショット。

テスト スクリプトの要件

テスト スクリプトは、1 MB 未満の .txt ファイルである必要があります。 サポートされているエンコード形式には、ANSI/ASCII、UTF-8、UTF-8-BOM、UTF-16-LE、UTF-16-BE などがあります。

訓練用文字起こしファイルとは異なり、テストスクリプトでは各発話のファイル名である発話IDを除外する必要があります。 それ以外の場合は、これらの ID が読み上げられます。

次の一例は、1つの.txtファイル内にある発話セットです。

This is the waistline, and it's falling.
We have trouble scoring.
It was Janet Maslin.

発話の各段落は、個別のオーディオになります。 すべての文を 1 つのオーディオに結合する場合は、1 つの段落にします。

メモ

生成されたオーディオ ファイルは、自動テスト スクリプトとカスタム テスト スクリプトの組み合わせです。

音声モデルのエンジン バージョンを更新する

Azureテキスト読み上げエンジンは、言語の発音を定義する最新の言語モデルをキャプチャするために随時更新されます。 音声をトレーニングしたら、最新のエンジン バージョンに更新することで、新しい言語モデルに音声を適用できます。

  1. 新しいエンジンが使用可能になると、ニューラル音声モデルを更新するように求められます。

    エンジンの更新メッセージを表示しているスクリーンショット。

  2. モデルの詳細ページに移動し、画面の指示に従って最新のエンジンをインストールします。

    新しいエンジンをインストールするための画面の指示に従うスクリーンショット。

    または、[ 最新のエンジンを 後でインストールする] を選択して、モデルを最新のエンジン バージョンに更新します。

    [最新のエンジンのインストール] ボタンを選択してエンジンを更新するスクリーンショット。

    エンジンの更新には課金されません。 以前のバージョンは引き続き保持されます。

  3. モデルのすべてのエンジン バージョンは、エンジンの バージョンの一 覧から確認することも、不要な場合は削除することもできます。

    [エンジン のバージョン] ドロップダウン リストを表示しているスクリーンショット。

    更新されたバージョンは、既定として自動的に設定されます。 ただし、ドロップダウン リストからバージョンを選択し、[既定 として設定] を選択することで、既定のバージョンを変更できます。

    バージョンを既定として設定する方法を示すスクリーンショット。

音声モデルの各エンジン バージョンをテストする場合は、一覧からバージョンを選択し、[テスト] の下の [DefaultTests] を選択してサンプル オーディオ ファイルをリッスンできます。 独自のテスト スクリプトをアップロードして現在のエンジンのバージョンをさらにテストする場合は、まずバージョンが既定として設定されていることを確認してから、「 音声モデルをテストする」の手順に従います。

エンジンを更新すると、追加料金なしでモデルの新しいバージョンが作成されます。 音声モデルのエンジン バージョンを更新した後、新しいバージョンをデプロイして 新しいエンドポイントを作成する必要があります。 既定のバージョンのみをデプロイできます。

音声モデルの新しいバージョンを再デプロイする方法を示すスクリーンショット。

新しいエンドポイントを作成したら、 製品の新しいエンドポイントにトラフィックを転送する必要があります

この機能の機能と制限、およびモデルの品質を向上させるためのベスト プラクティスの詳細については、「 カスタム音声を使用するための特性と制限事項」を参照してください。

音声モデルを別のプロジェクトにコピーする

音声モデルは、同じリージョンまたは別のリージョンの別のプロジェクトにコピーできます。 たとえば、あるリージョンでトレーニングされたニューラル音声モデルを、別のリージョンのプロジェクトにコピーできます。

メモ

プロの音声微調整は現在、一部のリージョンでのみ使用できます。 ニューラル音声モデルは、それらのリージョンから他のリージョンにコピーできます。 詳細については、 カスタム音声のリージョンを参照してください。

カスタム音声モデルを別のプロジェクトにコピーするには:

  1. [ モデルのトレーニング ] タブで、コピーする音声モデルを選択し、[ プロジェクトにコピー] を選択します。

    [プロジェクトにコピー] オプションのスクリーンショット。

  2. モデルをコピーする SubscriptionRegionSpeech リソース、および Project を選択します。 ターゲット リージョンに音声リソースとプロジェクトが必要です。それ以外の場合は、最初に作成する必要があります。

    [音声モデルのコピー] ダイアログのスクリーンショット。

  3. [ 送信] を選択してモデルをコピーします。

  4. コピーが成功した場合は、通知メッセージの下にある [ モデルの表示 ] を選択します。

モデルコピーを配置するためにモデルをコピーしたプロジェクト 移動します。

次の手順

この記事では、カスタム音声 API を使用してプロの音声を微調整する方法について説明します。

重要

プロの音声微調整は現在、一部のリージョンでのみ使用できます。 サポートされているリージョンで音声モデルをトレーニングしたら、必要に応じて別のリージョンの Foundry リソースにコピーできます。 詳細については、 Speech Service テーブルの脚注を参照してください。

トレーニング期間は、使用するデータの量によって異なります。 プロの音声を微調整するには、平均で約 10 時間かかります。 Standard サブスクリプション (S0) ユーザーは、4 つの音声を同時にトレーニングできます。 制限に達した場合は、少なくとも 1 つの音声モデルがトレーニングを完了するまで待ってから、もう一度やり直してください。

メモ

トレーニング方法ごとに必要な合計時間数は異なりますが、それぞれに同じ単価が適用されます。 詳細については、 カスタム ニューラル トレーニングの価格の詳細を参照してください

トレーニング方法を選択する

データ ファイルを検証したら、それらを使用してカスタム音声モデルを構築します。 カスタム音声を作成する場合は、次のいずれかの方法でトレーニングできます。

  • ニューラル: トレーニング データと同じ言語で音声を作成します。

  • ニューラル - HD 音声: トレーニング データと同じ言語で HD 音声を作成します。 Azureニューラル HD 音声は LLM ベースで、動的な会話用に最適化されています。 ニューラル HD 音声の詳細については 、こちらをご覧ください

  • ニューラル - マルチ スタイル: 新しいトレーニング データを追加せずに、複数のスタイルと感情で話すカスタム音声を作成します。 複数のスタイルの音声は、ビデオゲームのキャラクター、会話チャットボット、オーディオブック、コンテンツ リーダーなどに役立ちます。

    複数のスタイルの音声を作成するには、一連の一般的なトレーニング データ (少なくとも 300 個の発話) を準備する必要があります。 1 つ以上のプリセットターゲット読み上げスタイルを選択します。 同じ音声の追加のトレーニング データとして、スタイル サンプル (スタイルあたり少なくとも 100 個の発話) を提供することで、複数のカスタム スタイルを作成することもできます。 サポートされているプリセット スタイルは、言語によって異なります。 さまざまな言語で使用可能なプリセット スタイルを参照してください

  • ニューラル - 多言語: トレーニング データとは異なる言語を話す音声を作成します。 たとえば、 fr-FR トレーニング データを使用すると、 en-USを話す音声を作成できます。

    トレーニング データの言語とターゲット言語の両方が、多言語音声トレーニングで サポートされている言語 の 1 つである必要があります。 ターゲット言語でトレーニング データを準備する必要はありませんが、テスト スクリプトはターゲット言語である必要があります。

トレーニング データの言語は、カスタム音声、多言語、または複数のスタイルまたは HD 音声のトレーニングで サポートされている言語 のいずれかである必要があります。

音声モデルを作成する

ニューラル音声を作成するには、カスタム音声 API の Models_Create 操作を使用します。 次の手順に従って要求本文を構築します。

  • 必要な projectId プロパティを設定します。 プロジェクトの作成を参照してください。
  • 必要な consentId プロパティを設定します。 音声タレントの同意を追加するを参照してください。
  • 必要な trainingSetId プロパティを設定します。 トレーニング セットの作成を参照してください。
  • ニューラル音声トレーニングに必要なレシピ kind プロパティを Default に設定します。 レシピの種類はトレーニング方法を示し、後で変更することはできません。 別のトレーニング方法を使用するには、「 ニューラル - 多言語 または ニューラル - マルチスタイル または ニューラル - HD Voice」を参照してください。 2 か国語のトレーニングとロケール間の違いの詳細については、2 か国語のトレーニングを参照してください。
  • 必要な voiceName プロパティを設定します。 名前は慎重に選択してください。 音声名は、SDK と SSML 入力によって 音声合成要求 で使用されます。 文字、数字、およびいくつかの句読点文字のみを使用できます。 ニューラル音声モデルごとに異なる名前を使用します。
  • 必要に応じて、音声の説明の description プロパティを設定します。 音声の説明は後で変更できます。

次の Models_Create 例に示すように、URI を使用して HTTP PUT 要求を行います。

  • YourResourceKeyを Speech リソース キーに置き換えます。
  • YourResourceNameを音声リソース名に置き換えます。
  • JessicaModelIdを、選択したモデル ID に置き換えます。 大文字と小文字を区別する ID はモデルの URI で使用され、後で変更することはできません。
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourResourceKey" -H "Content-Type: application/json" -d '{
  "voiceName": "JessicaNeural",
  "description": "Jessica voice",
  "recipe": {
    "kind": "Default"
  },
  "projectId": "ProjectId",
  "consentId": "JessicaConsentId",
  "trainingSetId": "JessicaTrainingSetId"
} '  "https://YourResourceName.cognitiveservices.azure.com/customvoice/models/JessicaModelId?api-version=2026-01-01"

次の形式で応答本文を受け取る必要があります。

{
  "id": "JessicaModelId",
  "voiceName": "JessicaNeural",
  "description": "Jessica voice",
  "recipe": {
    "kind": "Default",
    "version": "V10.0"
  },
  "projectId": "ProjectId",
  "consentId": "JessicaConsentId",
  "trainingSetId": "JessicaTrainingSetId",
  "locale": "en-US",
  "engineVersion": "2023.07.04.0",
  "status": "NotStarted",
  "createdDateTime": "2023-04-01T05:30:00.000Z",
  "lastActionDateTime": "2023-04-02T10:15:30.000Z"
}

2 か国語トレーニング

ニューラル トレーニングの種類を選択した場合は、複数の言語で話すように音声をトレーニングできます。 zh-CNzh-HKzh-TWロケールは、中国語と英語の両方を話す音声の二か国語トレーニングをサポートしています。 合成された音声は、トレーニング データの一部に応じて、英語のネイティブ アクセントまたはトレーニング データと同じアクセントを持つ英語を話すことができます。

メモ

zh-CN ロケールの音声がサンプル データと同じアクセントで英語を話せるようにするには、英語データをコンテキスト トレーニング セットにアップロードするか、プロジェクトの作成時にChinese (Mandarin, Simplified), English bilingualを選択するか、REST API を使用してトレーニング セット データのzh-CN (English bilingual)ロケールを指定する必要があります。

コンテキスト トレーニング セットには、少なくとも 100 文または 10 分の英語コンテンツを含め、中国語コンテンツの量を超えないようにします。

ロケールの違いを次の表に示します。

Speech Studio ロケール REST API ロケール 2 か国語サポート
Chinese (Mandarin, Simplified) zh-CN サンプル データに英語が含まれている場合、合成された音声は、英語データの量に関係なく、サンプル データと同じアクセントではなく、英語のネイティブ アクセントで英語を話します。
Chinese (Mandarin, Simplified), English bilingual zh-CN (English bilingual) 合成された音声でサンプル データと同じアクセントで英語を話す場合は、トレーニング セットに 10% 以上の英語データを含めてお勧めします。 それ以外の場合は、英語を話すアクセントが理想的ではない可能性があります。
Chinese (Cantonese, Simplified) zh-HK サンプル データと同じアクセントで英語を話せる合成音声をトレーニングする場合は、トレーニング セットで 10% 以上の英語データを提供してください。 それ以外の場合、既定では英語のネイティブ アクセントになります。 10% しきい値は、アップロード前のデータではなく、アップロードが成功した後に受け入れられたデータに基づいて計算されます。 一部のアップロードされた英語データが欠陥のために拒否され、10% のしきい値を満たしていない場合、合成された音声は既定で英語のネイティブ アクセントになります。
Chinese (Taiwanese Mandarin, Traditional) zh-TW サンプル データと同じアクセントで英語を話せる合成音声をトレーニングする場合は、トレーニング セットで 10% 以上の英語データを提供してください。 それ以外の場合、既定では英語のネイティブ アクセントになります。 10% しきい値は、アップロード前のデータではなく、アップロードが成功した後に受け入れられたデータに基づいて計算されます。 一部のアップロードされた英語データが欠陥のために拒否され、10% のしきい値を満たしていない場合、合成された音声は既定で英語のネイティブ アクセントになります。

さまざまな言語で使用可能なプリセット スタイル

次の表は、さまざまな言語に応じたさまざまなプリセット スタイルをまとめたものです。

話し方 言語 (ロケール)
怒って 英語 (米国) (en-US)
日本語 (日本) (ja-JP) 1
中国語 (標準中国語、簡体字) (zh-CN) 1
穏やか 中国語 (標準中国語、簡体字) (zh-CN) 1
チャット 中国語 (標準中国語、簡体字) (zh-CN) 1
陽気 英語 (米国) (en-US)
日本語 (日本) (ja-JP) 1
中国語 (標準中国語、簡体字) (zh-CN) 1
不機嫌な 中国語 (標準中国語、簡体字) (zh-CN) 1
ワクワク 英語 (米国) (en-US)
恐ろしい 中国語 (標準中国語、簡体字) (zh-CN) 1
フレンドリー 英語 (米国) (en-US)
希望を抱く 英語 (米国) (en-US)
悲しい 英語 (米国) (en-US)
日本語 (日本) (ja-JP) 1
中国語 (標準中国語、簡体字) (zh-CN) 1
大声で叫んで 英語 (米国) (en-US)
深刻 中国語 (標準中国語、簡体字) (zh-CN) 1
怯えた 英語 (米国) (en-US)
非 友好的 英語 (米国) (en-US)
ささやく 英語 (米国) (en-US)

1 ニューラル音声スタイルは、パブリック プレビューで利用できます。 パブリック プレビューでスタイルをサポートするリージョンの現在の一覧については、 Speech Service リージョンの表を参照してください。


トレーニングの状態を取得する

音声モデルのトレーニング状態を取得するには、カスタム音声 API の Models_Get 操作を使用します。 次の手順に従って要求 URI を構築します。

次の Models_Get 例に示すように、URI を使用して HTTP GET 要求を行います。

  • YourResourceKeyを Speech リソース キーに置き換えます。
  • YourResourceNameを音声リソース名に置き換えます。
  • 前の手順で別のモデル ID を指定した場合は、 JessicaModelId を置き換えます。
curl -v -X GET "https://YourResourceName.cognitiveservices.azure.com/customvoice/models/JessicaModelId?api-version=2026-01-01" -H "Ocp-Apim-Subscription-Key: YourResourceKey"

次の形式で応答本文を受け取る必要があります。

メモ

レシピ kind およびその他のプロパティは、 音声のトレーニング方法によって異なります。 この例では、レシピのタイプはニューラル音声トレーニング用の Default です。

{
  "id": "JessicaModelId",
  "voiceName": "JessicaNeural",
  "description": "Jessica voice",
  "recipe": {
    "kind": "Default",
    "version": "V7.2023.03"
  },
  "projectId": "ProjectId",
  "consentId": "JessicaConsentId",
  "trainingSetId": "JessicaTrainingSetId",
  "locale": "en-US",
  "engineVersion": "2023.07.04.0",
  "status": "Succeeded",
  "createdDateTime": "2023-04-01T05:30:00.000Z",
  "lastActionDateTime": "2023-04-02T10:15:30.000Z"
}

トレーニングが完了するまで数分待つ必要がある場合があります。 最終的に、状態は Succeeded または Failedに変わります。

次の手順