Partager via


Propriétés de synthèse par lots de l’avatar de synthèse vocale

Les propriétés de synthèse par lots peuvent être regroupées comme : propriétés associées à l’avatar, propriétés associées au travail par lot et propriétés liées à la synthèse vocale, qui sont décrites dans les tableaux suivants.

Certaines propriétés au format JSON sont requises lorsque vous créez un nouveau travail de synthèse par lots. Les autres propriétés sont facultatives. La réponse de la synthèse par lots inclut d’autres propriétés pour fournir des informations sur l’état et les résultats de la synthèse. Par exemple, la propriété outputs.result contient l’emplacement à partir duquel vous pouvez télécharger un fichier vidéo contenant la vidéo de l’avatar. À partir de outputs.summary, vous pouvez accéder au résumé et aux détails du débogage.

Propriétés de l’avatar

Le tableau suivant décrit les propriétés de l’avatar.

Propriété Description
avatarConfig.talkingAvatarCharacter Nom du personnage de l’avatar parlant.

Les caractères d’avatar pris en charge sont disponibles ici.

Cette propriété est obligatoire.
avatarConfig.talkingAvatarStyle Nom du style de l’avatar parlant.

Les styles d’avatar pris en charge sont disponibles ici.

Cette propriété est requise pour l’avatar prédéfini et facultative pour l’avatar personnalisé.
avatarConfig.customized Valeur bool indiquant si l’avatar à utiliser est un avatar personnalisé ou non. True pour l’avatar personnalisé et false pour l’avatar prédéfini.

Cette propriété est facultative et la valeur par défaut est false.
avatarConfig.videoFormat Le format du fichier vidéo de sortie peut être mp4 ou webm.

Le format webm est requis pour un arrière-plan transparent.

Cette propriété est facultative et la valeur par défaut est mp4.
avatarConfig.videoCodec Le codec pour la vidéo de sortie peut être h264, vp9 ou av1.

Vp9 est requis pour un arrière-plan transparent. La vitesse de synthèse sera plus lente avec le codec vp9, car l’encodage vp9 est plus lent.

Cette propriété est facultative et la valeur par défaut est hevc.
avatarConfig.bitrateKbps Vitesse de transmission de la vidéo de sortie, qui est une valeur entière, en unité kbit/s.

Cette propriété est facultative et la valeur par défaut est 2000.
avatarConfig.videoCrop Cette propriété vous permet de rogner la sortie vidéo, ce qui signifie de générer une sous-zone rectangle de la vidéo d’origine. Cette propriété a deux champs, qui définissent le sommet supérieur gauche et le sommet inférieur droit du rectangle.

Cette propriété est facultative et le comportement par défaut est de générer la vidéo complète.
avatarConfig.videoCrop.topLeft Sommet supérieur gauche du rectangle pour le rognage vidéo. Cette propriété a deux champs, X et Y, pour définir la position horizontale et verticale du sommet.

Cette propriété est requise lorsque properties.videoCrop est défini.
avatarConfig.videoCrop.bottomRight Sommet inférieur droit du rectangle pour le rognage vidéo. Cette propriété a deux champs, X et Y, pour définir la position horizontale et verticale du sommet.

Cette propriété est requise lorsque properties.videoCrop est défini.
avatarConfig.subtitleType Le type de sous-titre pour le fichier vidéo avatar peut être external_file, soft_embedded, hard_embedded ou none.

Cette propriété est facultative et la valeur par défaut est soft_embedded.
avatarConfig.backgroundImage Ajoutez une image d’arrière-plan à l’aide de la propriété avatarConfig.backgroundImage. La valeur de la propriété doit être une URL pointant vers l’image souhaitée. Cette propriété est facultative.
avatarConfig.backgroundColor Couleur d’arrière-plan de la vidéo de l’avatar, chaîne au format #RRGGBBAA. Dans cette chaîne : RR, GG, BB et AA signifient les canaux rouge, vert, bleu et alpha, avec une plage de valeurs hexadécimales 00~FF. Le canal alpha contrôle la transparence, avec la valeur 00 pour transparent, la valeur FF pour la non-transparence et une valeur comprise entre 00 et FF pour la semi-transparente.

Cette propriété est facultative et la valeur par défaut est #FFFFFFFF (blanc).
outputs.result Emplacement du fichier de résultats de la synthèse par lots, qui est un fichier vidéo contenant l’avatar synthétisé.

Cette propriété est en lecture seule.
properties.DurationInMilliseconds Durée de la sortie vidéo en millisecondes.

Cette propriété est en lecture seule.

Propriétés du travail de synthèse par lots

Le tableau suivant décrit les propriétés du travail de synthèse par lots.

Propriété Description
createdDateTime Date et heure de création du travail de synthèse par lots.

Cette propriété est en lecture seule.
description Description de la synthèse par lots.

Cette propriété est facultative.
id ID du travail de synthèse par lots.

Cette propriété est en lecture seule.
lastActionDateTime Date et heure les plus récentes de changement de valeur de propriété d’état.

Cette propriété est en lecture seule.
properties Ensemble défini des paramètres facultatifs de configuration de la synthèse par lots.
properties.destinationContainerUrl Les résultats de la synthèse par lots peuvent être stockés dans un conteneur Azure accessible en écriture. Si vous ne spécifiez pas d’URI de conteneur avec le jeton des signatures d'accès partagé (SAS), le service Speech stocke les résultats dans un conteneur géré par Microsoft. Les signatures SAS avec des stratégies d’accès stockées ne sont pas prises en charge. Quand le travail de synthèse est supprimé, les données de résultats sont supprimées également.

Cette propriété facultative n’est pas incluse dans la réponse lorsque vous obtenez le travail de synthèse.
properties.timeToLiveInHours Durée en heures entre la fin de la création du travail de synthèse et la suppression automatique des résultats de la synthèse. La durée de conservation maximale est de 744 heures. La date et l’heure de suppression automatique, pour les travaux de synthèse avec l’état « Réussite » ou « Échec », est calculée comme la somme des propriétés lastActionDateTime et timeToLive.

Sinon, vous pouvez appeler la méthode delete pour supprimer le travail de synthèse plus tôt.
statut État du traitement de la synthèse par lots.

L’état doit passer de « NotStarted » à « Running », et enfin à « Succeeded » ou « Failed ».

Cette propriété est en lecture seule.

Propriétés de la synthèse vocale

Le tableau suivant décrit les propriétés de la synthèse vocale.

Propriété Description
customVoices Une voix neurale personnalisée est associée à un nom et à son ID de déploiement, comme suit : "customVoices": {"nom-de-votre-voix-personnalisée": "502ac834-6537-4bc3-9fd6-140114daa66d"}

Vous pouvez utiliser le nom de la voix dans votre synthesisConfig.voice quand inputKind est défini sur « Texte brut » ou dans le texte SSML des entrées quand inputKind est défini sur « SSML ».

Cette propriété doit obligatoirement être définie pour utiliser une voix personnalisée. Si vous essayez d’utiliser une voix personnalisée qui n’est pas définie ici, le service retourne une erreur.
inputs Texte brut ou SSML à synthétiser.

Lorsque le inputKind est défini sur « PlainText », fournissez du texte brut comme indiqué ici : « inputs » : [{"content": "L’arc-en-ciel a sept couleurs."}]. Lorsque inputKind est défini sur « SSML », fournissez du texte en langage SSML (Speech Synthesis Markup Language), comme indiqué ici : "inputs": [{"content": "<speak version=''1.0''' xml:lang=''en-US'''><voice xml:lang=''en-US''' xml:gender=''Female''' name=''en-US-AvaMultilingualNeural'''>L’arc-en-ciel a sept couleurs."}].

Vous pouvez inclure jusqu’à 1000 objets texte, si vous souhaitez plusieurs fichiers de sortie vidéo. Voici un exemple de texte d’entrée qui doit être synthétisé en deux fichiers de sortie vidéo : "inputs": [{"content": "synthétiser ceci vers un fichier"},{"content": "synthétiser ceci vers un autre fichier"}].

Vous n’avez pas besoin de spécifier des entrées de texte séparées pour les nouveaux paragraphes. Dans l’une des entrées de texte (1 000 au maximum), vous pouvez spécifier de nouveaux paragraphes avec la chaîne « \r\n » (nouvelle ligne). Voici un exemple de texte d’entrée avec deux paragraphes qui doivent être synthétisés vers le même fichier de sortie audio : "inputs": [{"content": "synthétiser ceci vers un fichier\r\nsynthétiser ceci vers un autre paragraphe du même fichier"}]

Cette propriété doit obligatoirement être définie pour créer un travail de synthèse par lots. Cette propriété n’est pas incluse dans la réponse lorsque vous obtenez le travail de synthèse.
properties.billingDetails Nombre de mots traités et facturés par voix customNeural et neurale (prédéfini).

Cette propriété est en lecture seule.
synthesisConfig Paramètres de configuration à utiliser pour la synthèse par lots de texte brut.

Cette propriété s’applique uniquement lorsque inputKind est défini sur « PlainText ».
synthesisConfig.pitch Tonalité de la sortie audio.

Pour plus d’informations sur les valeurs acceptées, consultez le tableau d’ajustement de la prosodie dans la documentation SSML (Speech Synthesis Markup Language). Les valeurs non valides sont ignorées.

Cette propriété facultative s’applique uniquement lorsque inputKind est défini sur « PlainText ».
synthesisConfig.rate Débit de la sortie audio.

Pour plus d’informations sur les valeurs acceptées, consultez le tableau d’ajustement de la prosodie dans la documentation SSML (Speech Synthesis Markup Language). Les valeurs non valides sont ignorées.

Cette propriété facultative s’applique uniquement lorsque inputKind est défini sur « PlainText ».
synthesisConfig.style Pour certaines voix, vous pouvez ajuster le style d’élocution afin d’exprimer des émotions différentes, telles que la gaieté, l’empathie et le calme. Vous pouvez optimiser la voix pour différents scénarios (service clientèle, diffusion d’actualités, assistant vocal, etc.).

Pour plus d’informations sur les styles disponibles selon la voix, consultez Styles et rôles vocaux.

Cette propriété facultative s’applique uniquement lorsque inputKind est défini sur « PlainText ».
synthesisConfig.voice Voix qui lit la sortie audio.

Pour plus d’informations sur les voix neuronales prédéfinies disponibles, consultez Prise en charge des langues et des voix. Pour utiliser une voix personnalisée, vous devez spécifier un mappage valide entre l’ID de déploiement et la voix personnalisée dans la propriété customVoices.

Cette propriété est requise lorsque inputKind est défini sur « PlainText ».
synthesisConfig.volume Volume de la sortie audio.

Pour plus d’informations sur les valeurs acceptées, consultez le tableau d’ajustement de la prosodie dans la documentation SSML (Speech Synthesis Markup Language). Les valeurs non valides sont ignorées.

Cette propriété facultative s’applique uniquement lorsque inputKind est défini sur « PlainText ».
inputKind Indique si la propriété de texte des entrées doit être texte brut ou SSML. Les valeurs possibles (sans respect de la casse) sont « PlainText » et « SSML ». Lorsque inputKind est défini sur « PlainText », vous devez également définir la propriété de voix synthesisConfig.

Cette propriété est obligatoire.

Comment modifier l’arrière-plan

L’API de synthèse par lots d’avatars ne prend actuellement pas en charge la définition de vidéos d’arrière-plan ; il prend uniquement en charge les images d’arrière-plan statiques. Toutefois, si vous souhaitez ajouter un arrière-plan pour votre vidéo pendant la post-production, vous pouvez générer des vidéos avec un arrière-plan transparent.

Pour définir une image d’arrière-plan statique, utilisez la propriété avatarConfig.backgroundImage et spécifiez une URL pointant vers l’image souhaitée. En outre, vous pouvez définir la couleur d’arrière-plan de la vidéo avatar à l’aide de la propriété avatarConfig.backgroundColor.

Pour générer une vidéo d’arrière-plan transparente, vous devez définir les propriétés suivantes sur les valeurs requises dans la requête de synthèse par lots :

Propriété Valeurs requises pour la transparence d’arrière-plan
properties.videoFormat webm
properties.videoCodec vp9
properties.backgroundColor #00000000 (ou transparent)

Clipchamp est l’un des outils d’édition vidéo qui prennent en charge la vidéo d’arrière-plan transparente générée par l’API de synthèse par lots.

Certains logiciels d’édition vidéo ne prennent pas en charge le format webm directement et ne prennent en charge que le format d’entrée vidéo d’arrière-plan transparent .mov, comme Adobe Premiere Pro. Dans ce cas, vous devez d’abord convertir le format vidéo de webm à .mov avec un outil comme FFMPEG.

Ligne de commande FFMPEG utilisée :

ffmpeg -vcodec libvpx-vp9 -i <input.webm> -vcodec png -pix_fmt rgba metadata:s:v:0 alpha_mode="1" <output.mov>

FFMPEG peut être téléchargé depuis ffmpeg.org. Remplacez <input.webm> et <output.mov> par votre chemin d’accès local et votre nom de fichier dans la ligne de commande.

Étapes suivantes