Obtenir un ID de profil de locuteur pour la voix personnelle

Pour utiliser la voix personnelle dans votre application, vous devez obtenir un ID de profil d’orateur. L’ID de profil d’orateur permet de générer une sortie audio synthétisée avec l’entrée de texte fournie.

Vous créez un ID de profil de locuteur basé sur la déclaration de consentement oral du locuteur et un prompt audio (un échantillon de voix humaine claire d’une durée comprise entre 5 et 90 secondes). Les caractéristiques vocales de l’utilisateur sont encodées dans la propriété speakerProfileId utilisée pour la synthèse vocale. Pour obtenir plus d’informations, consultez Utiliser la voix personnelle dans votre application.

Remarque

L’ID de voix personnelle et l’ID de profil d’orateur ne sont pas les mêmes. Vous pouvez choisir l’ID de voix personnelle, mais l’ID de profil d’orateur est généré par le service. Vous utilisez l’ID de voix personnelle pour gérer la voix personnelle. L’ID de profil d’orateur est utilisé pour la synthèse vocale.

Vous fournissez les fichiers audio à partir d’une URL accessible publiquement (PersonalVoices_Create) ou chargez les fichiers audio (PersonalVoices_Post).

Format audio de prompt

Les formats pris en charge pour les fichiers audio de prompt sont les suivants :

Format Taux d’échantillonnage Vitesse de transmission Profondeur de bits
mp3 16 kHz, 24 kHz, 44,1 kHz, 48 kHz 128 Kb/s, 192 Kb/s, 256 Kb/s, 320 Kb/s /
wav 16 kHz, 24 kHz, 44,1 kHz, 48 kHz / 16 bits, 24 bits, 32 bits

Créer une voix personnelle à partir d’un fichier

Dans ce scénario, les fichiers audio doivent être disponibles localement.

Pour créer une voix personnelle et obtenir l’ID du profil d’orateur, utilisez l’opération PersonalVoices_Post de l’API de voix personnalisée. Construisez le corps de la requête conformément aux instructions suivantes :

  • Définissez la propriété requise projectId. Consultez Créer un projet.
  • Définissez la propriété requise consentId. Consultez Ajouter le consentement de l’utilisateur.
  • Définissez la propriété requise audiodata. Vous pouvez spécifier un ou plusieurs fichiers audio dans la même requête.

Effectuez une requête HTTP POST à l’aide de l’URI, comme indiqué dans l’exemple PersonalVoices_Post suivant.

  • Remplacez YourResourceKey par votre clé de ressource Speech.
  • Remplacez YourResourceRegion par la région de votre ressource Speech.
  • Remplacez JessicaPersonalVoiceId par l’ID de voix personnelle de votre choix. L’ID sensible à la casse est utilisé dans l’URI de la voix personnelle et ne peut pas être modifié par la suite.
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"

Vous devriez recevoir un corps de réponse au format suivant :

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

Utilisez la propriété speakerProfileId pour intégrer la voix personnelle dans votre application de synthèse vocale. Pour obtenir plus d’informations, consultez Utiliser la voix personnelle dans votre application.

L’en-tête de réponse contient la propriété Operation-Location. Utilisez cet URI pour obtenir des détails sur l’opération PersonalVoices_Post. Voici un exemple d’en-tête de réponse :

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

Créer une voix personnelle à partir d’une URL

Dans ce scénario, les fichiers audio doivent déjà être stockés dans un conteneur Stockage Blob Azure.

Pour créer une voix personnelle et obtenir l’ID du profil d’orateur, utilisez l’opération PersonalVoices_Create de l’API de voix personnalisée. Construisez le corps de la requête conformément aux instructions suivantes :

  • Définissez la propriété requise projectId. Consultez Créer un projet.
  • Définissez la propriété requise consentId. Consultez Ajouter le consentement de l’utilisateur.
  • Définissez la propriété requise audios. Dans la propriété audios, définissez les propriétés suivantes :
    • Définissez la propriété requise containerUrl sur l’URL du conteneur Stockage Blob Azure qui contient les fichiers audio. Utilisez les signatures d'accès partagé (SAS) SAS pour un conteneur avec des autorisations de lecture et de liste.
    • Définissez la propriété requise extensions sur les extensions des fichiers audio.
    • Si vous le souhaitez, définissez la propriété prefix pour définir un préfixe pour le nom de l’objet blob.

Effectuez une requête HTTP PUT en utilisant l’URI, comme illustré dans l’exemple PersonalVoices_Create suivant.

  • Remplacez YourResourceKey par votre clé de ressource Speech.
  • Remplacez YourResourceRegion par la région de votre ressource Speech.
  • Remplacez JessicaPersonalVoiceId par l’ID de voix personnelle de votre choix. L’ID sensible à la casse est utilisé dans l’URI de la voix personnelle et ne peut pas être modifié par la suite.
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". 

Vous devriez recevoir un corps de réponse au format suivant :

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

Utilisez la propriété speakerProfileId pour intégrer la voix personnelle dans votre application de synthèse vocale. Pour obtenir plus d’informations, consultez Utiliser la voix personnelle dans votre application.

L’en-tête de réponse contient la propriété Operation-Location. Utilisez cet URI pour obtenir des détails sur l’opération PersonalVoices_Create. Voici un exemple d’en-tête de réponse :

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

Étapes suivantes