Taligenkänning

Slutförd

Tip

Mer information finns på fliken Text och bilder !

Taligenkänning, som ofta kallas tal till text (STT) är en AI-funktion som gör det möjligt för appar och agenter att svara på talade indata. Taligenkänning tar det talade ordet och konverterar det till data, vanligtvis text. Tal till text-programvara använder vanligtvis flera modeller, inklusive:

  • En akustisk modell som konverterar ljudet till fonem (representationer av specifika ljud).
  • En språkmodell som mappar fonem till ord.

De ord som AI-taligenkänning känner igen konverteras till text. Du kan använda texten i olika syften, till exempel att tillhandahålla bildtexter, skapa samtalsavskrifter, automatisera anteckningsdiktering och mycket mer.

Azure Speech – Tal till text

Azure Speech innehåller ett tal-till-text-API som du kan använda för att bearbeta röstindata från en mikrofon eller ljudfil.

Anmärkning

Ett API (Application Programming Interface) är en uppsättning regler och slutpunkter som gör att ett program kan kommunicera med och använda funktioner eller data i ett annat program.

Microsoft Foundry är en Microsoft-plattform som hjälper utvecklare att skapa, testa och distribuera AI-program och agenter genom att sammanföra modeller, verktyg, data och tjänster på ett och samma ställe.

I den nya Microsoft Foundry-portalen kan vi utforska Azure Speechs funktioner för tal till text i Foundry Playground. Om du vill komma till lekplatsen går du till sidan Skapa och sedan till Modeller och sedan till fliken AI-tjänster . På fliken hittar du ett urval av AI-tjänster som är tillgängliga för testning, inklusive Azure Speech – Tal till text.

På lekplatsen kan du antingen ladda upp en ljudfil eller spela in dig själv när du talar. Azure Speech transkriberar vad som sägs, vilket ger dig en känsla för hur ditt eget program skulle svara på ljudindata.

Skärmbild av tal till text i Foundry Playground.

Lekplatsen i Foundry-portalen är ett bra ställe att experimentera med Azure Speech på, men för att kunna använda tal till text i ett program måste vi skriva kod.

Använda Azure speech-to-text-SDK

Azure Speech – Speech-to-Text SDK är ett klientbibliotek som gör att program kan konvertera talat ljud till skriven text. Tal-till-text-SDK är utformat för att göra taligenkänning enkelt att lägga till i program.

Anmärkning

Ett klientbibliotek är en uppsättning färdiga kod som utvecklare kan använda i sitt program för att enkelt kommunicera med en tjänst eller ett API.

Med SDK:et kan ditt program:

  • Spela in eller skicka ljud från en mikrofon, en ljudfil eller en ljudström
  • Skicka ljudet till Azure Speech på ett säkert sätt
  • Ta emot transkriberad text i nära realtid eller när bearbetningen har slutförts

SDK hanterar nätverks-, autentiserings-, ljudströmnings- och svarsparsing så att utvecklare kan fokusera på programlogik.

Utveckla ett program

Tal-till-text-SDK används vanligtvis i klient- eller tjänstskiktet i ett program. SDK fungerar som brygga mellan programkoden och Azure Speech-tjänsten.

Om du vill använda Azure Speech Python SDK måste du ha en kompatibel version av Python och Azure Speech Python SDK installerat.

Python SDK kan installeras i Visual Studio Code-terminalen med hjälp av:

pip install azure-cognitiveservices-speech

Anmärkning

Programkod skrivs i kodredigerare, till exempel Visual Studio Code. En kodredigerares terminal är ett inbyggt kommandoradsfönster i redigeraren där du kan köra kommandon utan att lämna utvecklingsmiljön.

Om du vill använda Azure Speech måste du också skapa en Foundry-resurs. Slutpunkten och nyckeln för Foundry-resursen används i koden för att autentisera anslutningen.

När du har installerat Python SDK och skapat en Foundry-resurs kan du skapa och köra programmet. Överväg följande Python-kod. När du kör den:

  1. Appen initierar Speech SDK: Tillhandahåller en slutpunkt och autentisering (nyckel eller Microsoft Entra-ID)
  2. Ljud samlas in eller läses in: Mikrofoninmatning eller en ljudfil/ström
  3. Ljud skickas till Azure Speech: SDK strömmar eller laddar upp ljud på ett säkert sätt
  4. Taligenkänning körs i molnet: Azures talmodeller analyserar ljudet
  5. Textresultat returneras: Appen får identifierad text och valfria metadata
import azure.cognitiveservices.speech as speechsdk

# Set up the speech config using resource endpoint
endpoint_url = "ENDPOINT"
speech_key = "FOUNDRY_KEY"

speech_config = speechsdk.SpeechConfig(
    subscription=speech_key,
    endpoint=endpoint_url
)

# Create a recognizer with microphone input
audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
speech_recognizer = speechsdk.SpeechRecognizer(
    speech_config=speech_config, 
    audio_config=audio_config
)

# Event handlers
def recognized_handler(evt):
    print(f"Recognized: {evt.result.text}")

def recognizing_handler(evt):
    print(f"Recognizing: {evt.result.text}")

# Connect event handlers
speech_recognizer.recognized.connect(recognized_handler)
speech_recognizer.recognizing.connect(recognizing_handler)

# Start continuous recognition
speech_recognizer.start_continuous_recognition()
print("Say something...")

# Keep the program running
input("Press Enter to stop...")
speech_recognizer.stop_continuous_recognition()

Exempel på klientapp

Anta till exempel att du vill utveckla en lättviktsapp som automatiskt transkriberar röstmeddelanden. I kodredigeraren har vi en ljudfil och en Python-fil som innehåller programkod.

Skärmbild av Visual Studio Code med en öppen ljudfil.

Anta att du har en ljudfil som innehåller en röstbrevlådeinspelning. Om du vill transkribera meddelandet börjar du med att ange slutpunkten och nyckeln och ljudkällan som du vill transkribera. Använd sedan ett SpeechRecognizer objekt för att utföra transkriptionen innan du visar resultatet.

Skärmbild av python-kod för tal till text i Visual Studio Code.

När du har kört koden kan du se transkriptionstexten.

Skärmbild av Visual Studio Code med terminalen öppen och resultatet av tal till text.

Alternativ för ljudbearbetning

Du kan använda Azure Speechs tal-till-text-API för att utföra realtids- eller batch-transkription av ljud i ett textformat. Ljudkällan för transkription kan vara en ljudström i realtid från en mikrofon eller en ljudfil.

Transkription i realtid: Med tal till text i realtid kan du transkribera ljudströmmar till text. Du kan använda transkription i realtid för presentationer, demonstrationer eller andra scenarier där en person talar.

För att transkription i realtid ska fungera måste programmet lyssna efter inkommande ljud från en mikrofon eller annan ljudinmatningskälla, till exempel en ljudfil. Programkoden strömmar ljudet till tjänsten, som returnerar den transkriberade texten.

Batch-transkription: Inte alla tal-till-text-scenarier är i realtid. Du kan ha ljudinspelningar lagrade på en filresurs, en fjärrserver eller till och med på Azure Storage. Du kan peka på ljudfiler med en SAS-URI (signatur för delad åtkomst) och asynkront ta emot transkriptionsresultat.

Batch-transkription bör köras på ett asynkront sätt eftersom batchjobben schemaläggs på bästa sätt. Normalt börjar ett jobb köras inom några minuter efter begäran, men det finns ingen uppskattning för när ett jobb övergår till körläge.

Taligenkänning i Azure Speech är ett bra sätt att skapa lösningar som transkriberar inspelat ljud eller automatiserar taltextning. Lär dig sedan hur du införlivar talsyntes i ett program.