パーソナル音声プロジェクトにユーザーの同意を追加する
Personal Voice 機能では、すべての音声がユーザーの明示的な同意のもとに作成される必要があります。 お客様 (Azure AI Speech リソース所有者) が自身の音声を作成および使用することに同意する、ユーザーの録音されたステートメントが必要です。
パーソナル音声プロジェクトにユーザーの同意を追加するには、パブリック アクセス可能な URL にある録音済みの同意のオーディオ ファイルを指定するか (Consents_Create)、オーディオ ファイルをアップロードします (Consents_Post)。
同意書
ユーザーが同意ステートメントを読んでいる音声の録音が必要です。
各ロケールの同意ステートメント テキストは、GitHub のテキスト読み上げリポジトリから取得できます。 同意ステートメントについては、verbal-statement-all-locales.txt を参照してください。 en-US
ロケールのサンプルを次に示します。
"I [state your first and last name] am aware that recordings of my voice will be used by [state the name of the company] to create and use a synthetic version of my voice."
同意オーディオでサポートされているオーディオ形式
同意オーディオ ファイルでサポートされている形式については、次の表を参照してください。
形式 | サンプル速度 | ビット レート | ビット深度 |
---|---|---|---|
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 ビット |
ファイルから同意を追加する
このシナリオでは、オーディオ ファイルはローカルで使用できる必要があります。
ローカル オーディオ ファイルから個人用音声プロジェクトに同意を追加するには、Custom Voice API の Consents_Post
操作を使用します。 次の手順に従って要求本文を作成します。
- 必須の
projectId
プロパティを設定します。 プロジェクトの作成に関する記事を参照してください。 - 必須の
voiceTalentName
プロパティを設定します。 ボイス タレント名を後から変更することはできません。 - 必須の
companyName
プロパティを設定します。 会社名を後から変更することはできません。 - 必須の
audiodata
プロパティに同意のオーディオ ファイルを設定します。 - 必須の
locale
プロパティを設定します。 これは、同意のロケールにする必要があります。 ロケールを後から変更することはできません。 テキスト読み上げロケールの一覧はこちらにあります。
HTTP POST 要求は、次の Consents_Post
例に示すように URI を使用して行います。
YourResourceKey
をSpeech リソース キーに置き換えます。YourResourceRegion
を Speech リソース リージョンに置き換えます。JessicaConsentId
を任意の同意 ID に置き換えます。 大文字と小文字を区別する ID が同意の URI で使用され、後で変更することはできません。
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourResourceKey" -F 'description="Consent for Jessica voice"' -F 'projectId="ProjectId"' -F 'voiceTalentName="Jessica Smith"' -F 'companyName="Contoso"' -F 'audiodata=@"D:\PersonalVoiceTest\jessica-consent.wav"' -F 'locale="en-US"' "https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/consents/JessicaConsentId?api-version=2024-02-01-preview"
次の形式で応答本文を受け取る必要があります。
{
"id": "JessicaConsentId",
"description": "Consent for Jessica voice",
"projectId": "ProjectId",
"voiceTalentName": "Jessica Smith",
"companyName": "Contoso",
"locale": "en-US",
"status": "NotStarted",
"createdDateTime": "2024-09-01T05:30:00.000Z",
"lastActionDateTime": "2024-09-02T10:15:30.000Z"
}
応答ヘッダーに Operation-Location
プロパティが含まれています。 この URI を使用して、Consents_Post
操作の詳細を取得します。 応答ヘッダーの例を次に示します。
Operation-Location: https://eastus.api.cognitive.microsoft.com/customvoice/operations/070f7986-ef17-41d0-ba2b-907f0f28e314?api-version=2024-02-01-preview
Operation-Id: 070f7986-ef17-41d0-ba2b-907f0f28e314
URL から同意を追加する
このシナリオでは、オーディオ ファイルは既に Azure Blob Storage コンテナー内に保存されている必要があります。
オーディオ ファイルの URL からパーソナル音声プロジェクトに同意を追加するには、custom voice API の Consents_Create 操作を使用します。 次の手順に従って要求本文を作成します。
- 必須の
projectId
プロパティを設定します。 プロジェクトの作成に関する記事を参照してください。 - 必須の
voiceTalentName
プロパティを設定します。 ボイス タレント名を後から変更することはできません。 - 必須の
companyName
プロパティを設定します。 会社名を後から変更することはできません。 - 必須の
audioUrl
プロパティを設定します。 ボイス タレントの同意オーディオ ファイルの URL。 Shared Access Signature (SaS) トークンを含む URI を使用します。 - 必須の
locale
プロパティを設定します。 これは、同意のロケールにする必要があります。 ロケールを後から変更することはできません。 テキスト読み上げロケールの一覧はこちらにあります。
次の Consents_Create の例に示したように URI を使用して HTTP PUT 要求を行います。
YourResourceKey
をSpeech リソース キーに置き換えます。YourResourceRegion
を Speech リソース リージョンに置き換えます。JessicaConsentId
を任意の同意 ID に置き換えます。 大文字と小文字を区別する ID が同意の URI で使用され、後で変更することはできません。
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourResourceKey" -H "Content-Type: application/json" -d '{
"description": "Consent for Jessica voice",
"projectId": "ProjectId",
"voiceTalentName": "Jessica Smith",
"companyName": "Contoso",
"audioUrl": "https://contoso.blob.core.windows.net/public/jessica-consent.wav?mySasToken",
"locale": "en-US"
} ' "https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/consents/JessicaConsentId?api-version=2024-02-01-preview"
次の形式で応答本文を受け取る必要があります。
{
"id": "JessicaConsentId",
"description": "Consent for Jessica voice",
"projectId": "ProjectId",
"voiceTalentName": "Jessica Smith",
"companyName": "Contoso",
"locale": "en-US",
"status": "NotStarted",
"createdDateTime": "2024-09-01T05:30:00.000Z",
"lastActionDateTime": "2024-09-02T10:15:30.000Z"
}
応答ヘッダーに Operation-Location
プロパティが含まれています。 この URI を使用して、Consents_Create 操作の詳細を取得します。 応答ヘッダーの例を次に示します。
Operation-Location: https://eastus.api.cognitive.microsoft.com/customvoice/operations/070f7986-ef17-41d0-ba2b-907f0f28e314?api-version=2024-02-01-preview
Operation-Id: 070f7986-ef17-41d0-ba2b-907f0f28e314