Spracherkennung
Hinweis
Weitere Details finden Sie auf der Registerkarte "Text und Bilder ".
Die Spracherkennung, die häufig als Sprach-zu-Text (STT) bezeichnet wird, ist eine KI-Funktion, mit der Apps und Agents auf gesprochene Eingaben reagieren können. Die Spracherkennung verwendet das gesprochene Wort und konvertiert es in Daten, in der Regel Text. Sprach-zu-Text-Software verwendet in der Regel mehrere Modelle, einschließlich:
- Ein akustisches Modell, das die Audiodaten in Phoneme (Darstellungen bestimmter Sounds) konvertiert.
- Ein Sprachmodell , das Phonemen Wörtern zuordnet.
Die Wörter der KI-Spracherkennung werden in Text umgewandelt. Sie können den Text für verschiedene Zwecke verwenden, z. B. Untertitel bereitstellen, Anrufaufzeichnungen erstellen, Das Diktieren von Notizen automatisieren und vieles mehr.
Azure Speech – Sprache in Text
Azure Speech enthält eine Sprach-zu-Text-API , die Sie zum Verarbeiten von Spracheingaben aus einem Mikrofon oder einer Audiodatei verwenden können.
Hinweis
Eine API (Application Programming Interface) ist eine Reihe von Regeln und Endpunkten, mit denen eine Softwareanwendung kommunizieren und die Funktionalität oder Daten einer anderen Anwendung verwenden kann.
Microsoft Foundry ist eine Microsoft-Plattform, die Entwicklern hilft, KI-Anwendungen und -Agents zu erstellen, zu testen und bereitzustellen, indem Sie Modelle, Tools, Daten und Dienste an einem zentralen Ort zusammenbringen.
Im neuen Microsoft Foundry-Portal können wir die Sprach-zu-Text-Funktionen von Azure Speech im Gießerei-Playground erkunden. Um zum Playground zu gelangen, navigieren Sie zur Seite " Erstellen " und dann zu " Modelle" und dann zur Registerkarte "KI-Dienste ". Auf der Registerkarte finden Sie eine Auswahl an AI-Diensten, die zum Testen verfügbar sind, einschließlich Azure Speech – Speech to Text.
Im Playground können Sie entweder eine Audiodatei hochladen oder sich selbst aufzeichnen. Azure Speech transkribiert das, was gesagt wird, und gibt Ihnen ein Gefühl dafür, wie Ihre eigene Anwendung auf Audioeingaben reagiert.
Der Playground im Foundry-Portal ist ein großartiger Ort, um mit Azure Speech zu experimentieren, aber um Sprach-zu-Text in einer Anwendung zu verwenden, müssen wir Code schreiben.
Verwenden des Azure Speech-to-Text-SDK
Das Azure Speech – Speech-to-Text SDK ist eine Clientbibliothek, mit der Anwendungen gesprochenes Audio in geschriebenen Text konvertieren können. Das Sprach-zu-Text-SDK wurde entwickelt, um die Spracherkennung einfach zu Anwendungen hinzuzufügen.
Hinweis
Eine Clientbibliothek ist ein Satz vorgefertigter Code, den Entwickler in ihrer Anwendung verwenden können, um problemlos mit einem Dienst oder einer API zu sprechen.
Das SDK ermöglicht Ihrer Anwendung Folgendes:
- Aufzeichnen oder Senden von Audio aus einem Mikrofon, einer Audiodatei oder einem Audiodatenstrom
- Sicheres Senden dieser Audiodaten an Azure Speech
- Empfangen von transkribierten Text in nahezu Echtzeit oder nach Abschluss der Verarbeitung
Das SDK behandelt Netzwerk-, Authentifizierungs-, Audiostreaming- und Antwortanalyse, sodass Entwickler sich auf Anwendungslogik konzentrieren können.
Entwickeln einer Anwendung
Das Speech-to-Text SDK wird in der Regel in der Client- oder Dienstebene einer Anwendung verwendet. Das SDK fungiert als Brücke zwischen Ihrem Anwendungscode und dem Azure Speech-Dienst.
Um das Azure Speech Python SDK zu verwenden, müssen Sie kompatible Version von Python und das Azure Speech Python SDK installiert haben.
Das Python-SDK kann im Visual Studio Code Terminal installiert werden, indem Sie Folgendes verwenden:
pip install azure-cognitiveservices-speech
Hinweis
Anwendungscode wird in Code-Editoren geschrieben, z. B. Visual Studio Code. Das Terminal eines Code-Editors ist ein integriertes Befehlszeilenfenster im Editor, in dem Sie Befehle ausführen können, ohne Die Entwicklungsumgebung verlassen zu müssen.
Um Azure Speech zu verwenden, müssen Sie auch eine Foundry-Ressource erstellen. Der Foundry-Ressourcenendpunkt und der Schlüssel werden in Ihrem Code verwendet, um Ihre Verbindung zu authentifizieren.
Nachdem Sie das Python SDK installiert und eine Foundry-Ressource erstellt haben, können Sie Ihr Programm erstellen und ausführen. Berücksichtigen Sie den folgenden Python-Code. Wenn Sie es ausführen:
- Ihre App initialisiert das Speech SDK: Stellt einen Endpunkt und eine Authentifizierung bereit (Schlüssel oder Microsoft Entra ID)
- Audio wird aufgenommen oder geladen: Mikrofoneingabe oder Audiodatei/Stream
- Audio wird an Azure Speech gesendet: Das SDK streamt oder lädt Audio sicher hoch.
- Die Spracherkennung wird in der Cloud ausgeführt: Die Sprachmodelle von Azure analysieren das Audio
- Textergebnisse werden zurückgegeben: Ihre App empfängt erkannten Text und optionale Metadaten.
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()
Beispiel für Client-App
Angenommen, Sie möchten eine einfache App entwickeln, die Voicemailnachrichten automatisch transkribiert. Im Code-Editor haben wir eine Audiodatei und eine Python-Datei, die Anwendungscode enthält.
Angenommen, Sie haben eine Audiodatei, die eine Voicemailaufzeichnung enthält. Um die Nachricht zu transkribieren, geben Sie zunächst den Endpunkt und den Schlüssel und die Audioquelle an, die Sie transkribieren möchten. Verwenden Sie dann ein SpeechRecognizer Objekt, um die Transkription durchzuführen, bevor die Ergebnisse angezeigt werden.
Nachdem Sie den Code ausgeführt haben, können Sie den Transkriptionstext sehen.
Audioverarbeitungsoptionen
Sie können die Sprach-zu-Text-API von Azure Speech verwenden, um eine Echtzeit- oder Batchtranskription von Audio in ein Textformat durchzuführen. Die Audioquelle für die Transkription kann eine Echtzeit-Audioübertragung von einem Mikrofon oder einer Audiodatei sein.
Echtzeittranskription: Mit Echtzeitsprache zu Text können Sie Audiodatenströme in Text transkribieren. Sie können die Echtzeittranskription für Präsentationen, Demos oder andere Szenarios verwenden, in denen eine Person spricht.
Damit die Echtzeittranskription funktioniert, muss Ihre Anwendung auf eingehende Audiosignale von einem Mikrofon oder einer anderen Audioeingangsquelle wie einer Audiodatei lauschen. Ihr Anwendungscode überträgt das Audio an den Dienst, der den transkribierten Text zurückgibt.
Batchtranskription: Nicht alle Sprache-zu-Text-Szenarien erfolgen in Echtzeit. Möglicherweise sind Audioaufnahmen auf einer Dateifreigabe, einem Remoteserver oder sogar in Azure Storage gespeichert. Sie können auf Audiodateien mit einem SAS-URI (Shared Access Signature) verweisen und asynchron Transkriptionsergebnisse empfangen.
Die Batchtranskription sollte asynchron ausgeführt werden, da die Batchaufträge auf best-effort-Basis geplant werden. Normalerweise wird ein Auftrag innerhalb von Minuten nach der Anforderung ausgeführt. Es gibt jedoch keine Schätzung, wann ein Auftrag in den Ausführungsstatus wechselt.
Die Spracherkennung in Azure Speech ist eine hervorragende Möglichkeit, Lösungen zu erstellen, die aufgezeichnete Audiodaten transkribieren oder sprachuntertiteln automatisieren. Erfahren Sie als Nächstes, wie Sie die Sprachsynthese in eine Anwendung integrieren.