Az Azure AI Speech to Text API használata

Befejeződött

Az Azure AI Speech szolgáltatás két REST API-val támogatja a beszédfelismerést:

  • A Beszéd a szöveghez API, amely a beszédfelismerés elsődleges módja.
  • A Speech to text Short Audio API, amely rövid hangstreamekhez (akár 60 másodpercig) van optimalizálva.

Az interaktív beszédfelismeréshez bármelyik API-t használhatja a beszélt bemenet várható hosszától függően. A Speech to text API-t kötegelt átíráshoz is használhatja, amely több hangfájlt kötegműveletként ír át szöveggé.

A REST API-król a Speech to text REST API dokumentációjában olvashat bővebben. A gyakorlatban a legtöbb interaktív beszédalapú alkalmazás egy (programozási) nyelvspecifikus SDK-n keresztül használja a Speech szolgáltatást.

Az Azure AI Speech SDK használata

Bár a konkrét részletek a használt SDK-tól függően változnak (Python, C#stb.); a Speech to text API használatára egységes minta áll rendelkezésre:

A diagram showing how a SpeechRecognizer object is created from a SpeechConfig and AudioConfig, and its RecognizeOnceAsync method is used to call the Speech API.

  1. SpeechConfig-objektum használatával foglalja össze az Azure AI Speech-erőforráshoz való csatlakozáshoz szükséges információkat. Pontosabban a helyét és kulcsát.
  2. Igény szerint a Hangkonfigurációval definiálhatja az átírandó hang bemeneti forrását. Alapértelmezés szerint ez az alapértelmezett rendszermikrofon, de megadhat egy hangfájlt is.
  3. SpeechRecognizer-objektum létrehozása a SpeechConfig és az AudioConfig használatával. Ez az objektum a Speech to text API proxyügyfele.
  4. Használja a SpeechRecognizer objektum metódusait a mögöttes API-függvények meghívásához. A RecognizeOnceAsync() metódus például az Azure AI Speech szolgáltatással aszinkron módon átír egy kimondott kimondott szöveget.
  5. Dolgozza fel az Azure AI Speech szolgáltatás válaszát. A RecognizeOnceAsync() metódus esetében az eredmény egy SpeechRecognitionResult objektum, amely a következő tulajdonságokat tartalmazza:
    • Időtartam
    • OffsetInTicks
    • Tulajdonságok
    • Ok
    • Eredményazonosító
    • Szöveg

Ha a művelet sikeres volt, az Ok tulajdonság a RecognizedSpeech számba vett értékkel rendelkezik, a Text tulajdonság pedig az átírást tartalmazza. Az Eredmény további lehetséges értékei közé tartozik a NoMatch (amely azt jelzi, hogy a hang elemzése sikeresen megtörtént, de a beszéd nem lett felismerve), vagy a Mégse érték, amely azt jelzi, hogy hiba történt (ebben az esetben ellenőrizheti a CancellationReason tulajdonság Tulajdonságok gyűjteményét a hiba megállapításához).