テキスト読み上げアバターのバッチ合成プロパティ
バッチ合成プロパティは、アバター関連プロパティ、バッチ ジョブ関連プロパティ、テキスト読み上げ関連プロパティとしてグループ化できます。次の表で説明します。
新しいバッチ合成ジョブを作成するときは、JSON 形式の一部のプロパティが必要です。 他のプロパティは省略可能です。 バッチ合成応答には、合成の状態と結果に関する情報を提供する他のプロパティが含まれています。 たとえば、outputs.result
プロパティには、アバター ビデオが含まれているビデオ ファイルのダウンロード元の場所が含まれています。 outputs.summary
から、概要とデバッグの詳細にアクセスできます。
アバターのプロパティ
次の表では、アバター プロパティについて説明します。
プロパティ | 説明 |
---|---|
avatarConfig.talkingAvatarCharacter | トーキング アバターのキャラクター名です。 サポートされているアバターのキャラクターとスタイルは、こちらで見つけることができます。 このプロパティが必要です。 |
avatarConfig.talkingAvatarStyle | トーキング アバターのスタイル名。 サポートされているアバター のスタイルについては、こちらをご覧ください。 このプロパティは事前構築済みのアバターに必要であり、カスタマイズされたアバターの場合は省略可能です。 |
avatarConfig.customized | 使用するアバターがカスタマイズされたアバターかどうかを示すブール値。 カスタマイズされたアバターの場合は true、事前構築済みのアバターの場合は false です。 このプロパティは省略可能で、既定値は false です。 |
avatarConfig.videoFormat | 出力ビデオ ファイルの形式は、mp4 または webm です。 透明な背景には webm 形式が必要です。このプロパティは省略可能で、既定値は mp4 です。 |
avatarConfig.videoCodec | 出力ビデオのコーデックは、h264、hevc、vp9、av1 です。 透明な背景には vp9 が必要です。 vp9 エンコードが低速であるため、vp9 コーデックでは合成速度が遅くなります。 このプロパティは省略可能で、既定値は hevc です。 |
avatarConfig.bitrateKbps | 出力ビデオのビットレート (整数値) (単位 kbps)。 このプロパティは省略可能で、既定値は 2000 です。 |
avatarConfig.videoCrop | このプロパティを使用すると、元のビデオの四角形のサブ領域を出力するビデオ出力をトリミングできます。 このプロパティには、四角形の左上の頂点と右下の頂点を定義する 2 つのフィールドがあります。 このプロパティは省略可能であり、既定の動作ではビデオ全体が出力されます。 |
avatarConfig.videoCrop.topLeft | ビデオ トリミング用の四角形の左上の頂点。 このプロパティには、頂点の水平方向と垂直方向の位置を定義する 2 つのフィールド x と y があります。 properties.videoCrop が設定されている場合は、このプロパティが必要です。 |
avatarConfig.videoCrop.bottomRight | ビデオトリミング用の四角形の右下の頂点。 このプロパティには、頂点の水平方向と垂直方向の位置を定義する 2 つのフィールド x と y があります。 properties.videoCrop が設定されている場合は、このプロパティが必要です。 |
avatarConfig.subtitleType | アバター ビデオ ファイル字幕の種類は external_file 、soft_embedded 、hard_embedded または none です。このプロパティは省略可能で、既定値は soft_embedded です。 |
avatarConfig.backgroundImage | avatarConfig.backgroundImage プロパティを使用して背景画像を追加します。 プロパティの値は、目的の画像を指す URL にする必要があります。 このプロパティは省略可能です。 |
avatarConfig.backgroundColor | アバター ビデオの背景色で、#RRGGBBAA 形式の文字列です。 この文字列では、RR、GG、BB、AA は赤、緑、青、およびアルファ チャネルを意味し、16 進値の範囲は 00 ~ FF です。 アルファ チャネルは透明度を制御し、透明の場合は値 00、透明でない場合は値 FF、半透明の場合は 00 から FF の値を制御します。 このプロパティは省略可能で、既定値は #FFFFFFFF (白) です。 |
outputs.result | バッチ合成結果ファイルの場所で、合成されたアバターを含むビデオ ファイルです。 このプロパティは読み取り専用です。 |
properties.DurationInMilliseconds | ビデオ出力の時間 (ミリ秒数)。 このプロパティは読み取り専用です。 |
バッチ合成ジョブのプロパティ
次の表では、バッチ合成ジョブのプロパティについて説明します。
プロパティ | 説明 |
---|---|
createdDateTime | バッチ合成ジョブが作成された日時。 このプロパティは読み取り専用です。 |
description | バッチ合成の説明。 このプロパティは省略可能です。 |
ID | バッチ合成のジョブ ID。 このプロパティは読み取り専用です。 |
lastActionDateTime | 状態プロパティの値が変更された直近の日時。 このプロパティは読み取り専用です。 |
properties | オプションのバッチ合成の構成設定の定義済みセット。 |
properties.destinationContainerUrl | バッチ合成の結果は、書き込み可能な Azure コンテナーに格納できます。 コンテナーの URI を共有アクセス署名 (SAS) トークンと共に指定しなかった場合は、Microsoft が管理するコンテナーに結果が格納されます。 保存されているアクセス ポリシーを使用した SAS はサポートされていません。 合成ジョブが削除されると、結果データも削除されます。 合成ジョブを取得する際の応答には、このオプション プロパティは含まれません。 |
properties.timeToLiveInHours | 合成ジョブが作成されてから、合成の結果が自動的に削除されるまでの期間 (時間数)。 最大 Time to Live は 744 時間です。 状態が "Succeeded" または "Failed" の合成ジョブの自動削除の日時は、lastActionDateTime プロパティと timeToLive プロパティの合計として計算されます。 それ以外の場合、合成の削除メソッドを呼び出せば、もっと早い段階でジョブを削除できます。 |
status | バッチ合成処理の状態。 状態は "NotStarted" から "Running" に、そして最後に "Succeeded" または "Failed" へと推移します。 このプロパティは読み取り専用です。 |
テキスト読み上げプロパティ
次の表では、テキスト読み上げプロパティについて説明します。
プロパティ | 説明 |
---|---|
customVoices | カスタム ニューラル音声は、このように名前とそのデプロイ ID に関連付けられます: "customVoices": {"your-custom-voice-name": "502ac834-6537-4bc3-9fd6-140114daa66d"}inputKind が "PlainText" に設定されている場合は、synthesisConfig.voice で音声名を使用できます。また、inputKind が "SSML" に設定されている場合は、入力の SSML テキスト内で使用できます。カスタム音声を使用するためには、このプロパティが必須となります。 ここで定義されていないカスタム音声を使用しようとすると、サービスからエラーが返されます。 |
inputs | 合成するプレーン テキストまたは SSML。 inputKind が "PlainText" に設定されている場合は、次に示すようにプレーン テキストを指定します。"inputs": [{"content": "The rainbow has seven colors."}]。 inputKind が "SSML" に設定されている場合は、"inputs": [{"content": "<speak version=''1.0''' xml:lang=''en-US'''><voice xml:lang=''en-US''' xml:gender=''Female''' name=''en-US-AvaMultilingualNeural'''>The rainbow has seven colors."}] に示すように、音声合成マークアップ言語 (SSML) でテキストを指定します。 複数のビデオ出力ファイルが必要な場合は、最大 1,000 個のテキスト オブジェクトを含めます。 2 つのビデオ出力ファイルに合成する必要がある入力テキストの例を次に示します。"inputs": [{"content": "synthesize this to a file"},{"content": "synthesize this to another file"}]。 テキスト入力は段落を分ける必要ありません。 最大 1,000 個のテキスト入力の中で、"\r\n" (改行) 文字列を使用して新しい段落を指定することができます。 同じオーディオ出力ファイルに合成する必要がある 2 つの段落を含む入力テキストの例を次に示します: "inputs": [{"content": "synthesize this to a file\r\nsynthesize this to another paragraph in the same file"}] 新しいバッチ合成ジョブを作成する場合、このプロパティは必須です。 合成ジョブを取得する際の応答には、このプロパティは含まれません。 |
properties.billingDetails | customNeural 音声とニューラル (事前構築済み) 音声によって処理および課金された単語の数。 このプロパティは読み取り専用です。 |
synthesisConfig | プレーンテキストのバッチ合成に使用する構成設定。 このプロパティは、inputKind が "PlainText" に設定されている場合にのみ適用されます。 |
synthesisConfig.pitch | 音声出力のピッチ。 指定できる値については、音声合成マークアップ言語 (SSML) のドキュメントの「韻律を調整する」の表を参照してください。 無効な値は無視されます。 この省略可能なプロパティは、inputKind が "PlainText" に設定されている場合にのみ適用されます。 |
synthesisConfig.rate | 音声出力のレート。 指定できる値については、音声合成マークアップ言語 (SSML) のドキュメントの「韻律を調整する」の表を参照してください。 無効な値は無視されます。 この省略可能なプロパティは、inputKind が "PlainText" に設定されている場合にのみ適用されます。 |
synthesisConfig.style | 一部の音声では、話し方を調整して、陽気さ、共感、落ち着きなど、さまざまな感情を表現できます。 カスタマー サービス、ニュースキャスト、音声アシスタントなど、さまざまなシナリオで音声を最適化できます。 音声ごとに使用できるスタイルについては、「音声のスタイルと役割」を参照してください。 この省略可能なプロパティは、inputKind が "PlainText" に設定されている場合にのみ適用されます。 |
synthesisConfig.voice | 音声出力を読み上げる音声。 使用可能な事前構築済みニューラル音声については、言語と音声のサポートに関する記事を参照してください。 カスタム音声を使用するには、customVoices プロパティで有効なカスタム音声とデプロイ ID のマッピングを指定する必要があります。 このプロパティは、inputKind が "PlainText" に設定されている場合に必要です。 |
synthesisConfig.volume | 音声出力のボリューム。 指定できる値については、音声合成マークアップ言語 (SSML) のドキュメントの「韻律を調整する」の表を参照してください。 無効な値は無視されます。 この省略可能なプロパティは、inputKind が "PlainText" に設定されている場合にのみ適用されます。 |
inputKind | 入力テキスト プロパティをプレーンテキストにするか SSML にするかを示します。 指定できる値は "PlainText" と "SSML" で、大文字と小文字は区別されません。 inputKind が "PlainText" に設定されている場合は、synthesisConfig 音声プロパティも設定する必要があります。 このプロパティが必要です。 |
背景を編集する方法
アバター バッチ合成 API では現在、背景動画は設定できません。静的な背景画像のみサポートされています。 ただし、ポストプロダクション中に動画の背景を追加する場合、透明な背景の動画を生成できます。
静的な背景画像を設定するには、avatarConfig.backgroundImage
プロパティを使用し、目的の画像を指す URL を指定します。 さらに、avatarConfig.backgroundColor
プロパティを使用してアバター動画の背景色を設定できます。
透明な背景ビデオを生成するには、バッチ合成要求で次のプロパティを必要な値に設定する必要があります:
プロパティ | 背景の透明度に必要な値 |
---|---|
properties.videoFormat | webm |
properties.videoCodec | vp9 |
properties.backgroundColor | #00000000 (または transparent ) |
Clipchamp は、バッチ合成 API によって生成された透明な背景ビデオをサポートするビデオ編集ツールの一例です。
一部のビデオ編集ソフトウェアは、webm
形式を直接サポートしておらず、Adobe Premiere Pro のような .mov
形式の透明な背景ビデオ入力のみをサポートしています。 このような場合は、まず、FFMPEG などのツールを使用してビデオ形式を webm
から .mov
に変換する必要があります。
FFMPEG コマンド ライン:
ffmpeg -vcodec libvpx-vp9 -i <input.webm> -vcodec png -pix_fmt rgba metadata:s:v:0 alpha_mode="1" <output.mov>
FFMPEG は、ffmpeg.org からダウンロードできます。<input.webm>
と <output.mov>
を、コマンド ラインのローカル パスとファイル名に置き換えます。