パーソナル音声用の話者プロファイル ID を取得する
アプリケーションで Personal Voice を使用するには、話者プロファイル ID を取得する必要があります。 話者プロファイル ID は、指定されたテキスト入力を使用して合成音声を生成するために使用されます。
話者の音声による同意の意思表示と音声プロンプト (5 から 90 秒の明瞭な人間の音声サンプル) に基づいて、話者プロファイル ID を作成します。 ユーザーの音声特性は、テキスト読み上げに使われる speakerProfileId
プロパティにエンコードされます。 詳しくは、アプリケーションでの Personal Voice の使用に関する記事をご覧ください。
Note
Personal Voice ID と話者プロファイル ID は同じではありません。 Personal Voice ID は選択できますが、話者プロファイル ID はサービスによって生成されます。 Personal Voice ID は、Personal Voice を管理するために使用されます。 話者プロファイル ID は、テキスト読み上げに使用されます。
パブリック アクセスが可能な URL のオーディオ ファイル (PersonalVoices_Create) を指定するか、オーディオ ファイルをアップロード (PersonalVoices_Post) します。
プロンプト オーディオ形式
プロンプト オーディオ ファイルでサポートされている形式は次のとおりです。
形式 | サンプル速度 | ビット レート | ビット深度 |
---|---|---|---|
mp3 | 16 kHz、24 kHz、44.1 kHz、48 kHz | 128 kbps、192 kbps、256 kbps、320 kbps | / |
wav | 16 kHz、24 kHz、44.1 kHz、48 kHz | / | 16 ビット、24 ビット、32 ビット |
ファイルからパーソナル音声を作成する
このシナリオでは、オーディオ ファイルはローカルで使用できる必要があります。
パーソナル音声を作成して、話者プロファイル ID を取得するには、Custom Voice API の PersonalVoices_Post 操作を使います。 次の手順に従って要求本文を作成します。
- 必須の
projectId
プロパティを設定します。 プロジェクトの作成に関する記事を参照してください。 - 必須の
consentId
プロパティを設定します。 ユーザーの同意の追加に関する記事を参照してください。 - 必須の
audiodata
プロパティを設定します。 同じ要求で 1 つ以上のオーディオ ファイルを指定できます。
HTTP POST 要求は、以下の PersonalVoices_Post の例に示したように URI を使用して行います。
YourResourceKey
をSpeech リソース キーに置き換えます。YourResourceRegion
を Azure Cognitive Service for Speech リソースのリージョンに置き換えます。JessicaPersonalVoiceId
を任意の Personal Voice ID に置き換えます。 大文字と小文字が区別される ID は Personal Voice の URI で使われ、後で変更することはできません。
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourResourceKey" -F 'projectId="ProjectId"' -F 'consentId="JessicaConsentId"' -F 'audiodata=@"D:\PersonalVoiceTest\CNVSample001.wav"' -F 'audiodata=@"D:\PersonalVoiceTest\CNVSample002.wav"' "
https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/personalvoices/JessicaPersonalVoiceId?api-version=2024-02-01-preview"
次の形式で応答本文を受け取る必要があります。
{
"id": "JessicaPersonalVoiceId",
"speakerProfileId": "3059912f-a3dc-49e3-bdd0-02e449df1fe3",
"projectId": "ProjectId",
"consentId": "JessicaConsentId",
"status": "NotStarted",
"createdDateTime": "2024-09-01T05:30:00.000Z",
"lastActionDateTime": "2024-09-02T10:15:30.000Z"
}
speakerProfileId
プロパティを使用して、テキスト読み上げアプリケーションに Personal Voice を統合します。 詳しくは、アプリケーションでの Personal Voice の使用に関する記事をご覧ください。
応答ヘッダーに Operation-Location
プロパティが含まれています。 この URI を使用して、PersonalVoices_Post 操作の詳細を取得します。 応答ヘッダーの例を次に示します。
Operation-Location: https://eastus.api.cognitive.microsoft.com/customvoice/operations/1321a2c0-9be4-471d-83bb-bc3be4f96a6f?api-version=2024-02-01-preview
Operation-Id: 1321a2c0-9be4-471d-83bb-bc3be4f96a6f
URL からパーソナル音声を作成する
このシナリオでは、オーディオ ファイルは既に Azure Blob Storage コンテナー内に保存されている必要があります。
パーソナル音声を作成して、話者プロファイル ID を取得するには、Custom Voice API の PersonalVoices_Create 操作を使います。 次の手順に従って要求本文を作成します。
- 必須の
projectId
プロパティを設定します。 プロジェクトの作成に関する記事を参照してください。 - 必須の
consentId
プロパティを設定します。 ユーザーの同意の追加に関する記事を参照してください。 - 必須の
audios
プロパティを設定します。audios
プロパティ内で、次のプロパティを設定します。- 必須の
containerUrl
プロパティを、オーディオ ファイルを含む Azure Blob Storage コンテナーの URL に設定します。 読み取りアクセス許可とリスト アクセス許可の両方を持つコンテナーには、Shared Access Signature (SAS) を使用します。 - 必須の
extensions
プロパティを、オーディオ ファイルの拡張子に設定します。 - 必要に応じて、
prefix
プロパティを設定して、BLOB 名のプレフィックスを設定します。
- 必須の
HTTP PUT 要求は、以下の PersonalVoices_Create の例に示したように URI を使用して行います。
YourResourceKey
をSpeech リソース キーに置き換えます。YourResourceRegion
を Azure Cognitive Service for Speech リソースのリージョンに置き換えます。JessicaPersonalVoiceId
を任意の Personal Voice ID に置き換えます。 大文字と小文字が区別される ID は Personal Voice の URI で使われ、後で変更することはできません。
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourResourceKey" -H "Content-Type: application/json" -d '{
"projectId": "ProjectId",
"consentId": "JessicaConsentId",
"audios": {
"containerUrl": "https://contoso.blob.core.windows.net/voicecontainer?mySasToken",
"prefix": "jessica/",
"extensions": [
".wav"
]
}
} ' "https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/personalvoices/JessicaPersonalVoiceId?api-version=2024-02-01-preview"
# Ensure the `containerUrl` has both read and list permissions.
# Ensure the `.wav` files are located in the "jessica" folder within the container. The `prefix` matches all `.wav` files in the "jessica" folder. If there is no such folder, the prefix will match `.wav` files with names starting with "jessica".
次の形式で応答本文を受け取る必要があります。
{
"id": "JessicaPersonalVoiceId",
"speakerProfileId": "3059912f-a3dc-49e3-bdd0-02e449df1fe3",
"projectId": "ProjectId",
"consentId": "JessicaConsentId",
"status": "NotStarted",
"createdDateTime": "2024-09-01T05:30:00.000Z",
"lastActionDateTime": "2024-09-02T10:15:30.000Z"
}
speakerProfileId
プロパティを使用して、テキスト読み上げアプリケーションに Personal Voice を統合します。 詳しくは、アプリケーションでの Personal Voice の使用に関する記事をご覧ください。
応答ヘッダーに Operation-Location
プロパティが含まれています。 この URI を使用して、PersonalVoices_Create 操作の詳細を取得します。 応答ヘッダーの例を次に示します。
Operation-Location: https://eastus.api.cognitive.microsoft.com/customvoice/operations/1321a2c0-9be4-471d-83bb-bc3be4f96a6f?api-version=2024-02-01-preview
Operation-Id: 1321a2c0-9be4-471d-83bb-bc3be4f96a6f