アプリケーションで Personal Voice を使用する
個人の音声に話者プロファイル ID を使って、100 以上のロケールでサポートされている 91 の言語のいずれかで音声を合成できます。 ロケール タグは必要ありません。 Personal Voice は、文レベルでの自動言語検出を使用します。
アプリケーションに Personal Voice を統合する
アプリケーションで Personal Voice を使うには、音声合成マークアップ言語 (SSML) を使う必要があります。 SSML は XML ベースのマークアップ言語であり、合成音声の生成用にテキストをマークアップするための標準的な方法を提供します。 SSML タグを使って、音声合成出力の発音、音量、ピッチ、レート、その他の属性を制御します。
個人の音声に対して話者プロファイル ID を指定するには、SSML の
speakerProfileId
プロパティを使います。音声名は、SSML の
name
プロパティで指定します。 パーソナル音声の場合、音声名はサポートされている基本モデルの音声名のいずれかにする必要があります。 サポートされている基本モデルの音声名の一覧を取得するには、Custom Voice API の BaseModels_List 操作を使います。Note
DragonLatestNeural
やPhoenixLatestNeural
など、Latest
でラベル付けされた音声名は、随時更新されます。そのパフォーマンスは、継続的な改善のため、更新プログラムによって異なる場合があります。 固定のバージョンを使用する必要がある場合は、PhoenixV2Neural
など、バージョン番号でラベル付けされたものを選択します。DragonLatestNeural
は、PhoenixLatestNeural
に比べて音声複製の類似性に優れた基本モデルです。PhoenixLatestNeural
は、DragonLatestNeural
よりも正確な発音と低遅延の基本モデルです。パーソナル音声の場合は、
<lang xml:lang>
要素を使用して読み上げ言語を調整できます。 これは、多言語音声の場合と同じです。 lang 要素を使用して異なる言語を話す方法に関するページを参照してください。
こちらは、音声名とスピーカー プロファイル ID を含むテキスト読み上げの要求における SSML の例です。 このサンプルでは、<lang xml:lang>
要素を使用して言語を en-US
から zh-HK
に切り替える方法も示します。
<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 を使って、テキストを音声に変換します。
- 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 ドキュメントにバックグラウンド オーディオを追加するか、オーディオ ファイルとテキスト読み上げをミックスします。 | はい | いいえ |
<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 でサポートされている |
---|---|---|---|
ワード境界 | 合成中に単語境界が受信されたことを通知し、音声合成プロセス中に正確な単語のタイミングを提供します。 | はい | いいえ |
口形素イベント | 合成中に口形素 (唇、顎、舌の動き) 情報を提供し、視覚的な同期を可能にします。 | はい | いいえ |