Az Azure AI Speech to Text API használata
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:
- 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.
- 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.
- SpeechRecognizer-objektum létrehozása a SpeechConfig és az AudioConfig használatával. Ez az objektum a Speech to text API proxyügyfele.
- 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.
- 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).