Batchsyntesegenskaper för text till tal
Viktigt!
Batch-syntes-API:et är allmänt tillgängligt. Long Audio-API:et dras tillbaka den 1 april 2027. Mer information finns i Migrera till batchsyntes-API.
Api:et för Batch-syntes kan syntetisera en stor mängd textindata (lång och kort) asynkront. Utgivare och ljudinnehållsplattformar kan skapa långt ljudinnehåll i en batch. Till exempel ljudböcker, nyhetsartiklar och dokument. Batchsyntes-API:et kan skapa syntetiserat ljud längre än 10 minuter.
Vissa egenskaper i JSON-format krävs när du skapar ett nytt batchsyntesjobb. Andra egenskaper är valfria. Batchsyntessvaret innehåller andra egenskaper för att ge information om syntesstatus och resultat. Egenskapen innehåller till exempel outputs.result
platsen för batchsyntesresultatfilerna med ljudutdata och loggar.
Egenskaper för Batch-syntes
Egenskaper för batchsyntes beskrivs i följande tabell.
Property | beskrivning |
---|---|
createdDateTime |
Datum och tid då batchsyntesjobbet skapades. Den här egenskapen är skrivskyddad. |
customVoices |
Kartan över ett anpassat röstnamn och dess distributions-ID. Till exempel: "customVoices": {"your-custom-voice-name": "502ac834-6537-4bc3-9fd6-140114daa66d"} Du kan använda röstnamnet i din (när inputKind är inställt på "PlainText" ) eller i SSML-texten inputs i (när inputKind är inställt på "SSML" ).synthesisConfig.voice Den här egenskapen krävs för att använda en anpassad röst. Om du försöker använda en anpassad röst som inte har definierats här returnerar tjänsten ett fel. |
description |
Beskrivningen av batchsyntesen. Den här egenskapen är valfri. |
id |
Batchsyntesjobb-ID:t som du skickade i sökvägen. Den här egenskapen krävs i sökvägen. |
inputs |
Oformaterad text eller SSML som ska syntetiseras. När är inställt på inputKind "PlainText" anger du oformaterad text som visas här: "inputs": [{"text": "The rainbow has seven colors."}] . inputKind När är inställt på "SSML" anger du text i SSML (Speech Synthesis Markup Language) som du ser här: "inputs": [{"text": "<speak version='\''1.0'\'' xml:lang='\''en-US'\''><voice xml:lang='\''en-US'\'' xml:gender='\''Female'\'' name='\''en-US-AvaMultilingualNeural'\''>The rainbow has seven colors.</voice></speak>"}] .Inkludera upp till 1 000 textobjekt om du vill ha flera ljudutdatafiler. Här är exempel på indatatext som ska syntetiseras till två ljudutdatafiler: "inputs": [{"text": "synthesize this to a file"},{"text": "synthesize this to another file"}] . Men om egenskapen properties.concatenateResult är inställd på true , skrivs varje syntetiserat resultat till samma ljudutdatafil.Du behöver inte separata textindata för nya stycken. Inom någon av textinmatningarna (upp till 1 000) kan du ange nya stycken med strängen "\r\n" (ny rad). Här är exempel på indatatext med två stycken som ska syntetiseras till samma ljudutdatafil: "inputs": [{"text": "synthesize this to a file\r\nsynthesize this to another paragraph in the same file"}] Det finns inga styckegränser, men den maximala JSON-nyttolaststorleken (inklusive alla textindata och andra egenskaper) är 2 megabyte. Den här egenskapen krävs när du skapar ett nytt batchsyntesjobb. Den här egenskapen ingår inte i svaret när du får syntesjobbet. |
internalId |
Det interna batchsyntesjobb-ID:t. Den här egenskapen är skrivskyddad. |
lastActionDateTime |
Det senaste datumet och tiden då egenskapsvärdet status ändrades.Den här egenskapen är skrivskyddad. |
outputs.result |
Platsen för resultatfilerna för batchsyntesen med ljudutdata och loggar. Den här egenskapen är skrivskyddad. |
properties |
En definierad uppsättning valfria konfigurationsinställningar för batchsyntes. |
properties.sizeInBytes |
Ljudutdatastorleken i byte. Den här egenskapen är skrivskyddad. |
properties.billingDetails |
Antalet ord som bearbetats och fakturerats neuralCharacters av customNeuralCharacters kontra (fördefinierade) röster.Den här egenskapen är skrivskyddad. |
properties.concatenateResult |
Avgör om resultatet ska sammanfogas. Det här valfria bool värdet ("true" eller "false") är "false" som standard. |
properties.decompressOutputFiles |
Avgör om du vill packa upp syntesresultatfilerna i målcontainern. Den här egenskapen kan bara anges när egenskapen destinationContainerUrl har angetts. Det här valfria bool värdet ("true" eller "false") är "false" som standard. |
properties.destinationContainerUrl |
Resultatet av batchsyntesen kan lagras i en skrivbar Azure-container. Om du inte anger en container-URI med sas-token (signaturer för delad åtkomst) lagrar Speech-tjänsten resultatet i en container som hanteras av Microsoft. SAS med lagrade åtkomstprinciper stöds inte. När syntesjobbet tas bort tas även resultatdata bort. Den här valfria egenskapen ingår inte i svaret när du får syntesjobbet. |
properties.destinationPath |
Prefixsökvägen där batchsyntesresultat kan lagras med. Om du inte anger en prefixsökväg är YourSpeechResourceId/YourSynthesisId standardprefixsökvägen .Den här valfria egenskapen kan bara anges när egenskapen destinationContainerUrl har angetts. |
properties.durationInMilliseconds |
Varaktigheten för ljudutdata i millisekunder. Den här egenskapen är skrivskyddad. |
properties.failedAudioCount |
Antalet batchsyntesindata till ljudutdata misslyckades. Den här egenskapen är skrivskyddad. |
properties.outputFormat |
Ljudutdataformatet. Information om de godkända värdena finns i ljudutdataformat. Standardutdataformatet är riff-24khz-16bit-mono-pcm . |
properties.sentenceBoundaryEnabled |
Avgör om meningsgränsdata ska genereras. Det här valfria bool värdet ("true" eller "false") är "false" som standard.Om meningsgränsdata begärs inkluderas en motsvarande [nnnn].sentence.json fil i zip-filen med resultatdata. |
properties.succeededAudioCount |
Antalet batchsyntesindata till ljudutdata lyckades. Den här egenskapen är skrivskyddad. |
properties.timeToLiveInHours |
En varaktighet i timmar efter att syntesjobbet har skapats, när syntesresultatet tas bort automatiskt. Den här valfria inställningen är 744 (31 dagar) som standard. Den maximala tiden att leva är 31 dagar. Datum och tid för automatisk borttagning (för syntesjobb med statusen "Lyckades" eller "Misslyckades") är lika lastActionDateTime + timeToLiveInHours med egenskaperna.Annars kan du anropa borttagningssyntesmetoden för att ta bort jobbet tidigare. |
properties.wordBoundaryEnabled |
Avgör om ordgränsdata ska genereras. Det här valfria bool värdet ("true" eller "false") är "false" som standard.Om ordgränsdata begärs inkluderas en motsvarande [nnnn].word.json fil i zip-filen för resultatdata. |
status |
Bearbetningsstatus för batchsyntes. Statusen ska gå från "NotStarted" till "Running" och slutligen till antingen "Succeeded" eller "Failed". Den här egenskapen är skrivskyddad. |
synthesisConfig |
Konfigurationsinställningarna som ska användas för batchsyntes av oformaterad text. Den här egenskapen gäller endast när inputKind är inställd på "PlainText" . |
synthesisConfig.backgroundAudio |
Bakgrundsljudet för varje ljudutdata. Den här valfria egenskapen gäller endast när inputKind är inställd på "PlainText" . |
synthesisConfig.backgroundAudio.fadein |
Varaktigheten för bakgrundsljudet tonas in som millisekunder. Standardvärdet är 0 , vilket motsvarar ingen toning. Accepterade värden: 0 till 10000 inkluderande.Mer information finns i attributtabellen under Lägg till bakgrundsljud i dokumentationen för Speech Synthesis Markup Language (SSML). Ogiltiga värden ignoreras. Den här valfria egenskapen gäller endast när inputKind är inställd på "PlainText" . |
synthesisConfig.backgroundAudio.fadeout |
Varaktigheten för bakgrundsljudet tonas ut i millisekunder. Standardvärdet är 0 , vilket motsvarar ingen toning. Accepterade värden: 0 till 10000 inkluderande.Mer information finns i attributtabellen under Lägg till bakgrundsljud i dokumentationen för Speech Synthesis Markup Language (SSML). Ogiltiga värden ignoreras. Den här valfria egenskapen gäller endast när inputKind är inställd på "PlainText" . |
synthesisConfig.backgroundAudio.src |
URI-platsen för bakgrundsljudfilen. Mer information finns i attributtabellen under Lägg till bakgrundsljud i dokumentationen för Speech Synthesis Markup Language (SSML). Ogiltiga värden ignoreras. Den här egenskapen krävs när synthesisConfig.backgroundAudio den har angetts. |
synthesisConfig.backgroundAudio.volume |
Volymen för bakgrundsljudfilen. Accepterade värden: 0 till 100 inkluderande. Standardvärdet är 1 .Mer information finns i attributtabellen under Lägg till bakgrundsljud i dokumentationen för Speech Synthesis Markup Language (SSML). Ogiltiga värden ignoreras. Den här valfria egenskapen gäller endast när inputKind är inställd på "PlainText" . |
synthesisConfig.pitch |
Tonhöjden för ljudutdata. Information om de godkända värdena finns i tabellen adjust prosody i dokumentationen för Speech Synthesis Markup Language (SSML). Ogiltiga värden ignoreras. Den här valfria egenskapen gäller endast när inputKind är inställd på "PlainText" . |
synthesisConfig.rate |
Ljudutdatahastigheten. Information om de godkända värdena finns i tabellen adjust prosody i dokumentationen för Speech Synthesis Markup Language (SSML). Ogiltiga värden ignoreras. Den här valfria egenskapen gäller endast när inputKind är inställd på "PlainText" . |
synthesisConfig.role |
För vissa röster kan du justera det talande rollspelet. Rösten kan imitera en annan ålder och ett annat kön, men röstnamnet ändras inte. Till exempel kan en manlig röst höja tonhöjden och ändra intonationen till att imitera en kvinnlig röst, men röstnamnet ändras inte. Om rollen saknas eller inte stöds för din röst ignoreras det här attributet. Information om tillgängliga format per röst finns i röstformat och roller. Den här valfria egenskapen gäller endast när inputKind är inställd på "PlainText" . |
synthesisConfig.speakerProfileId |
Talarprofilens ID för en personlig röst. Information om tillgängliga personliga röstbasmodellnamn finns i integrera personlig röst. Information om hur du hämtar talarprofilens ID finns i språk- och röststöd. Den här egenskapen krävs när inputKind är inställd på "PlainText" . |
synthesisConfig.style |
För vissa röster kan du justera talarstilen för att uttrycka olika känslor som glädje, empati och lugn. Du kan optimera rösten för olika scenarier som kundtjänst, nyhetssändning och röstassistent. Information om tillgängliga format per röst finns i röstformat och roller. Den här valfria egenskapen gäller endast när synthesisConfig.style den har angetts. |
synthesisConfig.styleDegree |
Intensiteten i talstilen. Du kan ange ett starkare eller mjukare format för att göra talet mer uttrycksfullt eller dämpat. Intervallet för godkända värden är: 0,01 till 2 inklusive. Standardvärdet är 1, vilket innebär den fördefinierade formatintensiteten. Den minsta enheten är 0,01, vilket resulterar i en liten tendens för målformatet. Värdet 2 resulterar i en fördubbling av standardstilintensiteten. Om formatgraden saknas eller inte stöds för din röst ignoreras det här attributet. Information om tillgängliga format per röst finns i röstformat och roller. Den här valfria egenskapen gäller endast när inputKind är inställd på "PlainText" . |
synthesisConfig.voice |
Rösten som talar ljudutdata. Information om tillgängliga fördefinierade neurala röster finns i språk- och röststöd. Om du vill använda en anpassad röst måste du ange en giltig anpassad röst- och distributions-ID-mappning i egenskapen customVoices . Om du vill använda en personlig röst måste du ange egenskapen synthesisConfig.speakerProfileId . Den här egenskapen krävs när inputKind är inställd på "PlainText" . |
synthesisConfig.volume |
Volymen för ljudutdata. Information om de godkända värdena finns i tabellen adjust prosody i dokumentationen för Speech Synthesis Markup Language (SSML). Ogiltiga värden ignoreras. Den här valfria egenskapen gäller endast när inputKind är inställd på "PlainText" . |
inputKind |
Anger om textegenskapen inputs ska vara oformaterad text eller SSML. De möjliga skiftlägeskänsliga värdena är "PlainText" och "SSML". inputKind När är inställt på "PlainText" måste du också ange röstegenskapensynthesisConfig .Egenskapen krävs. |
Svarstid och metodtips för batchsyntes
När du använder batchsyntes för att generera syntetiserat tal är det viktigt att överväga svarstiden och följa metodtipsen för att uppnå optimala resultat.
Svarstid i batchsyntes
Svarstiden i batchsyntesen beror på olika faktorer, inklusive komplexiteten i indatatexten, antalet indata i batchen och bearbetningsfunktionerna för den underliggande maskinvaran.
Svarstiden för batchsyntesen är följande (ungefär):
Svarstiden för 50 % av de syntetiserade talutdata är inom 10–20 sekunder.
Svarstiden för 95 % av de syntetiserade talutdata är inom 120 sekunder.
Bästa praxis
När du överväger batchsyntes för ditt program rekommenderar vi att du utvärderar om svarstiden uppfyller dina krav. Om svarstiden överensstämmer med önskad prestanda kan batchsyntes vara ett lämpligt val. Men om svarstiden inte uppfyller dina behov kan du överväga att använda realtids-API.
HTTP-statuskoder
Avsnittet beskriver HTTP-svarskoderna och meddelandena från batchsyntes-API:et.
HTTP 200 OK
HTTP 200 OK anger att begäran lyckades.
HTTP 201 har skapats
HTTP 201 Skapad anger att begäran om att skapa batchsyntes (via HTTP POST) lyckades.
HTTP 204-fel
Ett HTTP 204-fel anger att begäran lyckades, men resursen finns inte. Till exempel:
- Du försökte hämta eller ta bort ett syntesjobb som inte finns.
- Du har tagit bort ett syntesjobb.
HTTP 400-fel
Här är exempel som kan resultera i 400-felet:
- Stöds
outputFormat
inte eller är ogiltigt. Ange ett giltigt formatvärde eller lämnaoutputFormat
tomt om du vill använda standardinställningen. - Antalet begärda textindata överskred gränsen på 10 000.
- Du försökte använda ett ogiltigt distributions-ID eller en anpassad röst som inte har distribuerats. Kontrollera att Speech-resursen har åtkomst till den anpassade rösten och att den anpassade rösten har distribuerats. Du måste också se till att mappningen av
{"your-custom-voice-name": "your-deployment-ID"}
är korrekt i batchsyntesbegäran. - Du försökte använda en F0 Speech-resurs, men regionen stöder bara prisnivån Standard Speech-resurs.
HTTP 404-fel
Det går inte att hitta den angivna entiteten. Kontrollera att syntes-ID:t är korrekt.
HTTP 429-fel
Det finns för många nya begäranden. Varje klientprogram kan skicka upp till 100 begäranden per 10 sekunder för varje Speech-resurs. Minska antalet begäranden per sekund.
HTTP 500-fel
HTTP 500 Internt serverfel anger att begäran misslyckades. Svarstexten innehåller felmeddelandet.
HTTP-felexempel
Här är en exempelbegäran som resulterar i ett HTTP 400-fel, eftersom inputs
egenskapen krävs för att skapa ett jobb.
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourSpeechKey" -H "Content-Type: application/json" -d '{
"inputKind": "SSML"
}' "https://YourSpeechRegion.api.cognitive.microsoft.com/texttospeech/batchsyntheses/YourSynthesisId?api-version=2024-04-01"
I det här fallet innehåller HTTP/1.1 400 Bad Request
svarsrubrikerna .
Svarstexten liknar följande JSON-exempel:
{
"error": {
"code": "BadRequest",
"message": "The inputs is required."
}
}