REST API för tal-till-text

Tal till text har två olika REST API:er. Varje API har sitt särskilda syfte och använder olika uppsättningar slutpunkter.

REST-API:erna för tal till text är:

Tal till text-REST API v3.0

Tal till text-REST API v3.0 används för Batch-transkription och Custom Speech. Om du behöver kommunicera med online-transkriptionen via REST använder du tal till text-REST API för kort ljud.

Använd REST API v3.0 för att:

  • Kopiera modeller till andra prenumerationer om du vill att kollegor ska ha åtkomst till en modell som du har skapat, eller i fall där du vill distribuera en modell till mer än en region
  • Transkribera data från en container (masstranskribering) samt ange flera URL:er för ljudfiler
  • Upload data från Azure Storage-konton via en SAS-URI
  • Hämta loggar per slutpunkt om loggar har begärts för den slutpunkten
  • Begär manifestet för de modeller som du skapar för att konfigurera lokala containrar

REST API v3.0 innehåller funktioner som:

  • Notifications-Webhooks– Alla processer som körs i tjänsten stöder nu webhook-meddelanden. REST API v3.0 innehåller anrop så att du kan registrera dina webhooks där meddelanden skickas
  • Uppdatera modeller bakom slutpunkter
  • Modellanpassning med flera datauppsättningar– Anpassa en modell med flera datauppsättningskombinationer av akustiska data, språkdata och uttalsdata
  • Bring Your Own Storage– Använd dina egna lagringskonton för loggar, transkriptionsfiler och andra data

Se exempel på hur du använder REST API v3.0 med Batch-transkriptionen i den här artikeln.

Om du använder tal till text-REST API v2.0, se hur du kan migrera till v3.0 i den här guiden.

Se den fullständiga tal till text-REST API v3.0-referensen här.

Tal till text-REST API kort ljud

Som ett alternativ till Speech SDKkan du med taltjänsten konvertera tal till text med hjälp av en REST API. Den REST API för kort ljud är mycket begränsad och bör endast användas i fall där Speech SDK inte kan det.

Innan du använder tal till text-REST API för kort ljud bör du tänka på följande:

  • Begäranden som använder REST API kort ljud och överför ljud direkt kan bara innehålla upp till 60 sekunders ljud.
  • Tal till text-funktionen REST API kort ljud returnerar endast slutliga resultat. Partiella resultat tillhandahålls inte.

Om det är ett krav för ditt program att skicka längre ljud bör du överväga att använda Speech SDK eller tal till text REST API v3.0.

Tips

I den här artikeln finns Azure Government slutpunkter för Azure och Kina.

Autentisering

Varje begäran kräver ett auktoriseringshuvud. I den här tabellen visas vilka huvuden som stöds för varje tjänst:

Auktoriseringshuvuden som stöds Tal till text Text till tal
Ocp-Apim-Subscription-Key Ja Ja
Auktorisering: Bearer Ja Ja

När du Ocp-Apim-Subscription-Key använder -huvudet behöver du bara ange din prenumerationsnyckel. Till exempel:

'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'

När du Authorization: Bearer använder -huvudet måste du göra en begäran till issueToken slutpunkten. I den här begäran byter du din prenumerationsnyckel mot en åtkomsttoken som är giltig i 10 minuter. I följande avsnitt får du lära dig hur du hämtar en token och använder en token.

Så här hämtar du en åtkomsttoken

För att få en åtkomsttoken måste du göra en begäran till issueToken slutpunkten med hjälp av Ocp-Apim-Subscription-Key och din prenumerationsnyckel.

Slutpunkten issueToken har det här formatet:

https://<REGION_IDENTIFIER>.api.cognitive.microsoft.com/sts/v1.0/issueToken

Ersätt <REGION_IDENTIFIER> med identifieraren som matchar prenumerationens region från den här tabellen:

Geografi Region Regionsidentifierare
Nord- och Sydamerika Central US centralus
Nord- och Sydamerika East US eastus
Nord- och Sydamerika USA, östra 2 eastus2
Nord- och Sydamerika USA, norra centrala northcentralus
Nord- och Sydamerika USA, södra centrala southcentralus
Nord- och Sydamerika USA, västra centrala westcentralus
Nord- och Sydamerika USA, västra westus
Nord- och Sydamerika USA, västra 2 westus2
Nord- och Sydamerika Kanada, centrala canadacentral
Nord- och Sydamerika Brasilien, södra brazilsouth
Asien och stillahavsområdet Asien, östra eastasia
Asien och stillahavsområdet Sydostasien southeastasia
Asien och stillahavsområdet Australien, östra australiaeast
Asien och stillahavsområdet Indien, centrala centralindia
Asien och stillahavsområdet Japan, östra japaneast
Asien och stillahavsområdet Japan, västra japanwest
Asien och stillahavsområdet Sydkorea, centrala koreacentral
Europa Europa, norra northeurope
Europa Europa, västra westeurope
Europa Frankrike, centrala francecentral
Europa Schweiz, norra switzerlandnorth
Europa Storbritannien, södra uksouth

Använd de här exemplen för att skapa din begäran om åtkomsttoken.

HTTP-exempel

Det här exemplet är en enkel HTTP-begäran för att hämta en token. Ersätt YOUR_SUBSCRIPTION_KEY med prenumerationsnyckeln för Speech Service. Om din prenumeration inte finns i regionen USA, västra ersätter du Host -rubriken med din regions värdnamn.

POST /sts/v1.0/issueToken HTTP/1.1
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY
Host: westus.api.cognitive.microsoft.com
Content-type: application/x-www-form-urlencoded
Content-Length: 0

Brödtexten i svaret innehåller åtkomsttoken i JWT-format (JSON Web Token).

PowerShell-exempel

Det här exemplet är ett enkelt PowerShell-skript för att hämta en åtkomsttoken. Ersätt YOUR_SUBSCRIPTION_KEY med prenumerationsnyckeln för Speech Service. Se till att använda rätt slutpunkt för den region som matchar din prenumeration. Det här exemplet är för närvarande inställt på USA, västra.

$FetchTokenHeader = @{
  'Content-type'='application/x-www-form-urlencoded';
  'Content-Length'= '0';
  'Ocp-Apim-Subscription-Key' = 'YOUR_SUBSCRIPTION_KEY'
}

$OAuthToken = Invoke-RestMethod -Method POST -Uri https://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken
 -Headers $FetchTokenHeader

# show the token received
$OAuthToken

cURL-exempel

cURL är ett kommandoradsverktyg som är tillgängligt i Linux (och i Windows-undersystem för Linux). Det här cURL-kommandot visar hur du hämtar en åtkomsttoken. Ersätt YOUR_SUBSCRIPTION_KEY med prenumerationsnyckeln för Speech Service. Se till att använda rätt slutpunkt för den region som matchar din prenumeration. Det här exemplet är för närvarande inställt på USA, västra.

curl -v -X POST \
 "https://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken" \
 -H "Content-type: application/x-www-form-urlencoded" \
 -H "Content-Length: 0" \
 -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY"

C#-exempel

Den här C#-klassen illustrerar hur du hämtar en åtkomsttoken. Skicka din speech service-prenumerationsnyckel när du instansierar klassen. Om din prenumeration inte finns i regionen USA, västra ändrar du värdet för så FetchTokenUri att det matchar din prenumerations region.

public class Authentication
{
    public static readonly string FetchTokenUri =
        "https://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken";
    private string subscriptionKey;
    private string token;

    public Authentication(string subscriptionKey)
    {
        this.subscriptionKey = subscriptionKey;
        this.token = FetchTokenAsync(FetchTokenUri, subscriptionKey).Result;
    }

    public string GetAccessToken()
    {
        return this.token;
    }

    private async Task<string> FetchTokenAsync(string fetchUri, string subscriptionKey)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
            UriBuilder uriBuilder = new UriBuilder(fetchUri);

            var result = await client.PostAsync(uriBuilder.Uri.AbsoluteUri, null);
            Console.WriteLine("Token Uri: {0}", uriBuilder.Uri.AbsoluteUri);
            return await result.Content.ReadAsStringAsync();
        }
    }
}

Python-exempel

# Request module must be installed.
# Run pip install requests if necessary.
import requests

subscription_key = 'REPLACE_WITH_YOUR_KEY'


def get_token(subscription_key):
    fetch_token_url = 'https://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken'
    headers = {
        'Ocp-Apim-Subscription-Key': subscription_key
    }
    response = requests.post(fetch_token_url, headers=headers)
    access_token = str(response.text)
    print(access_token)

Så här använder du en åtkomsttoken

Åtkomsttoken ska skickas till tjänsten som Authorization: Bearer <TOKEN> sidhuvud. Varje åtkomsttoken är giltig i 10 minuter. Du kan få en ny token när som helst, men om du vill minimera nätverkstrafik och svarstider rekommenderar vi att du använder samma token i nio minuter.

Här är ett exempel på en HTTP-begäran till tal till text-REST API för kort ljud:

POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: westus.stt.speech.microsoft.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive

// Message body here...

Regioner och slutpunkter

Slutpunkten för REST API kort ljud har det här formatet:

https://<REGION_IDENTIFIER>.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1

Ersätt <REGION_IDENTIFIER> med identifieraren som matchar prenumerationens region från den här tabellen:

Geografi Region Regionsidentifierare
Nord- och Sydamerika Central US centralus
Nord- och Sydamerika East US eastus
Nord- och Sydamerika USA, östra 2 eastus2
Nord- och Sydamerika USA, norra centrala northcentralus
Nord- och Sydamerika USA, södra centrala southcentralus
Nord- och Sydamerika USA, västra centrala westcentralus
Nord- och Sydamerika USA, västra westus
Nord- och Sydamerika USA, västra 2 westus2
Nord- och Sydamerika Kanada, centrala canadacentral
Nord- och Sydamerika Brasilien, södra brazilsouth
Asien och stillahavsområdet Asien, östra eastasia
Asien och stillahavsområdet Sydostasien southeastasia
Asien och stillahavsområdet Australien, östra australiaeast
Asien och stillahavsområdet Indien, centrala centralindia
Asien och stillahavsområdet Japan, östra japaneast
Asien och stillahavsområdet Japan, västra japanwest
Asien och stillahavsområdet Sydkorea, centrala koreacentral
Europa Europa, norra northeurope
Europa Europa, västra westeurope
Europa Frankrike, centrala francecentral
Europa Schweiz, norra switzerlandnorth
Europa Storbritannien, södra uksouth

Anteckning

Språkparametern måste läggas till i URL:en för att undvika att ett 4xx HTTP-fel uppstår. Till exempel är det språk som är inställt på amerikansk engelska med slutpunkten USA, västra: https://westus.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US .

Frågeparametrar

Dessa parametrar kan ingå i frågesträngen för REST-begäran.

Parameter Beskrivning Obligatorisk/valfri
language Identifierar det talade språket som identifieras. Se Språk som stöds. Obligatorisk
format Anger resultatformatet. Godkända värden är simple och detailed . Enkla resultat är RecognitionStatus , DisplayText , och Offset Duration . Detaljerade svar innehåller fyra olika representationer av visningstext. Standardinställningen är simple. Valfritt
profanity Anger hur svordomar i igenkänningsresultat ska hanteras. Godkända värden är , som ersätter svordomar med asterisker, , som tar bort alla svordomar från resultatet, eller , som innehåller svordomar i masked removed raw resultatet. Standardinställningen är masked. Valfritt
cid När du använder Custom Speech-portalen för att skapa anpassade modeller kan du använda anpassade modeller via deras slutpunkts-ID som finns på sidan Distribution. Använd slutpunkts-ID:t som argument till cid frågesträngsparametern. Valfritt

Begärandehuvuden

Den här tabellen innehåller obligatoriska och valfria huvuden för tal till text-begäranden.

Huvud Description Obligatorisk/valfri
Ocp-Apim-Subscription-Key Din prenumerationsnyckel för Speech-tjänsten. Antingen det här huvudet Authorization eller krävs.
Authorization En auktoriseringstoken som föregås av ordet Bearer . Mer information finns i Autentisering. Antingen det här huvudet Ocp-Apim-Subscription-Key eller krävs.
Pronunciation-Assessment Anger parametrarna för att visa uttalspoäng i igenkänningsresultat, som bedömer uttalskvaliteten för talindata, med indikatorer på noggrannhet, flyt, fullständighet osv. Den här parametern är en base64-kodad json som innehåller flera detaljerade parametrar. Se Parametrar för utvärdering av uttal för hur du skapar det här huvudet. Valfritt
Content-type Beskriver format och codec för de angivna ljuddata. Godkända värden är audio/wav; codecs=audio/pcm; samplerate=16000 och audio/ogg; codecs=opus . Obligatorisk
Transfer-Encoding Anger att segmenterade ljuddata skickas i stället för en enda fil. Använd bara den här rubriken om du segmentera ljuddata. Valfritt
Expect Om du använder segmenterad överföring skickar du Expect: 100-continue . Speech-tjänsten bekräftar den första begäran och väntar på ytterligare data. Krävs om du vill skicka segmenterade ljuddata.
Accept Om det anges måste det vara application/json . Speech-tjänsten tillhandahåller resultat i JSON. Vissa ramverk för begäran ger ett inkompatibelt standardvärde. Det är en bra idé att alltid inkludera Accept . Valfritt, men rekommenderas.

Ljudformat

Ljud skickas i brödtexten i POST HTTP-begäran. Det måste ha något av formaten i den här tabellen:

Format Codec Bithastighet Samplingsfrekvens
WAV PCM 256 kbit/s 16 kHz, mono
OGG OPUS 256 kpb 16 kHz, mono

Anteckning

Ovanstående format stöds via REST API för kort ljud och WebSocket i Speech-tjänsten. Speech SDK stöder för närvarande WAV-formatet med PCM codec samt andra format.

Utvärderingsparametrar för uttal

I den här tabellen visas obligatoriska och valfria parametrar för utvärdering av uttal.

Parameter Beskrivning Obligatoriskt?
ReferenceText Texten som uttalet kommer att utvärderas mot. Obligatorisk
GradingSystem Punktsystemet för poängavsening. Systemet FivePoint ger flyttalpoängen 0–5 HundredMark och ger flyttalpoängen 0–100. Standard: FivePoint. Valfritt
Precision Utvärderingskornigheten. Godkända värden är , som visar poängen på fulltext-, ord- och telefonnivå, , som visar poängen på fulltext- och ordnivå, , som endast visar poängen på Phoneme Word FullText fulltextnivå. Standardinställningen är Phoneme. Valfritt
Dimension Definierar utdatavillkoren. Godkända värden är , som endast visar noggrannhetspoängen och visar poäng för fler dimensioner (t.ex. fluency-poäng och fullständighetspoäng på Basic Comprehensive fulltextnivå, feltyp på ordnivå). Kontrollera svarsparametrar för att se definitioner av olika poängdimensioner och ordfeltyper. Standardinställningen är Basic. Valfritt
EnableMiscue Aktiverar felaktig beräkning. När detta är aktiverat jämförs de uttalade orden med referenstexten och markeras med utelämnande/infogning baserat på jämförelsen. Godkända värden är False och True . Standardinställningen är False. Valfritt
ScenarioId Ett GUID som anger ett anpassat punktsystem. Valfritt

Nedan visas ett exempel på en JSON som innehåller utvärderingsparametrarna för uttal:

{
  "ReferenceText": "Good morning.",
  "GradingSystem": "HundredMark",
  "Granularity": "FullText",
  "Dimension": "Comprehensive"
}

Följande exempelkod visar hur du skapar utvärderingsparametrarna för uttal i Pronunciation-Assessment rubriken:

var pronAssessmentParamsJson = $"{{\"ReferenceText\":\"Good morning.\",\"GradingSystem\":\"HundredMark\",\"Granularity\":\"FullText\",\"Dimension\":\"Comprehensive\"}}";
var pronAssessmentParamsBytes = Encoding.UTF8.GetBytes(pronAssessmentParamsJson);
var pronAssessmentHeader = Convert.ToBase64String(pronAssessmentParamsBytes);

Vi rekommenderar starkt strömning (segmenterad) uppladdning när du publicerar ljuddata, vilket kan minska svarstiden avsevärt. Se exempelkod i olika programmeringsspråk för hur du aktiverar strömning.

Anteckning

Funktionen för utvärdering av uttal en-US stöder för närvarande språk, som är tillgängligt i alla tal till text-regioner. Stödet för en-GB språken zh-CN och finns i förhandsversionen, som är tillgängligt i westus - och eastasia centralindia -regioner.

Exempelbegäran

Exemplet nedan innehåller värdnamnet och de rubriker som krävs. Observera att tjänsten även förväntar sig ljuddata, som inte ingår i det här exemplet. Som tidigare nämnts rekommenderas segmentering, men krävs inte.

POST speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed HTTP/1.1
Accept: application/json;text/xml
Content-Type: audio/wav; codecs=audio/pcm; samplerate=16000
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY
Host: westus.stt.speech.microsoft.com
Transfer-Encoding: chunked
Expect: 100-continue

Om du vill aktivera utvärdering av uttal kan du lägga till rubriken nedan. Se Parametrar för utvärdering av uttal för hur du skapar det här huvudet.

Pronunciation-Assessment: eyJSZWZlcm...

HTTP-statuskoder

HTTP-statuskoden för varje svar anger lyckade eller vanliga fel.

HTTP-statuskod Beskrivning Möjlig orsak
100 Fortsätt Den första begäran har godkänts. Fortsätt med att skicka resten av data. (Används med segmenterad överföring)
200 OK Begäran lyckades. svarstexten är ett JSON-objekt.
400 Felaktig begäran Språkkod tillhandahålls inte, inte ett språk som stöds, ogiltig ljudfil osv.
401 Behörighet saknas Prenumerationsnyckeln eller auktoriseringstoken är ogiltig i den angivna regionen eller ogiltig slutpunkt.
403 Förbjudet Prenumerationsnyckel eller auktoriseringstoken saknas.

Segmenterad överföring

Segmenterad överföring ( Transfer-Encoding: chunked ) kan hjälpa till att minska svarstiden för igenkänning. Det gör att Speech-tjänsten kan börja bearbeta ljudfilen medan den överförs. Den REST API kort ljud ger inte partiella eller mellanliggande resultat.

Det här kodexe exemplet visar hur du skickar ljud i segment. Endast det första segmentet ska innehålla ljudfilens sidhuvud. request är ett HttpWebRequest objekt som är anslutet till lämplig REST-slutpunkt. audioFile är sökvägen till en ljudfil på disken.

var request = (HttpWebRequest)HttpWebRequest.Create(requestUri);
request.SendChunked = true;
request.Accept = @"application/json;text/xml";
request.Method = "POST";
request.ProtocolVersion = HttpVersion.Version11;
request.Host = host;
request.ContentType = @"audio/wav; codecs=audio/pcm; samplerate=16000";
request.Headers["Ocp-Apim-Subscription-Key"] = "YOUR_SUBSCRIPTION_KEY";
request.AllowWriteStreamBuffering = false;

using (var fs = new FileStream(audioFile, FileMode.Open, FileAccess.Read))
{
    // Open a request stream and write 1024 byte chunks in the stream one at a time.
    byte[] buffer = null;
    int bytesRead = 0;
    using (var requestStream = request.GetRequestStream())
    {
        // Read 1024 raw bytes from the input audio file.
        buffer = new Byte[checked((uint)Math.Min(1024, (int)fs.Length))];
        while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) != 0)
        {
            requestStream.Write(buffer, 0, bytesRead);
        }

        requestStream.Flush();
    }
}

Svarsparametrar

Resultaten anges som JSON. Formatet simple innehåller dessa toppnivåfält.

Parameter Beskrivning
RecognitionStatus Status, till exempel Success för lyckad igenkänning. Se nästa tabell.
DisplayText Den tolkade texten efter versaler, skiljetecken, inverterad text normalisering (konvertering av talat text till kortare former, till exempel 200 för "två hundra" eller "Dr Smith" för "läkare smed") och svordomar maskering. Presentera endast om det lyckades.
Offset Den tid (i 100 nanosekundersenheter) då det identifierade talet börjar i ljudströmmen.
Duration Varaktigheten (i 100 nanosekundersenheter) för det identifierade talet i ljudströmmen.

Fältet RecognitionStatus kan innehålla följande värden:

Status Beskrivning
Success Igenkänningen lyckades och DisplayText fältet finns.
NoMatch Tal identifierades i ljudströmmen, men inga ord från målspråket matchades. Innebär vanligtvis att igenkänningsspråket är ett annat språk än det som användaren talar.
InitialSilenceTimeout Starten av ljudströmmen innehöll endast tystnad och tjänstens time out väntade på tal.
BabbleTimeout Starten av ljudströmmen innehöll endast brus och tjänstens time out väntade på tal.
Error Igenkänningstjänsten påträffade ett internt fel och kunde inte fortsätta. Försök igen om det är möjligt.

Anteckning

Om ljudet endast består av svordomar och frågeparametern är inställd profanityremove , returnerar inte tjänsten något talresultat.

Formatet detailed innehåller ytterligare former av identifierade resultat. När du detailed använder formatet anges som för varje resultat i DisplayText Display NBest listan.

Objektet i listan NBest kan innehålla:

Parameter Beskrivning
Confidence Förtroendepoängen för posten från 0,0 (ingen konfidens) till 1,0 (fullständig konfidens)
Lexical Den lexikala formen av den identifierade texten: de faktiska ord som identifieras.
ITN Den inverterade text normaliserade ("kanoniska") formen av den tolkade texten, med telefonnummer, siffror, förkortningar ("läkare smith" till "dr Smith") och andra transformationer som tillämpas.
MaskedITN ITN-formuläret med svordomsmaskning tillämpat, om så krävs.
Display Visningsformen för den tolkade texten, med skiljetecken och versaler tillagda. Den här parametern är samma DisplayText som anges när formatet är inställt på simple .
AccuracyScore Talets uttalsprecision. Noggrannhet anger hur nära fonemen matchar uttalet från en ursprunglig talare. Noggrannhetspoängen på ord- och fulltextnivå aggregeras från phoneme-nivåns noggrannhetspoäng.
FluencyScore Det givna talets fluency. Fluency anger hur nära talet matchar en inbyggd talares användning av tyst avbrott mellan ord.
CompletenessScore Talets fullständighet bestäms genom beräkning av förhållandet mellan uttalade ord och referens till textinmatning.
PronScore Övergripande poäng som anger uttalskvaliteten för det givna talet. Detta aggregeras från AccuracyScore och FluencyScore med CompletenessScore vikt.
ErrorType Det här värdet anger om ett ord utelämnas, infogas eller uttalas felaktigt, jämfört med ReferenceText . Möjliga värden är None (vilket innebär att det inte finns något fel på det här Omission ordet), Insertion och Mispronunciation .

Exempelsvar

Ett typiskt svar för simple igenkänning:

{
  "RecognitionStatus": "Success",
  "DisplayText": "Remind me to buy 5 pencils.",
  "Offset": "1236645672289",
  "Duration": "1236645672289"
}

Ett typiskt svar för detailed igenkänning:

{
  "RecognitionStatus": "Success",
  "Offset": "1236645672289",
  "Duration": "1236645672289",
  "NBest": [
    {
      "Confidence": 0.9052885,
      "Display": "What's the weather like?",
      "ITN": "what's the weather like",
      "Lexical": "what's the weather like",
      "MaskedITN": "what's the weather like"
    },
    {
      "Confidence": 0.92459863,
      "Display": "what is the weather like",
      "ITN": "what is the weather like",
      "Lexical": "what is the weather like",
      "MaskedITN": "what is the weather like"
    }
  ]
}

Ett typiskt svar för igenkänning med utvärdering av uttal:

{
  "RecognitionStatus": "Success",
  "Offset": "400000",
  "Duration": "11000000",
  "NBest": [
      {
        "Confidence" : "0.87",
        "Lexical" : "good morning",
        "ITN" : "good morning",
        "MaskedITN" : "good morning",
        "Display" : "Good morning.",
        "PronScore" : 84.4,
        "AccuracyScore" : 100.0,
        "FluencyScore" : 74.0,
        "CompletenessScore" : 100.0,
        "Words": [
            {
              "Word" : "Good",
              "AccuracyScore" : 100.0,
              "ErrorType" : "None",
              "Offset" : 500000,
              "Duration" : 2700000
            },
            {
              "Word" : "morning",
              "AccuracyScore" : 100.0,
              "ErrorType" : "None",
              "Offset" : 5300000,
              "Duration" : 900000
            }
        ]
      }
  ]
}

Nästa steg