Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze snelle startgids test u real-time spraak naar tekst in Azure AI Foundry.
Vereiste voorwaarden
- Een Azure-abonnement.
- Een AI Foundry-project. Zie Een Azure AI Foundry-project maken als u een project wilt maken.
Realtime spraak naar tekst proberen
Ga naar uw Azure AI Foundry-project.
Selecteer Speeltuinen in het linkerdeelvenster en selecteer vervolgens een speeltuin die u wilt gebruiken. In dit voorbeeld selecteert u De spraakspeeltuin uitproberen.
Selecteer realtimetranscriptie.
Selecteer Geavanceerde opties weergeven om spraak-naar-tekstopties te configureren, zoals:
- Taalidentificatie: wordt gebruikt om talen te identificeren die in audio worden gesproken in vergelijking met een lijst met ondersteunde talen. Zie Taalidentificatie voor meer informatie over opties voor taalidentificatie, zoals aan het begin en continue herkenning.
- Sprekersherkenning: Het wordt gebruikt om sprekers in audio te identificeren en te scheiden. Diarization maakt onderscheid tussen de verschillende sprekers die deelnemen aan het gesprek. De Speech-service biedt informatie over welke spreker een bepaald deel van getranscribeerde spraak sprak. Zie de quickstart voor real-time spraak naar tekst met sprekerdiarisatie voor meer informatie over sprekerdiarisatie.
- Aangepast eindpunt: gebruik een geïmplementeerd model van aangepaste spraak om de nauwkeurigheid van herkenning te verbeteren. Als u het basislijnmodel van Microsoft wilt gebruiken, laat u deze ingesteld op Geen. Zie Custom Speech voor meer informatie over aangepaste spraak.
- Uitvoerindeling: kies tussen eenvoudige en gedetailleerde uitvoerindelingen. Eenvoudige uitvoer bevat weergave-indeling en tijdstempels. Gedetailleerde uitvoer bevat meer indelingen (zoals weergave, lexicaal, ITN en gemaskeerde ITN), tijdstempels en N-beste lijsten.
- Frasenlijst: verbeter de nauwkeurigheid van transcriptie door een lijst met bekende zinnen op te geven, zoals namen van personen of specifieke locaties. Gebruik komma's of puntkomma's om elke waarde in de frasenlijst te scheiden. Zie Frasenlijsten voor meer informatie over woordgroepenlijsten.
Selecteer een audiobestand dat u wilt uploaden of audio in realtime wilt opnemen. In dit voorbeeld gebruiken we het
Call1_separated_16k_health_insurance.wavbestand dat beschikbaar is in de Speech SDK-opslagplaats op GitHub. U kunt het bestand downloaden of uw eigen audiobestand gebruiken.U kunt de realtime transcriptie onder aan de pagina bekijken.
U kunt het tabblad JSON selecteren om de JSON-uitvoer van de transcriptie te bekijken. Eigenschappen zijn onder andere
Offset,Duration,RecognitionStatus,Display,Lexical, enITN, en meer.
Referentiedocumentatiepakket (NuGet) |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een AI-dienstenresource voor Spraak in de Azure portal.
- Haal de spraakresource-sleutel en het eindpunt op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
De Speech SDK is beschikbaar als een NuGet-pakket en implementeert .NET Standard 2.0. U installeert de Speech SDK verderop in deze handleiding. Zie De Speech SDK installeren voor andere vereisten.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u uw eindpunt door een van de eindpunten voor uw resource.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen met een microfoon
Aanbeveling
Probeer de Azure AI Speech Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.
Volg deze stappen om een consoletoepassing te maken en de Speech SDK te installeren.
Open een opdrachtpromptvenster in de map waarin u het nieuwe project wilt opnemen. Voer deze opdracht uit om een consoletoepassing te maken met de .NET CLI.
dotnet new consoleMet deze opdracht maakt u het Program.cs-bestand in de projectmap.
Installeer de Speech SDK in uw nieuwe project met de .NET CLI.
dotnet add package Microsoft.CognitiveServices.SpeechVervang de inhoud van Program.cs door de volgende code:
using System; using System.IO; using System.Threading.Tasks; using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; class Program { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string endpoint = Environment.GetEnvironmentVariable("ENDPOINT"); static void OutputSpeechRecognitionResult(SpeechRecognitionResult speechRecognitionResult) { switch (speechRecognitionResult.Reason) { case ResultReason.RecognizedSpeech: Console.WriteLine($"RECOGNIZED: Text={speechRecognitionResult.Text}"); break; case ResultReason.NoMatch: Console.WriteLine($"NOMATCH: Speech could not be recognized."); break; case ResultReason.Canceled: var cancellation = CancellationDetails.FromResult(speechRecognitionResult); Console.WriteLine($"CANCELED: Reason={cancellation.Reason}"); if (cancellation.Reason == CancellationReason.Error) { Console.WriteLine($"CANCELED: ErrorCode={cancellation.ErrorCode}"); Console.WriteLine($"CANCELED: ErrorDetails={cancellation.ErrorDetails}"); Console.WriteLine($"CANCELED: Did you set the speech resource key and endpoint values?"); } break; } } async static Task Main(string[] args) { var speechConfig = SpeechConfig.FromEndpoint(speechKey, endpoint); speechConfig.SpeechRecognitionLanguage = "en-US"; using var audioConfig = AudioConfig.FromDefaultMicrophoneInput(); using var speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig); Console.WriteLine("Speak into your microphone."); var speechRecognitionResult = await speechRecognizer.RecognizeOnceAsync(); OutputSpeechRecognitionResult(speechRecognitionResult); } }Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Voer de nieuwe consoletoepassing uit om spraakherkenning vanaf een microfoon te starten:
dotnet runBelangrijk
Zorg ervoor dat u de
SPEECH_KEYenENDPOINTomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet worden weergegeven als tekst:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
Opmerkingen
Hier volgen enkele andere overwegingen:
In dit voorbeeld wordt de
RecognizeOnceAsyncbewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.Als u spraak uit een audiobestand wilt herkennen, gebruikt
FromWavFileInputu in plaats vanFromDefaultMicrophoneInput:using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStreamofPushAudioInputStream. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (NuGet) |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een AI-dienstenresource voor Spraak in de Azure portal.
- Haal de spraakresource-sleutel en het eindpunt op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
De Speech SDK is beschikbaar als een NuGet-pakket en implementeert .NET Standard 2.0. U installeert de Speech SDK verderop in deze handleiding. Zie De Speech SDK installeren voor andere vereisten.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u uw eindpunt door een van de eindpunten voor uw resource.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen met een microfoon
Aanbeveling
Probeer de Azure AI Speech Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.
Volg deze stappen om een consoletoepassing te maken en de Speech SDK te installeren.
Maak een nieuw C++-consoleproject in Visual Studio Community met de naam
SpeechRecognition.Selecteer Tools>NuGet Pakketbeheer>Pakketbeheer Console. Voer in de Pakketbeheer Console deze opdracht uit:
Install-Package Microsoft.CognitiveServices.SpeechVervang de inhoud van
SpeechRecognition.cppmet de volgende code:#include <iostream> #include <stdlib.h> #include <speechapi_cxx.h> using namespace Microsoft::CognitiveServices::Speech; using namespace Microsoft::CognitiveServices::Speech::Audio; std::string GetEnvironmentVariable(const char* name); int main() { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" auto speechKey = GetEnvironmentVariable("SPEECH_KEY"); auto endpoint = GetEnvironmentVariable("ENDPOINT"); if ((size(speechKey) == 0) || (size(endpoint) == 0)) { std::cout << "Please set both SPEECH_KEY and ENDPOINT environment variables." << std::endl; return -1; } auto speechConfig = SpeechConfig::FromEndpoint(speechKey, endpoint); speechConfig->SetSpeechRecognitionLanguage("en-US"); auto audioConfig = AudioConfig::FromDefaultMicrophoneInput(); auto speechRecognizer = SpeechRecognizer::FromConfig(speechConfig, audioConfig); std::cout << "Speak into your microphone.\n"; auto result = speechRecognizer->RecognizeOnceAsync().get(); if (result->Reason == ResultReason::RecognizedSpeech) { std::cout << "RECOGNIZED: Text=" << result->Text << std::endl; } else if (result->Reason == ResultReason::NoMatch) { std::cout << "NOMATCH: Speech could not be recognized." << std::endl; } else if (result->Reason == ResultReason::Canceled) { auto cancellation = CancellationDetails::FromResult(result); std::cout << "CANCELED: Reason=" << (int)cancellation->Reason << std::endl; if (cancellation->Reason == CancellationReason::Error) { std::cout << "CANCELED: ErrorCode=" << (int)cancellation->ErrorCode << std::endl; std::cout << "CANCELED: ErrorDetails=" << cancellation->ErrorDetails << std::endl; std::cout << "CANCELED: Did you set the speech resource key and endpoint values?" << std::endl; } } } std::string GetEnvironmentVariable(const char* name) { #if defined(_MSC_VER) size_t requiredSize = 0; (void)getenv_s(&requiredSize, nullptr, 0, name); if (requiredSize == 0) { return ""; } auto buffer = std::make_unique<char[]>(requiredSize); (void)getenv_s(&requiredSize, buffer.get(), requiredSize, name); return buffer.get(); #else auto value = getenv(name); return value ? value : ""; #endif }Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Als u spraakherkenning vanaf een microfoon wilt starten, bouwt u de nieuwe consoletoepassing en voert u deze uit .
Belangrijk
Zorg ervoor dat u de
SPEECH_KEYenENDPOINTomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet worden weergegeven als tekst:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
Opmerkingen
Hier volgen enkele andere overwegingen:
In dit voorbeeld wordt de
RecognizeOnceAsyncbewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.Als u spraak uit een audiobestand wilt herkennen, gebruikt
FromWavFileInputu in plaats vanFromDefaultMicrophoneInput:auto audioConfig = AudioConfig::FromWavFileInput("YourAudioFile.wav");Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStreamofPushAudioInputStream. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een AI Foundry-resource voor Spraak in de Azure Portal.
- Haal de sleutel voor de spraakbron en de regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
Installeer de Speech SDK voor Go. Zie De Speech SDK installeren voor vereisten en instructies.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGIONomgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u deze dooryour-endpointhet werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen met een microfoon
Volg deze stappen om een GO-module te maken.
Open een opdrachtpromptvenster in de map waarin u het nieuwe project wilt opnemen. Maak een nieuw bestand met de naam speech-recognition.go.
Kopieer de volgende code naar spraakherkenning.go:
package main import ( "bufio" "fmt" "os" "github.com/Microsoft/cognitive-services-speech-sdk-go/audio" "github.com/Microsoft/cognitive-services-speech-sdk-go/speech" ) func sessionStartedHandler(event speech.SessionEventArgs) { defer event.Close() fmt.Println("Session Started (ID=", event.SessionID, ")") } func sessionStoppedHandler(event speech.SessionEventArgs) { defer event.Close() fmt.Println("Session Stopped (ID=", event.SessionID, ")") } func recognizingHandler(event speech.SpeechRecognitionEventArgs) { defer event.Close() fmt.Println("Recognizing:", event.Result.Text) } func recognizedHandler(event speech.SpeechRecognitionEventArgs) { defer event.Close() fmt.Println("Recognized:", event.Result.Text) } func cancelledHandler(event speech.SpeechRecognitionCanceledEventArgs) { defer event.Close() fmt.Println("Received a cancellation: ", event.ErrorDetails) fmt.Println("Did you set the speech resource key and region values?") } func main() { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" speechKey := os.Getenv("SPEECH_KEY") speechRegion := os.Getenv("SPEECH_REGION") audioConfig, err := audio.NewAudioConfigFromDefaultMicrophoneInput() if err != nil { fmt.Println("Got an error: ", err) return } defer audioConfig.Close() speechConfig, err := speech.NewSpeechConfigFromSubscription(speechKey, speechRegion) if err != nil { fmt.Println("Got an error: ", err) return } defer speechConfig.Close() speechRecognizer, err := speech.NewSpeechRecognizerFromConfig(speechConfig, audioConfig) if err != nil { fmt.Println("Got an error: ", err) return } defer speechRecognizer.Close() speechRecognizer.SessionStarted(sessionStartedHandler) speechRecognizer.SessionStopped(sessionStoppedHandler) speechRecognizer.Recognizing(recognizingHandler) speechRecognizer.Recognized(recognizedHandler) speechRecognizer.Canceled(cancelledHandler) speechRecognizer.StartContinuousRecognitionAsync() defer speechRecognizer.StopContinuousRecognitionAsync() bufio.NewReader(os.Stdin).ReadBytes('\n') }Voer de volgende opdrachten uit om een go.mod-bestand te maken dat is gekoppeld aan onderdelen die worden gehost op GitHub:
go mod init speech-recognition go get github.com/Microsoft/cognitive-services-speech-sdk-goBelangrijk
Zorg ervoor dat u de
SPEECH_KEYenSPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.Bouw en voer de code uit:
go build go run speech-recognition
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatie | Aanvullende voorbeelden op GitHub
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een AI-dienstenresource voor Spraak in de Azure portal.
- Haal de spraakresource-sleutel en het eindpunt op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
Installeer de Speech SDK om uw omgeving in te stellen. Het voorbeeld in deze quickstart werkt met de Java Runtime.
Installeer Apache Maven. Voer vervolgens uit
mvn -vom de installatie te bevestigen.Maak een nieuw
pom.xmlbestand in de hoofdmap van uw project en kopieer de volgende code erin:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.microsoft.cognitiveservices.speech.samples</groupId> <artifactId>quickstart-eclipse</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.microsoft.cognitiveservices.speech</groupId> <artifactId>client-sdk</artifactId> <version>1.43.0</version> </dependency> </dependencies> </project>Installeer de Speech SDK en afhankelijkheden.
mvn clean dependency:copy-dependencies
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u uw eindpunt door een van de eindpunten voor uw resource.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen met een microfoon
Volg deze stappen om een consoletoepassing te maken voor spraakherkenning.
Maak een nieuw bestand met de naam SpeechRecognition.java in dezelfde hoofdmap van het project.
Kopieer de volgende code naar SpeechRecognition.java:
import com.microsoft.cognitiveservices.speech.*; import com.microsoft.cognitiveservices.speech.audio.AudioConfig; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; public class SpeechRecognition { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" private static String speechKey = System.getenv("SPEECH_KEY"); private static String endpoint = System.getenv("ENDPOINT"); public static void main(String[] args) throws InterruptedException, ExecutionException { SpeechConfig speechConfig = SpeechConfig.fromEndpoint(speechKey, endpoint); speechConfig.setSpeechRecognitionLanguage("en-US"); recognizeFromMicrophone(speechConfig); } public static void recognizeFromMicrophone(SpeechConfig speechConfig) throws InterruptedException, ExecutionException { AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput(); SpeechRecognizer speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig); System.out.println("Speak into your microphone."); Future<SpeechRecognitionResult> task = speechRecognizer.recognizeOnceAsync(); SpeechRecognitionResult speechRecognitionResult = task.get(); if (speechRecognitionResult.getReason() == ResultReason.RecognizedSpeech) { System.out.println("RECOGNIZED: Text=" + speechRecognitionResult.getText()); } else if (speechRecognitionResult.getReason() == ResultReason.NoMatch) { System.out.println("NOMATCH: Speech could not be recognized."); } else if (speechRecognitionResult.getReason() == ResultReason.Canceled) { CancellationDetails cancellation = CancellationDetails.fromResult(speechRecognitionResult); System.out.println("CANCELED: Reason=" + cancellation.getReason()); if (cancellation.getReason() == CancellationReason.Error) { System.out.println("CANCELED: ErrorCode=" + cancellation.getErrorCode()); System.out.println("CANCELED: ErrorDetails=" + cancellation.getErrorDetails()); System.out.println("CANCELED: Did you set the speech resource key and endpoint values?"); } } System.exit(0); } }Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Voer de nieuwe consoletoepassing uit om spraakherkenning vanaf een microfoon te starten:
javac SpeechRecognition.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" SpeechRecognitionBelangrijk
Zorg ervoor dat u de
SPEECH_KEYenENDPOINTomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet worden weergegeven als tekst:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
Opmerkingen
Hier volgen enkele andere overwegingen:
In dit voorbeeld wordt de
RecognizeOnceAsyncbewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.Als u spraak uit een audiobestand wilt herkennen, gebruikt
fromWavFileInputu in plaats vanfromDefaultMicrophoneInput:AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStreamofPushAudioInputStream. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatie | Pakket (npm) | Aanvullende voorbeelden op GitHub | Broncode van de bibliotheek
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een AI Foundry-resource voor Spraak in de Azure Portal.
- Haal de sleutel voor de spraakbron en de regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
U hebt ook een .wav audiobestand nodig op uw lokale computer. U kunt uw eigen .wav-bestand (maximaal 30 seconden) gebruiken of het https://crbn.us/whatstheweatherlike.wav voorbeeldbestand downloaden.
Configuratie
Maak een nieuwe map
transcription-quickstarten ga naar de snelstartmap met de volgende opdracht:mkdir transcription-quickstart && cd transcription-quickstartMaak de
package.jsonopdracht met de volgende opdracht:npm init -yInstalleer de Speech SDK voor JavaScript met:
npm install microsoft-cognitiveservices-speech-sdk
Resourcegegevens ophalen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGIONomgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u deze dooryour-endpointhet werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen uit een bestand
Spraak uit een bestand transcriberen:
Maak een nieuw bestand met de naam transcription.js met de volgende inhoud:
import { readFileSync, createReadStream } from "fs"; import { SpeechConfig, AudioConfig, ConversationTranscriber, AudioInputStream } from "microsoft-cognitiveservices-speech-sdk"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT), process.env.SPEECH_KEY); function fromFile() { const filename = "katiesteve.wav"; const audioConfig = AudioConfig.fromWavFileInput(readFileSync(filename)); const conversationTranscriber = new ConversationTranscriber(speechConfig, audioConfig); const pushStream = AudioInputStream.createPushStream(); createReadStream(filename).on('data', function (chunk) { pushStream.write(chunk.slice()); }).on('end', function () { pushStream.close(); }); console.log("Transcribing from: " + filename); conversationTranscriber.sessionStarted = function (s, e) { console.log("SessionStarted event"); console.log("SessionId:" + e.sessionId); }; conversationTranscriber.sessionStopped = function (s, e) { console.log("SessionStopped event"); console.log("SessionId:" + e.sessionId); conversationTranscriber.stopTranscribingAsync(); }; conversationTranscriber.canceled = function (s, e) { console.log("Canceled event"); console.log(e.errorDetails); conversationTranscriber.stopTranscribingAsync(); }; conversationTranscriber.transcribed = function (s, e) { console.log("TRANSCRIBED: Text=" + e.result.text + " Speaker ID=" + e.result.speakerId); }; // Start conversation transcription conversationTranscriber.startTranscribingAsync(function () { }, function (err) { console.trace("err - starting transcription: " + err); }); } fromFile();Vervang in transcription.jsYourAudioFile.wav door uw eigen .wav bestand. In dit voorbeeld wordt alleen spraak herkend uit een .wav-bestand . Zie Hoe gecomprimeerde invoeraudio te gebruiken voor informatie over andere audio-indelingen. Dit voorbeeld ondersteunt maximaal 30 seconden audio.
Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Voer de nieuwe consoletoepassing uit om spraakherkenning vanuit een bestand te starten:
node transcription.js
Wacht even om het antwoord te krijgen.
Uitvoer
De spraak uit het audiobestand moet als tekst worden uitgevoerd:
RECOGNIZED: Text=I'm excited to try speech to text.
Opmerkingen
In dit voorbeeld wordt de recognizeOnceAsync bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.
Notitie
Spraak herkennen vanaf een microfoon wordt niet ondersteund in Node.js. Dit wordt alleen ondersteund in een javaScript-omgeving in een browser. Zie het React-voorbeeld en de implementatie van spraak naar tekst vanuit een microfoon op GitHub voor meer informatie.
Het React-voorbeeld toont ontwerppatronen voor de uitwisseling en het beheer van verificatietokens. Ook wordt de opname van audio van een microfoon of bestand voor spraak-naar-tekstconversies weergegeven.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (PyPi) |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een AI-dienstenresource voor Spraak in de Azure portal.
- Haal de spraakresource-sleutel en het eindpunt op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
De Speech SDK voor Python is beschikbaar als een PyPI-module (Python Package Index). De Speech SDK voor Python is compatibel met Windows, Linux en macOS.
- Voor Windows installeert u Microsoft Visual C++ Redistributable voor Visual Studio 2015, 2017, 2019 en 2022 voor uw platform. Als u dit pakket voor de eerste keer installeert, moet u mogelijk opnieuw opstarten.
- In Linux moet u de x64-doelarchitectuur gebruiken.
Installeer een versie van Python vanaf 3.7 of hoger. Zie De Speech SDK installeren voor andere vereisten.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -eindpunt wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u uw eindpunt door een van de eindpunten voor uw resource.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen met een microfoon
Aanbeveling
Probeer de Azure AI Speech Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.
Volg deze stappen om een consoletoepassing te maken.
Open een opdrachtpromptvenster in de map waarin u het nieuwe project wilt opnemen. Maak een nieuw bestand met de naam speech_recognition.py.
Voer deze opdracht uit om de Speech SDK te installeren:
pip install azure-cognitiveservices-speechKopieer de volgende code naar speech_recognition.py:
import os import azure.cognitiveservices.speech as speechsdk def recognize_from_microphone(): # This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" # Replace with your own subscription key and endpoint, the endpoint is like : "https://YourServiceRegion.api.cognitive.microsoft.com" speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), endpoint=os.environ.get('ENDPOINT')) speech_config.speech_recognition_language="en-US" audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True) speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config) print("Speak into your microphone.") speech_recognition_result = speech_recognizer.recognize_once_async().get() if speech_recognition_result.reason == speechsdk.ResultReason.RecognizedSpeech: print("Recognized: {}".format(speech_recognition_result.text)) elif speech_recognition_result.reason == speechsdk.ResultReason.NoMatch: print("No speech could be recognized: {}".format(speech_recognition_result.no_match_details)) elif speech_recognition_result.reason == speechsdk.ResultReason.Canceled: cancellation_details = speech_recognition_result.cancellation_details print("Speech Recognition canceled: {}".format(cancellation_details.reason)) if cancellation_details.reason == speechsdk.CancellationReason.Error: print("Error details: {}".format(cancellation_details.error_details)) print("Did you set the speech resource key and endpoint values?") recognize_from_microphone()Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Voer de nieuwe consoletoepassing uit om spraakherkenning vanaf een microfoon te starten:
python speech_recognition.pyBelangrijk
Zorg ervoor dat u de
SPEECH_KEYenENDPOINTomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet worden weergegeven als tekst:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
Opmerkingen
Hier volgen enkele andere overwegingen:
In dit voorbeeld wordt de
recognize_once_asyncbewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.Als u spraak uit een audiobestand wilt herkennen, gebruikt
filenameu in plaats vanuse_default_microphone:audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStreamofPushAudioInputStream. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een AI Foundry-resource voor Spraak in de Azure Portal.
- Haal de sleutel voor de spraakbron en de regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
De Speech SDK voor Swift wordt gedistribueerd als een frameworkbundel. Het framework ondersteunt zowel Objective-C als Swift in zowel iOS als macOS.
De Speech SDK kan in Xcode-projecten worden gebruikt als een CocoaPod, of kan rechtstreeks worden gedownload en handmatig worden gekoppeld. In deze handleiding wordt gebruikgemaakt van een CocoaPod. Installeer het CocoaPod-afhankelijkheidsbeheer zoals beschreven in de installatie-instructies.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGIONomgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u deze dooryour-endpointhet werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen met een microfoon
Volg deze stappen om spraak te herkennen in een macOS-toepassing.
Kloon de repository Azure-Samples/cognitive-services-speech-sdk om het voorbeeldproject Herken spraak van een microfoon in Swift op macOS te verkrijgen. De opslagplaats bevat ook iOS-voorbeelden.
Navigeer naar de map van de gedownloade voorbeeld-app (
helloworld) in een terminal.Voer de opdracht
pod installuit. Met deze opdracht wordt eenhelloworld.xcworkspaceXcode-werkruimte gegenereerd die zowel de voorbeeld-app als de Speech SDK als een afhankelijkheid bevat.Open de werkruimte
helloworld.xcworkspacein Xcode.Open het bestand met de naam AppDelegate.swift en zoek de
applicationDidFinishLaunchingenrecognizeFromMicmethoden zoals hier wordt weergegeven.import Cocoa @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate { var label: NSTextField! var fromMicButton: NSButton! var sub: String! var region: String! @IBOutlet weak var window: NSWindow! func applicationDidFinishLaunching(_ aNotification: Notification) { print("loading") // load subscription information sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"] label = NSTextField(frame: NSRect(x: 100, y: 50, width: 200, height: 200)) label.textColor = NSColor.black label.lineBreakMode = .byWordWrapping label.stringValue = "Recognition Result" label.isEditable = false self.window.contentView?.addSubview(label) fromMicButton = NSButton(frame: NSRect(x: 100, y: 300, width: 200, height: 30)) fromMicButton.title = "Recognize" fromMicButton.target = self fromMicButton.action = #selector(fromMicButtonClicked) self.window.contentView?.addSubview(fromMicButton) } @objc func fromMicButtonClicked() { DispatchQueue.global(qos: .userInitiated).async { self.recognizeFromMic() } } func recognizeFromMic() { var speechConfig: SPXSpeechConfiguration? do { try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region) } catch { print("error \(error) happened") speechConfig = nil } speechConfig?.speechRecognitionLanguage = "en-US" let audioConfig = SPXAudioConfiguration() let reco = try! SPXSpeechRecognizer(speechConfiguration: speechConfig!, audioConfiguration: audioConfig) reco.addRecognizingEventHandler() {reco, evt in print("intermediate recognition result: \(evt.result.text ?? "(no result)")") self.updateLabel(text: evt.result.text, color: .gray) } updateLabel(text: "Listening ...", color: .gray) print("Listening...") let result = try! reco.recognizeOnce() print("recognition result: \(result.text ?? "(no result)"), reason: \(result.reason.rawValue)") updateLabel(text: result.text, color: .black) if result.reason != SPXResultReason.recognizedSpeech { let cancellationDetails = try! SPXCancellationDetails(fromCanceledRecognitionResult: result) print("cancelled: \(result.reason), \(cancellationDetails.errorDetails)") print("Did you set the speech resource key and region values?") updateLabel(text: "Error: \(cancellationDetails.errorDetails)", color: .red) } } func updateLabel(text: String?, color: NSColor) { DispatchQueue.main.async { self.label.stringValue = text! self.label.textColor = color } } }Gebruik in AppDelegate.m de omgevingsvariabelen die u eerder hebt ingesteld voor uw Spraak-resourcesleutel en -regio.
sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"]Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Als u de uitvoer voor foutopsporing zichtbaar wilt maken, selecteert u Weergave>Foutopsporingsgebied>Console activeren.
Bouw en voer de voorbeeldcode uit door in het menu Product>Uitvoeren te selecteren of door de knop Afspelen te selecteren.
Belangrijk
Zorg ervoor dat u de
SPEECH_KEYenSPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.
Nadat u de knop in de app hebt geselecteerd en een paar woorden hebt gezegd, ziet u de tekst die u op het onderste deel van het scherm hebt gesproken. Wanneer u de app voor het eerst uitvoert, wordt u gevraagd om de app toegang te geven tot de microfoon van uw computer.
Opmerkingen
In dit voorbeeld wordt de recognizeOnce bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.
Objective-C
De Speech SDK voor Objective-C deelt clientbibliotheken en referentiedocumentatie met de Speech SDK voor Swift. Zie het voorbeeldproject voor het herkennen van spraak van een microfoon in Objective-C op macOS op GitHub voor voorbeelden van Objective-C-code.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatie | Pakket (npm) | Aanvullende voorbeelden op GitHub | Broncode van de bibliotheek
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een AI Foundry-resource voor Spraak in de Azure Portal.
- Haal de sleutel voor de spraakbron en de regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
U hebt ook een .wav audiobestand nodig op uw lokale computer. U kunt uw eigen .wav-bestand (maximaal 30 seconden) gebruiken of het https://crbn.us/whatstheweatherlike.wav voorbeeldbestand downloaden.
Configuratie
Maak een nieuwe map
transcription-quickstarten ga naar de snelstartmap met de volgende opdracht:mkdir transcription-quickstart && cd transcription-quickstartMaak de
package.jsonopdracht met de volgende opdracht:npm init -yWerk de
package.jsonbij naar ECMAScript met het volgende commando:npm pkg set type=moduleInstalleer de Speech SDK voor JavaScript met:
npm install microsoft-cognitiveservices-speech-sdkU moet de Node.js typedefinities installeren om TypeScript-fouten te voorkomen. Voer de volgende opdracht uit:
npm install --save-dev @types/node
Resourcegegevens ophalen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGIONomgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u deze dooryour-endpointhet werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen uit een bestand
Spraak uit een bestand transcriberen:
Maak een nieuw bestand met de naam transcription.ts met de volgende inhoud:
import { readFileSync } from "fs"; import { SpeechConfig, AudioConfig, SpeechRecognizer, ResultReason, CancellationDetails, CancellationReason, SpeechRecognitionResult } from "microsoft-cognitiveservices-speech-sdk"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechConfig: SpeechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT!), process.env.SPEECH_KEY!); speechConfig.speechRecognitionLanguage = "en-US"; function fromFile(): void { const audioConfig: AudioConfig = AudioConfig.fromWavFileInput(readFileSync("YourAudioFile.wav")); const speechRecognizer: SpeechRecognizer = new SpeechRecognizer(speechConfig, audioConfig); speechRecognizer.recognizeOnceAsync((result: SpeechRecognitionResult) => { switch (result.reason) { case ResultReason.RecognizedSpeech: console.log(`RECOGNIZED: Text=${result.text}`); break; case ResultReason.NoMatch: console.log("NOMATCH: Speech could not be recognized."); break; case ResultReason.Canceled: const cancellation: CancellationDetails = CancellationDetails.fromResult(result); console.log(`CANCELED: Reason=${cancellation.reason}`); if (cancellation.reason === CancellationReason.Error) { console.log(`CANCELED: ErrorCode=${cancellation.ErrorCode}`); console.log(`CANCELED: ErrorDetails=${cancellation.errorDetails}`); console.log("CANCELED: Did you set the speech resource key and region values?"); } break; } speechRecognizer.close(); }); } fromFile();Vervang in transcription.tsYourAudioFile.wav door uw eigen .wav bestand. In dit voorbeeld wordt alleen spraak herkend uit een .wav-bestand . Zie Hoe gecomprimeerde invoeraudio te gebruiken voor informatie over andere audio-indelingen. Dit voorbeeld ondersteunt maximaal 30 seconden audio.
Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-USeen andere ondersteunde taal. Gebruik bijvoorbeeldes-ESvoor Spaans (Spanje). Als u geen taal opgeeft, is de standaardwaardeen-US. Zie Taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Maak het
tsconfig.jsonbestand om de TypeScript-code te transpileren en kopieer de volgende code voor ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }Transpile van TypeScript naar JavaScript.
tscWanneer de opdracht succesvol is uitgevoerd, moet er geen uitvoer geproduceerd worden.
Voer de nieuwe consoletoepassing uit om spraakherkenning vanuit een bestand te starten:
node transcription.js
Wacht even om het antwoord te krijgen.
Uitvoer
De spraak uit het audiobestand moet als tekst worden uitgevoerd:
RECOGNIZED: Text=I'm excited to try speech to text.
Opmerkingen
In dit voorbeeld wordt de recognizeOnceAsync bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak herkennen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Spraak-naar-tekst-REST API-verwijzing Speech to text REST API voor korte audioverwijzing |
In deze quickstart maakt en voert u een toepassing uit om spraak in realtime te herkennen en transcriberen naar tekst.
Aanbeveling
Voor snelle transcriptie van audiobestanden kunt u overwegen de snelle transcriptie-API te gebruiken. Snelle transcriptie-API ondersteunt functies zoals taalidentificatie en diarisatie.
Als u in plaats daarvan audiobestanden asynchroon wilt transcriberen, raadpleegt u Wat is batchtranscriptie. Als u niet zeker weet welke spraak-naar-tekstoplossing geschikt is voor u, raadpleegt u Wat is spraak-naar-tekst?
Vereiste voorwaarden
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een AI Foundry-resource voor Spraak in de Azure Portal.
- Haal de sleutel voor de spraakbron en de regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
U hebt ook een .wav audiobestand nodig op uw lokale computer. U kunt uw eigen .wav-bestand tot 60 seconden gebruiken of het https://crbn.us/whatstheweatherlike.wav voorbeeldbestand downloaden.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te benaderen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen voor toepassingen die in de cloud draaien.
Gebruik API-sleutels met voorzichtigheid. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar. Als u API-sleutels gebruikt, slaat u deze veilig op in Azure Key Vault, draait u de sleutels regelmatig en beperkt u de toegang tot Azure Key Vault met behulp van op rollen gebaseerd toegangsbeheer en netwerktoegangsbeperkingen. Zie API-sleutels met Azure Key Vault voor meer informatie over het veilig gebruiken van API-sleutels in uw apps.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEYomgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGIONomgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource. - Als u de
ENDPOINTomgevingsvariabele wilt instellen, vervangt u deze dooryour-endpointhet werkelijke eindpunt van uw Speech-resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak herkennen uit een bestand
Open een consolevenster en voer de volgende cURL-opdracht uit. Vervang YourAudioFile.wav door het pad en de naam van het audiobestand.
curl --location --request POST "https://%SPEECH_REGION%.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed" ^
--header "Ocp-Apim-Subscription-Key: %SPEECH_KEY%" ^
--header "Content-Type: audio/wav" ^
--data-binary "@YourAudioFile.wav"
Belangrijk
Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.
U zou een antwoord moeten ontvangen dat lijkt op wat hier wordt weergegeven. Dit DisplayText moet de tekst zijn die is herkend uit uw audiobestand. De opdracht herkent maximaal 60 seconden audio en converteert deze naar tekst.
{
"RecognitionStatus": "Success",
"DisplayText": "My voice is my passport, verify me.",
"Offset": 6600000,
"Duration": 32100000
}
Zie Speech to text REST API voor korte audio voor meer informatie.
De hulpbronnen opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.