Spraakherkenning

Voltooid

Opmerking

Zie het tabblad Tekst en afbeeldingen voor meer informatie.

Spraakherkenning, ook wel spraak-naar-tekst (STT) genoemd, is een AI-functie waarmee apps en agents kunnen reageren op gesproken invoer. Spraakherkenning neemt het gesproken woord en converteert het naar gegevens, meestal tekst. Spraak-naar-tekst-software maakt doorgaans gebruik van meerdere modellen, waaronder:

  • Een akoestisch model dat de audio omzet in fonemen (representaties van specifieke geluiden).
  • Een taalmodel dat klanken aan woorden koppelt.

De woorden die AI-spraak herkent, worden geconverteerd naar tekst. U kunt de tekst voor verschillende doeleinden gebruiken, zoals het verstrekken van ondertiteling, het maken van oproeptranscripties, het automatiseren van het dicteren van notities en nog veel meer.

Azure Speech - Spraak naar tekst

Azure Speech bevat een spraak-naar-tekst-API die u kunt gebruiken om spraakinvoer van een microfoon of audiobestand te verwerken.

Opmerking

Een API (Application Programming Interface) is een set regels en eindpunten waarmee één softwaretoepassing kan communiceren met en de functionaliteit of gegevens van een andere toepassing kan gebruiken.

Microsoft Foundry is een Microsoft-platform waarmee ontwikkelaars AI-toepassingen en -agents kunnen bouwen, testen en implementeren door modellen, hulpprogramma's, gegevens en services op één plaats samen te brengen.

In de nieuwe Microsoft Foundry-portal kunnen we de spraak-naar-tekstmogelijkheden van Azure Speech verkennen in de Foundry-speeltuin. Als u naar de speeltuin wilt gaan, gaat u naar de pagina Bouwen en vervolgens naar Modellen en vervolgens naar het tabblad AI-services . Op het tabblad vindt u een selectie van AI-services die beschikbaar zijn voor testen, waaronder Azure Speech - Speech to Text.

In het speelveld kunt u ofwel een audiobestand uploaden of uzelf opnemen terwijl u spreekt. Azure Speech transcribeert wat er wordt gezegd, zodat u weet hoe uw eigen toepassing zou reageren op audio-invoer.

Schermopname van spraak-naar-tekst in de Foundry-speeltuin.

De speeltuin in de Foundry-portal is een geweldige plek om te experimenteren met Azure Speech, maar om spraak-naar-tekst in een toepassing te gebruiken, moeten we code schrijven.

De Spraak-naar-tekst-SDK van Azure gebruiken

De Azure Speech - Speech-to-Text SDK is een clientbibliotheek waarmee toepassingen gesproken audio kunnen omzetten in geschreven tekst. De speech-to-text SDK is ontworpen om spraakherkenning eenvoudig toe te voegen aan toepassingen.

Opmerking

Een clientbibliotheek is een set kant-en-klare code die ontwikkelaars in hun toepassing kunnen gebruiken om eenvoudig te communiceren met een service of API.

Met de SDK kan uw toepassing het volgende doen:

  • Audio vastleggen of verzenden vanaf een microfoon, audiobestand of audiostream
  • Die audio veilig verzenden naar Azure Speech
  • Getranscribeerde tekst in bijna realtime ontvangen of nadat de verwerking is voltooid

De SDK verwerkt netwerken, verificatie, audiostreaming en antwoordparsering, zodat ontwikkelaars zich kunnen richten op toepassingslogica.

Een toepassing ontwikkelen

De Speech-to-Text SDK wordt doorgaans gebruikt in de client- of servicelaag van een toepassing. De SDK fungeert als de brug tussen uw toepassingscode en de Azure Speech-service.

Als u de Azure Speech Python SDK wilt gebruiken, moet u een compatibele versie van Python en de Azure Speech Python SDK hebben geïnstalleerd.

De Python SDK kan worden geïnstalleerd in de Visual Studio Code-terminal met behulp van:

pip install azure-cognitiveservices-speech

Opmerking

Toepassingscode wordt geschreven in code-editors, zoals Visual Studio Code. De terminal van een code-editor is een ingebouwd opdrachtregelvenster in de editor waar u opdrachten kunt uitvoeren zonder uw ontwikkelomgeving te verlaten.

Als u Azure Speech wilt gebruiken, moet u ook een Foundry-resource maken. Het Foundry-resource-eindpunt en de sleutel worden in uw code gebruikt om uw verbinding te verifiëren.

Nadat u de Python SDK hebt geïnstalleerd en een Foundry-resource hebt gemaakt, kunt u uw programma maken en uitvoeren. Houd rekening met de volgende Python-code. Wanneer u het uitvoert:

  1. Uw app initialiseert de Speech SDK: biedt een eindpunt en verificatie (sleutel of Microsoft Entra-id)
  2. Audio wordt vastgelegd of geladen: microfooninvoer of een audiobestand/stream
  3. Audio wordt verzonden naar Azure Speech: de SDK streamt of uploadt audio veilig
  4. Spraakherkenning wordt uitgevoerd in de cloud: de spraakmodellen van Azure analyseren de audio
  5. Tekstresultaten worden geretourneerd: uw app ontvangt herkende tekst en optionele metagegevens
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()

Voorbeeld van client-app

Stel dat u een lichtgewicht app wilt ontwikkelen waarmee voicemailberichten automatisch worden getranscribeerd. In de code-editor hebben we één audiobestand en één Python-bestand, dat toepassingscode bevat.

Schermopname van Visual Studio Code met een audiobestand geopend.

Stel dat u een audiobestand hebt met een voicemail-opname. Als u het bericht wilt transcriberen, geeft u eerst het eindpunt en de sleutel en de audiobron op die u wilt transcriberen. Gebruik vervolgens een SpeechRecognizer object om de transcriptie uit te voeren voordat de resultaten worden weergegeven.

Schermopname van python-code voor spraak-naar-tekst in Visual Studio Code.

Zodra u de code hebt uitgevoerd, ziet u de transcriptietekst.

Schermopname van Visual Studio Code met de terminal geopend en de resultaten van spraak-naar-tekst.

Opties voor audioverwerking

U kunt de spraak-naar-tekst-API van Azure Speech gebruiken om audio in realtime of in batches om te zetten naar tekst. De audiobron voor transcriptie kan een realtime audiostream van een microfoon of een audiobestand zijn.

Realtime transcriptie: met realtime spraak naar tekst kunt u audiostreams transcriberen naar tekst. U kunt realtime transcriptie gebruiken voor presentaties, demonstraties of andere scenario's waarbij een persoon spreekt.

Om realtime transcriptie te laten werken, moet uw toepassing luisteren naar binnenkomende audio van een microfoon of een andere bron voor audio-invoer, zoals een audiobestand. De code van uw toepassing streamt de audio naar de service, die de getranscribeerde tekst retourneert.

Batchtranscriptie: niet alle scenario's voor spraak-naar-tekst zijn realtime. Mogelijk hebt u audio-opnamen opgeslagen op een bestandsshare, een externe server of zelfs in Azure Storage. U kunt met een SAS-URI (Shared Access Signature) naar audiobestanden verwijzen en de transcriptieresultaten asynchroon ontvangen.

Batchtranscriptie moet op asynchrone wijze worden uitgevoerd omdat de batchtaken op best-effortbasis worden gepland. Normaal gesproken wordt een taak binnen enkele minuten van de aanvraag uitgevoerd, maar er is geen schatting voor wanneer een taak wordt gewijzigd in de uitvoeringsstatus.

Spraakherkenning in Azure Speech is een uitstekende manier om oplossingen te bouwen waarmee opgenomen audio wordt getranscribeerd of spraakondertiteling wordt geautomatiseerd. Leer vervolgens hoe u spraaksynthese kunt opnemen in een toepassing.