Aggiungere il consenso utente al progetto voce neurale personalizzata

Con la funzionalità voce personale, è necessario che ogni voce venga creata con il consenso esplicito dell'utente. È necessaria un'istruzione registrata dall'utente che riconosce che il cliente (proprietario della risorsa Voce di Intelligenza artificiale di Azure) creerà e userà la propria voce.

Per aggiungere il consenso dell'utente al progetto di voce neurale personalizzata, fornire il file audio con il consenso preregistrato da un URL accessibile pubblicamente (Consents_Create) o caricare il file audio (Consents_Post).

È necessaria una registrazione audio dell'utente che pronuncia l'istruzione di consenso.

È possibile ottenere il testo dell'istruzione di consenso per ogni impostazione locale dal repository GitHub di testo al riconoscimento vocale. Vedere verbal-statement-all-locales.txt per l'istruzione di consenso. Di seguito è riportato un esempio per le impostazioni locali 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."

Vedere la tabella di seguito per i formati supportati per i file audio di consenso:

Formato Frequenza di campionamento Velocità in bit Profondità di bit
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-bit, 24-bit, 32-bit

In questo scenario, i file audio devono essere disponibili localmente.

Per aggiungere il consenso a un progetto vocale personale da un file audio locale, usare l'operazione Consents_Post dell'API vocale personalizzata. Creare il corpo della richiesta in base alle istruzioni seguenti:

  • Impostare la proprietà projectId obbligatoria. Vedere creare un progetto.
  • Impostare la proprietà voiceTalentName obbligatoria. Il nome del talento vocale non può essere modificato in un secondo momento.
  • Impostare la proprietà companyName obbligatoria. Il nome della società non può essere modificato in un secondo momento.
  • Impostare la proprietà audiodata obbligatoria con il file audio di consenso.
  • Impostare la proprietà locale obbligatoria. Deve trattarsi delle impostazioni locali del consenso. Le impostazioni locali non possono essere modificate in un secondo momento. Qui è possibile trovare l'elenco delle impostazioni locali di sintesi vocale.

Effettuare una richiesta HTTP POST usando l'URI, come illustrato nell'esempio Consents_Post seguente.

  • Sostituire YourResourceKey con la chiave della risorsa Voce.
  • Sostituire YourResourceRegion con l'area della risorsa Voce.
  • Sostituire JessicaConsentId con un ID di consenso di propria scelta. L'ID con distinzione tra maiuscole e minuscole verrà usato nell'URI del consenso e non può essere modificato in un secondo momento.
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"

Si dovrebbe ricevere un corpo della risposta nel formato seguente:

{
  "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"
}

L'intestazione della risposta contiene la proprietà Operation-Location. Usare questo URI per ottenere informazioni dettagliate sull'operazione Consents_Post. Ecco un esempio dell'intestazione della risposta:

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

In questo scenario, i file audio devono essere già archiviati in un contenitore di Archiviazione BLOB di Azure.

Per aggiungere il consenso a un progetto vocale personale dall'URL di un file audio, usare l'operazione di Consents_Create dell'API vocale personalizzata. Creare il corpo della richiesta in base alle istruzioni seguenti:

  • Impostare la proprietà projectId obbligatoria. Vedere creare un progetto.
  • Impostare la proprietà voiceTalentName obbligatoria. Il nome del talento vocale non può essere modificato in un secondo momento.
  • Impostare la proprietà companyName obbligatoria. Il nome della società non può essere modificato in un secondo momento.
  • Impostare la proprietà audioUrl obbligatoria. URL del file audio del consenso vocale. Usare un URI con il token SAS (Shared Access Signatures).
  • Impostare la proprietà locale obbligatoria. Deve trattarsi delle impostazioni locali del consenso. Le impostazioni locali non possono essere modificate in un secondo momento. Qui è possibile trovare l'elenco delle impostazioni locali di sintesi vocale.

Effettuare una richiesta HTTP PUT usando l'URI come illustrato nell'esempio di Consents_Create seguente.

  • Sostituire YourResourceKey con la chiave della risorsa Voce.
  • Sostituire YourResourceRegion con l'area della risorsa Voce.
  • Sostituire JessicaConsentId con un ID di consenso di propria scelta. L'ID con distinzione tra maiuscole e minuscole verrà usato nell'URI del consenso e non può essere modificato in un secondo momento.
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"

Si dovrebbe ricevere un corpo della risposta nel formato seguente:

{
  "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"
}

L'intestazione della risposta contiene la proprietà Operation-Location. Usare questo URI per ottenere informazioni dettagliate sull'operazione di Consents_Create. Ecco un esempio dell'intestazione della risposta:

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

Passaggi successivi