パーソナル音声プロジェクトにユーザーの同意を追加する

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

このシナリオでは、オーディオ ファイルは既に 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

次のステップ