個人の音声に話者プロファイル ID を使って、100 以上のロケールでサポートされている 91 の言語のいずれかで音声を合成できます。 ロケール タグは必要ありません。 Personal Voice は、文レベルでの自動言語検出を使用します。
アプリケーションに Personal Voice を統合する
アプリケーションで Personal Voice を使うには、音声合成マークアップ言語 (SSML) を使う必要があります。 SSML は XML ベースのマークアップ言語であり、合成音声の生成用にテキストをマークアップするための標準的な方法を提供します。 SSML タグを使って、音声合成出力の発音、音量、ピッチ、レート、その他の属性を制御します。
SSML の
speakerProfileIdプロパティは、個人の音声のスピーカープロファイルIDを指定するために使用します。音声名は、SSML の
nameプロパティで指定します。 パーソナル音声の場合、音声名はサポートされている基本モデルの音声名のいずれかにする必要があります。 サポートされている基本モデルの音声名の一覧を取得するには、Custom Voice API の BaseModels_List 操作を使います。
次の表に、さまざまな基本モデルの利点を示します。
| 基本モデル | 主要な特徴 | Latency |
|---|---|---|
| DragonLatestNeural | 録音とよく似ています。 | 500 ミリ秒 |
| DragonHDOmniLatestNeural | 自然なプロソディ、スタイル、パラリングイスティック コントロール。 例えば: [laughter] Don't worry—we'll get you a table, no problem! [Sad] Don't worry—we'll get you a table, no problem! サポートされているスタイルとパラリンヒスティックを参照してください。 |
300 ミリ秒 |
| MAI-Voice-1 | 非常に表現力が高く自然で、en-USでのみ利用可能になりました。 | 1500 ミリ秒 |
| MAI-Voice-2 | 高忠実度、表現力豊か。 10 を超える言語で多言語合成をサポートします。 | 1600 ミリ秒 |
| PhoenixLatestNeural | 正確な発音、待機時間の短縮。 | 200 ミリ秒 |
注
Latest や DragonLatestNeural など、PhoenixLatestNeural でラベル付けされた音声名は、随時更新されます。そのパフォーマンスは、継続的な改善のため、更新プログラムによって異なる場合があります。 固定のバージョンを使用する必要がある場合は、PhoenixV2Neural など、バージョン番号でラベル付けされたものを選択します。
- パーソナル音声の場合は、
<lang xml:lang>要素を使用して読み上げ言語を調整できます。 これは、多言語音声の場合と同じです。 lang 要素を使用して異なる言語を話す方法に関するページを参照してください。
音声名と話者プロファイル ID を持つtext to speech要求の SSML の例を次に示します。 このサンプルでは、en-US 要素を使用して言語を zh-HK から <lang xml:lang> に切り替える方法も示します。
<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xmlns:mstts='http://www.w3.org/2001/mstts' xml:lang='en-US'>
<voice name='DragonLatestNeural'>
<mstts:ttsembedding speakerProfileId='your speaker profile ID here'>
I'm happy to hear that you find me amazing and that I have made your trip planning easier and more fun.
<lang xml:lang='zh-HK'>我很高興聽到你覺得我很了不起,我讓你的旅行計劃更輕鬆、更有趣。</lang>
</mstts:ttsembedding>
</voice>
</speak>
SSML は、Speech SDK または REST API で使用できます。
-
リアルタイム音声合成: Speech SDK または REST API を使用してtext to speechを変換します。
- Speech SDK を使用する場合は、事前構築済み音声のように、エンドポイント ID を設定しないでください。
- REST API を使用する場合は、標準の音声エンドポイントを使用します。
パーソナル音声でサポートされている SSML 要素とサポートされていない SSML 要素
Phoenix および Dragon モデルでサポートされている SSML 要素とサポートされていない SSML 要素の詳細については、次の表を参照してください。 SSML 要素の使用方法については、「SSML ドキュメントの構造とイベント」を参照してください。
| 要素 | 説明 | Phoenix でサポートされている | Dragon でサポートされている |
|---|---|---|---|
<voice> |
音声効果とオプション効果 (eq_car と eq_telecomhp8k) を指定します。 |
はい | はい |
<mstts:express-as> |
話し方のスタイルと役割を指定します。 | いいえ | いいえ |
<mstts:ttsembedding> |
パーソナル音声の speakerProfileId プロパティを指定します。 |
はい | はい |
<lang xml:lang> |
話す言語を指定します。 | はい | はい |
<prosody> |
ピッチ、コンター、レンジ、レート、ボリュームを調整します。 | ||
pitch |
テキストのベースラインのピッチを示します。 | いいえ | いいえ |
contour |
ピッチの変動を表します。 | いいえ | いいえ |
range |
テキストのピッチのレンジを表します。 | いいえ | いいえ |
rate |
テキストの読み上げ速度を示します。 | はい | はい |
volume |
読み上げている音声の音量レベルを示します。 | いいえ | いいえ |
<emphasis> |
テキストの単語レベルの強勢を追加または削除します。 | いいえ | いいえ |
<audio> |
SSML ドキュメントに事前録音したオーディオを埋め込みます。 | はい | いいえ |
<mstts:audioduration> |
出力オーディオの時間を指定します。 | いいえ | いいえ |
<mstts:backgroundaudio> |
SSML ドキュメントにバックグラウンド オーディオを追加するか、オーディオ ファイルをtext to speechにミックスします。 | はい | いいえ |
<phoneme> |
SSML ドキュメント内の発音を指定します。 | ||
ipa |
発音記号の 1 つ。 | はい | いいえ |
sapi |
発音記号の 1 つ。 | いいえ | いいえ |
ups |
発音記号の 1 つ。 | はい | いいえ |
x-sampa |
発音記号の 1 つ。 | はい | いいえ |
<lexicon> |
SSML 内での複数エンティティの読み上げ方法を定義します。 | はい | はい(エイリアスのみサポート) |
<say-as> |
要素のテキストのコンテンツ タイプ (数値や日付など) を示します。 | はい | はい |
<sub> |
要素で囲んだテキストの代わりにエイリアス属性のテキスト値を発音する必要があることを示します。 | はい | はい |
<math> |
MathML を入力テキストとして使用して、出力オーディオ内で数学的表記を適切に発音します。 | はい | いいえ |
<bookmark> |
オーディオ ストリーム内の各マーカーのオフセットを取得します。 | はい | いいえ |
<break> |
単語間の休止や句切の既定の動作をオーバーライドします。 | はい | はい |
<mstts:silence> |
テキストの前または後、または連続する 2 つの文の間に句読を挿入します。 | はい | いいえ |
<mstts:viseme> |
人が話す間の顔と口の位置を定義します。 | はい | いいえ |
<p> |
SSML ドキュメント内の段落を表します。 | はい | はい |
<s> |
SSML ドキュメント内の文を表します。 | はい | はい |
パーソナル音声でサポートされている SDK 機能とサポートされていない SDK 機能
次の表は、Phoenix および Dragon モデルでどの SDK 機能がサポートされているかの概要を示しています。 アプリケーションでこれらの SDK 機能を利用する方法の詳細については、「シンセサイザー イベントをサブスクライブする」を参照してください。
| SDK の機能 | 説明 | Phoenix でサポートされている | Dragon でサポートされている |
|---|---|---|---|
| 単語境界 | 合成中に単語境界が受信されたことを通知し、音声合成プロセス中に正確な単語のタイミングを提供します。 | はい | いいえ |
| 口形素イベント | 合成中に口形素 (唇、顎、舌の動き) 情報を提供し、視覚的な同期を可能にします。 | はい | いいえ |