Dela via


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/YourSynthesisIdstandardprefixsö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ämna outputFormat 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 Requestsvarsrubrikerna .

Svarstexten liknar följande JSON-exempel:

{
  "error": {
    "code": "BadRequest",
    "message": "The inputs is required."
  }
}

Nästa steg