Udostępnij za pośrednictwem


Szybki start: rozpoznawanie i konwertowanie mowy na tekst

Ważne

Niektóre funkcje opisane w tym artykule mogą być dostępne tylko w wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

W tym przewodniku Szybki start spróbujesz zamianę mowy w czasie rzeczywistym na tekst w programie Azure AI Studio.

Wymagania wstępne

Wypróbuj mowę w czasie rzeczywistym na tekst

  1. Przejdź do strony głównej w programie AI Studio, a następnie wybierz pozycję Usługi sztucznej inteligencji w okienku po lewej stronie.

    Zrzut ekranu przedstawiający stronę Usługi sztucznej inteligencji w programie Azure AI Studio.

  2. Wybierz pozycję Mowa z listy usług sztucznej inteligencji.

  3. Wybierz pozycję Mowa w czasie rzeczywistym na tekst.

    Zrzut ekranu przedstawiający opcję wybrania kafelka zamiany mowy w czasie rzeczywistym na tekst.

  4. W sekcji Wypróbuj wybierz połączenie usług sztucznej inteligencji centrum. Aby uzyskać więcej informacji na temat połączeń usług sztucznej inteligencji, zobacz Łączenie usług sztucznej inteligencji z centrum w programie AI Studio.

    Zrzut ekranu przedstawiający opcję wybrania połączenia usług sztucznej inteligencji i innych ustawień.

  5. Wybierz pozycję Pokaż opcje zaawansowane, aby skonfigurować opcje zamiany mowy na tekst, takie jak:

    • Identyfikacja języka: służy do identyfikowania języków mówionych w dźwiękach w porównaniu z listą obsługiwanych języków. Aby uzyskać więcej informacji na temat opcji identyfikacji języka, takich jak na początku i ciągłe rozpoznawanie, zobacz Identyfikacja języka.
    • Diaryzacja osoby mówiącej: służy do identyfikowania i oddzielania głośników w dźwięku. Diarization rozróżnia różne osoby mówiące, którzy uczestniczą w konwersacji. Usługa rozpoznawania mowy udostępnia informacje o tym, który mówca mówił określoną część transkrypcji mowy. Aby uzyskać więcej informacji na temat diaryzacji osoby mówiącej, zobacz przewodnik Szybki start dotyczący mowy w czasie rzeczywistym z funkcją diaryzacji osoby mówiącej.
    • Niestandardowy punkt końcowy: użyj wdrożonego modelu z niestandardowej mowy, aby zwiększyć dokładność rozpoznawania. Aby użyć modelu bazowego firmy Microsoft, pozostaw ten zestaw na wartość Brak. Aby uzyskać więcej informacji na temat mowy niestandardowej, zobacz Custom Speech.
    • Format danych wyjściowych: wybierz między prostymi i szczegółowymi formatami danych wyjściowych. Proste dane wyjściowe obejmują format wyświetlania i znaczniki czasu. Szczegółowe dane wyjściowe obejmują więcej formatów (takich jak wyświetlanie, leksykalne, ITN i maskowane dane ITN), znaczniki czasu i N najlepszych list.
    • Lista fraz: popraw dokładność transkrypcji, podając listę znanych fraz, takich jak nazwy osób lub określonych lokalizacji. Użyj przecinków lub średników, aby oddzielić każdą wartość na liście fraz. Aby uzyskać więcej informacji na temat list fraz, zobacz Listy fraz.
  6. Wybierz plik audio do przekazania lub nagraj dźwięk w czasie rzeczywistym. W tym przykładzie używamy pliku dostępnego Call1_separated_16k_health_insurance.wav w repozytorium zestawu SPEECH SDK w usłudze GitHub. Możesz pobrać plik lub użyć własnego pliku audio.

    Zrzut ekranu przedstawiający opcję wybierania pliku audio lub wypowiadania się w mikrofonie.

  7. Możesz wyświetlić wyniki zamiany mowy w czasie rzeczywistym na tekst w sekcji Wyniki .

    Zrzut ekranu przedstawiający wyniki transkrypcji w czasie rzeczywistym w usłudze Azure AI Studio.

Dokumentacja referencyjna | Package (NuGet) | Dodatkowe przykłady w usłudze GitHub

W tym przewodniku Szybki start utworzysz i uruchomisz aplikację w celu rozpoznawania i transkrypcji mowy na tekst w czasie rzeczywistym.

Aby zamiast tego transkrypcji plików audio asynchronicznie, zobacz Co to jest transkrypcja wsadowa. Jeśli nie masz pewności, które rozwiązanie zamiany mowy na tekst jest odpowiednie dla Ciebie, zobacz Co to jest zamiana mowy na tekst?

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz jedną bezpłatnie.
  • Utwórz zasób usługi Mowa w witrynie Azure Portal.
  • Klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi. Aby uzyskać więcej informacji na temat zasobów usług Azure AI, zobacz Pobieranie kluczy dla zasobu.

Konfigurowanie środowiska

Zestaw SPEECH SDK jest dostępny jako pakiet NuGet i implementuje platformę .NET Standard 2.0. Zestaw SPEECH SDK zostanie zainstalowany w dalszej części tego przewodnika. Aby uzyskać informacje o innych wymaganiach, zobacz Instalowanie zestawu SPEECH SDK.

Ustawianie zmiennych środowiskowych

Aby uzyskać dostęp do zasobów usług Azure AI, aplikacja musi być uwierzytelniona. W środowisku produkcyjnym należy użyć bezpiecznego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu. Na przykład po otrzymaniu klucza zasobu usługi Mowa zapisz go w nowej zmiennej środowiskowej na komputerze lokalnym, na którym jest uruchamiana aplikacja.

Napiwek

Nie dołączaj klucza bezpośrednio do kodu i nigdy nie publikuj go publicznie. Aby uzyskać więcej opcji uwierzytelniania, takich jak usługa Azure Key Vault, zobacz Zabezpieczenia usług Azure AI.

Aby ustawić zmienną środowiskową dla klucza zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną SPEECH_KEY środowiskową, zastąp klucz jednym z kluczy zasobu.
  • Aby ustawić zmienną SPEECH_REGION środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Uwaga

Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set setxzamiast .

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienną środowiskową, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Rozpoznawanie mowy przy użyciu mikrofonu

Wykonaj następujące kroki, aby utworzyć aplikację konsolową i zainstalować zestaw SPEECH SDK.

  1. Otwórz okno wiersza polecenia w folderze, w którym chcesz utworzyć nowy projekt. Uruchom to polecenie, aby utworzyć aplikację konsolową przy użyciu interfejsu wiersza polecenia platformy .NET.

    dotnet new console
    

    To polecenie tworzy plik Program.cs w katalogu projektu.

  2. Zainstaluj zestaw SPEECH SDK w nowym projekcie przy użyciu interfejsu wiersza polecenia platformy .NET.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Zastąp zawartość pliku Program.cs następującym kodem:

    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 "SPEECH_REGION"
        static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY");
        static string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION");
    
        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 region values?");
                    }
                    break;
            }
        }
    
        async static Task Main(string[] args)
        {
            var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion);        
            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);
        }
    }
    
  4. Aby zmienić język rozpoznawania mowy, zastąp en-US element innym obsługiwanym językiem. Na przykład użyj dla es-ES języka hiszpańskiego (Hiszpania). Jeśli nie określisz języka, wartość domyślna to en-US. Aby uzyskać szczegółowe informacje na temat identyfikowania jednego z wielu języków, które mogą być mówione, zobacz Identyfikacja języka.

  5. Uruchom nową aplikację konsolową, aby rozpocząć rozpoznawanie mowy z mikrofonu:

    dotnet run
    

    Ważne

    Upewnij się, że ustawiono SPEECH_KEY zmienne środowiskowe i SPEECH_REGION . Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.

  6. Po wyświetleniu monitu porozmawiaj z mikrofonem. To, co mówisz, powinno być wyświetlane jako tekst:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Uwagi

Oto kilka innych zagadnień:

  • W tym przykładzie użyto RecognizeOnceAsync operacji do transkrypcji wypowiedzi do 30 sekund lub do momentu wykrycia ciszy. Aby uzyskać informacje na temat ciągłego rozpoznawania dłuższego dźwięku, w tym konwersacji wielojęzycznych, zobacz Jak rozpoznawać mowę.

  • Aby rozpoznać mowę z pliku audio, użyj polecenia FromWavFileInput zamiast FromDefaultMicrophoneInput:

    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i użyj polecenia PullAudioInputStream lub PushAudioInputStream. Aby uzyskać więcej informacji, zobacz Jak używać skompresowanego dźwięku wejściowego.

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Dokumentacja referencyjna | Package (NuGet) | Dodatkowe przykłady w usłudze GitHub

W tym przewodniku Szybki start utworzysz i uruchomisz aplikację w celu rozpoznawania i transkrypcji mowy na tekst w czasie rzeczywistym.

Aby zamiast tego transkrypcji plików audio asynchronicznie, zobacz Co to jest transkrypcja wsadowa. Jeśli nie masz pewności, które rozwiązanie zamiany mowy na tekst jest odpowiednie dla Ciebie, zobacz Co to jest zamiana mowy na tekst?

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz jedną bezpłatnie.
  • Utwórz zasób usługi Mowa w witrynie Azure Portal.
  • Klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi. Aby uzyskać więcej informacji na temat zasobów usług Azure AI, zobacz Pobieranie kluczy dla zasobu.

Konfigurowanie środowiska

Zestaw SPEECH SDK jest dostępny jako pakiet NuGet i implementuje platformę .NET Standard 2.0. Zestaw SPEECH SDK zostanie zainstalowany w dalszej części tego przewodnika. Aby uzyskać inne wymagania, zobacz Instalowanie zestawu SPEECH SDK.

Ustawianie zmiennych środowiskowych

Aby uzyskać dostęp do zasobów usług Azure AI, aplikacja musi być uwierzytelniona. W środowisku produkcyjnym należy użyć bezpiecznego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu. Na przykład po otrzymaniu klucza zasobu usługi Mowa zapisz go w nowej zmiennej środowiskowej na komputerze lokalnym, na którym jest uruchamiana aplikacja.

Napiwek

Nie dołączaj klucza bezpośrednio do kodu i nigdy nie publikuj go publicznie. Aby uzyskać więcej opcji uwierzytelniania, takich jak usługa Azure Key Vault, zobacz Zabezpieczenia usług Azure AI.

Aby ustawić zmienną środowiskową dla klucza zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną SPEECH_KEY środowiskową, zastąp klucz jednym z kluczy zasobu.
  • Aby ustawić zmienną SPEECH_REGION środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Uwaga

Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set setxzamiast .

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienną środowiskową, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Rozpoznawanie mowy przy użyciu mikrofonu

Wykonaj następujące kroki, aby utworzyć aplikację konsolową i zainstalować zestaw SPEECH SDK.

  1. Utwórz nowy projekt konsoli języka C++ w programie Visual Studio Community o nazwie SpeechRecognition.

  2. Wybierz pozycję Narzędzia Nuget>Menedżer pakietów> Menedżer pakietów Konsola. W konsoli Menedżer pakietów uruchom następujące polecenie:

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Zastąp zawartość SpeechRecognition.cpp następującym kodem:

    #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 "SPEECH_REGION"
        auto speechKey = GetEnvironmentVariable("SPEECH_KEY");
        auto speechRegion = GetEnvironmentVariable("SPEECH_REGION");
    
        if ((size(speechKey) == 0) || (size(speechRegion) == 0)) {
            std::cout << "Please set both SPEECH_KEY and SPEECH_REGION environment variables." << std::endl;
            return -1;
        }
    
        auto speechConfig = SpeechConfig::FromSubscription(speechKey, speechRegion);
    
        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 region 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
    }
    
  4. Aby zmienić język rozpoznawania mowy, zastąp en-US element innym obsługiwanym językiem. Na przykład użyj dla es-ES języka hiszpańskiego (Hiszpania). Jeśli nie określisz języka, wartość domyślna to en-US. Aby uzyskać szczegółowe informacje na temat identyfikowania jednego z wielu języków, które mogą być mówione, zobacz Identyfikacja języka.

  5. Skompiluj i uruchom nową aplikację konsolową, aby rozpocząć rozpoznawanie mowy z mikrofonu.

    Ważne

    Upewnij się, że ustawiono SPEECH_KEY zmienne środowiskowe i SPEECH_REGION . Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.

  6. Po wyświetleniu monitu porozmawiaj z mikrofonem. To, co mówisz, powinno być wyświetlane jako tekst:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Uwagi

Oto kilka innych zagadnień:

  • W tym przykładzie użyto RecognizeOnceAsync operacji do transkrypcji wypowiedzi do 30 sekund lub do momentu wykrycia ciszy. Aby uzyskać informacje na temat ciągłego rozpoznawania dłuższego dźwięku, w tym konwersacji wielojęzycznych, zobacz Jak rozpoznawać mowę.

  • Aby rozpoznać mowę z pliku audio, użyj polecenia FromWavFileInput zamiast FromDefaultMicrophoneInput:

    auto audioConfig = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i użyj polecenia PullAudioInputStream lub PushAudioInputStream. Aby uzyskać więcej informacji, zobacz Jak używać skompresowanego dźwięku wejściowego.

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Dokumentacja referencyjna Package (Go)Additional Samples on GitHub (Dodatkowe przykłady w witrynie GitHub) | |

W tym przewodniku Szybki start utworzysz i uruchomisz aplikację w celu rozpoznawania i transkrypcji mowy na tekst w czasie rzeczywistym.

Aby zamiast tego transkrypcji plików audio asynchronicznie, zobacz Co to jest transkrypcja wsadowa. Jeśli nie masz pewności, które rozwiązanie zamiany mowy na tekst jest odpowiednie dla Ciebie, zobacz Co to jest zamiana mowy na tekst?

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz jedną bezpłatnie.
  • Utwórz zasób usługi Mowa w witrynie Azure Portal.
  • Klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi. Aby uzyskać więcej informacji na temat zasobów usług Azure AI, zobacz Pobieranie kluczy dla zasobu.

Konfigurowanie środowiska

Zainstaluj zestaw SPEECH SDK dla języka Go. Aby uzyskać wymagania i instrukcje, zobacz Instalowanie zestawu SPEECH SDK.

Ustawianie zmiennych środowiskowych

Aby uzyskać dostęp do zasobów usług Azure AI, aplikacja musi być uwierzytelniona. W środowisku produkcyjnym należy użyć bezpiecznego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu. Na przykład po otrzymaniu klucza zasobu usługi Mowa zapisz go w nowej zmiennej środowiskowej na komputerze lokalnym, na którym jest uruchamiana aplikacja.

Napiwek

Nie dołączaj klucza bezpośrednio do kodu i nigdy nie publikuj go publicznie. Aby uzyskać więcej opcji uwierzytelniania, takich jak usługa Azure Key Vault, zobacz Zabezpieczenia usług Azure AI.

Aby ustawić zmienną środowiskową dla klucza zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną SPEECH_KEY środowiskową, zastąp klucz jednym z kluczy zasobu.
  • Aby ustawić zmienną SPEECH_REGION środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Uwaga

Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set setxzamiast .

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienną środowiskową, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Rozpoznawanie mowy przy użyciu mikrofonu

Wykonaj następujące kroki, aby utworzyć moduł GO.

  1. Otwórz okno wiersza polecenia w folderze, w którym chcesz utworzyć nowy projekt. Utwórz nowy plik o nazwie speech-recognition.go.

  2. Skopiuj następujący kod do funkcji rozpoznawania mowy.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')
    }
    
  3. Uruchom następujące polecenia, aby utworzyć plik go.mod , który łączy się ze składnikami hostowanymi w usłudze GitHub:

    go mod init speech-recognition
    go get github.com/Microsoft/cognitive-services-speech-sdk-go
    

    Ważne

    Upewnij się, że ustawiono SPEECH_KEY zmienne środowiskowe i SPEECH_REGION . Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.

  4. Skompiluj i uruchom kod:

    go build
    go run speech-recognition
    

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

| Dokumentacja referencyjna — dodatkowe przykłady w usłudze GitHub

W tym przewodniku Szybki start utworzysz i uruchomisz aplikację w celu rozpoznawania i transkrypcji mowy na tekst w czasie rzeczywistym.

Aby zamiast tego transkrypcji plików audio asynchronicznie, zobacz Co to jest transkrypcja wsadowa. Jeśli nie masz pewności, które rozwiązanie zamiany mowy na tekst jest odpowiednie dla Ciebie, zobacz Co to jest zamiana mowy na tekst?

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz jedną bezpłatnie.
  • Utwórz zasób usługi Mowa w witrynie Azure Portal.
  • Klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi. Aby uzyskać więcej informacji na temat zasobów usług Azure AI, zobacz Pobieranie kluczy dla zasobu.

Konfigurowanie środowiska

Aby skonfigurować środowisko, zainstaluj zestaw SPEECH SDK. Przykład w tym przewodniku Szybki start współpracuje ze środowiskiem uruchomieniowym Języka Java.

  1. Zainstaluj narzędzie Apache Maven. Następnie uruchom polecenie mvn -v , aby potwierdzić pomyślną instalację.

  2. Utwórz nowy pom.xml plik w katalogu głównym projektu i skopiuj do niego następujący kod:

    <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.38.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Zainstaluj zestaw SPEECH SDK i zależności.

    mvn clean dependency:copy-dependencies
    

Ustawianie zmiennych środowiskowych

Aby uzyskać dostęp do zasobów usług Azure AI, aplikacja musi być uwierzytelniona. W środowisku produkcyjnym należy użyć bezpiecznego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu. Na przykład po otrzymaniu klucza zasobu usługi Mowa zapisz go w nowej zmiennej środowiskowej na komputerze lokalnym, na którym jest uruchamiana aplikacja.

Napiwek

Nie dołączaj klucza bezpośrednio do kodu i nigdy nie publikuj go publicznie. Aby uzyskać więcej opcji uwierzytelniania, takich jak usługa Azure Key Vault, zobacz Zabezpieczenia usług Azure AI.

Aby ustawić zmienną środowiskową dla klucza zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną SPEECH_KEY środowiskową, zastąp klucz jednym z kluczy zasobu.
  • Aby ustawić zmienną SPEECH_REGION środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Uwaga

Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set setxzamiast .

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienną środowiskową, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Rozpoznawanie mowy przy użyciu mikrofonu

Wykonaj następujące kroki, aby utworzyć aplikację konsolową do rozpoznawania mowy.

  1. Utwórz nowy plik o nazwie SpeechRecognition.java w tym samym katalogu głównym projektu.

  2. Skopiuj następujący kod do 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 "SPEECH_REGION"
        private static String speechKey = System.getenv("SPEECH_KEY");
        private static String speechRegion = System.getenv("SPEECH_REGION");
    
        public static void main(String[] args) throws InterruptedException, ExecutionException {
            SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechKey, speechRegion);
            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 region values?");
                }
            }
    
            System.exit(0);
        }
    }
    
  3. Aby zmienić język rozpoznawania mowy, zastąp en-US element innym obsługiwanym językiem. Na przykład użyj dla es-ES języka hiszpańskiego (Hiszpania). Jeśli nie określisz języka, wartość domyślna to en-US. Aby uzyskać szczegółowe informacje na temat identyfikowania jednego z wielu języków, które mogą być mówione, zobacz Identyfikacja języka.

  4. Uruchom nową aplikację konsolową, aby rozpocząć rozpoznawanie mowy z mikrofonu:

    javac SpeechRecognition.java -cp ".;target\dependency\*"
    java -cp ".;target\dependency\*" SpeechRecognition
    

    Ważne

    Upewnij się, że ustawiono SPEECH_KEY zmienne środowiskowe i SPEECH_REGION . Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.

  5. Po wyświetleniu monitu porozmawiaj z mikrofonem. To, co mówisz, powinno być wyświetlane jako tekst:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Uwagi

Oto kilka innych zagadnień:

  • W tym przykładzie użyto RecognizeOnceAsync operacji do transkrypcji wypowiedzi do 30 sekund lub do momentu wykrycia ciszy. Aby uzyskać informacje na temat ciągłego rozpoznawania dłuższego dźwięku, w tym konwersacji wielojęzycznych, zobacz Jak rozpoznawać mowę.

  • Aby rozpoznać mowę z pliku audio, użyj polecenia fromWavFileInput zamiast fromDefaultMicrophoneInput:

    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i użyj polecenia PullAudioInputStream lub PushAudioInputStream. Aby uzyskać więcej informacji, zobacz Jak używać skompresowanego dźwięku wejściowego.

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Dokumentacja referencyjna | Package (npm)Additional Samples on GitHub Library source code (Dodatkowe przykłady w kodzie źródłowym biblioteki GitHub) | |

W tym przewodniku Szybki start utworzysz i uruchomisz aplikację w celu rozpoznawania i transkrypcji mowy na tekst w czasie rzeczywistym.

Aby zamiast tego transkrypcji plików audio asynchronicznie, zobacz Co to jest transkrypcja wsadowa. Jeśli nie masz pewności, które rozwiązanie zamiany mowy na tekst jest odpowiednie dla Ciebie, zobacz Co to jest zamiana mowy na tekst?

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz jedną bezpłatnie.
  • Utwórz zasób usługi Mowa w witrynie Azure Portal.
  • Klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi. Aby uzyskać więcej informacji na temat zasobów usług Azure AI, zobacz Pobieranie kluczy dla zasobu.

Potrzebny jest również plik audio .wav na komputerze lokalnym. Możesz użyć własnego pliku .wav (do 30 sekund) lub pobrać https://crbn.us/whatstheweatherlike.wav przykładowy plik.

Konfigurowanie środowiska

Aby skonfigurować środowisko, zainstaluj zestaw SPEECH SDK dla języka JavaScript. Uruchom następujące polecenie: npm install microsoft-cognitiveservices-speech-sdk. Aby uzyskać instrukcje instalacji z przewodnikiem, zobacz Instalowanie zestawu SPEECH SDK.

Ustawianie zmiennych środowiskowych

Aby uzyskać dostęp do zasobów usług Azure AI, aplikacja musi być uwierzytelniona. W środowisku produkcyjnym należy użyć bezpiecznego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu. Na przykład po otrzymaniu klucza zasobu usługi Mowa zapisz go w nowej zmiennej środowiskowej na komputerze lokalnym, na którym jest uruchamiana aplikacja.

Napiwek

Nie dołączaj klucza bezpośrednio do kodu i nigdy nie publikuj go publicznie. Aby uzyskać więcej opcji uwierzytelniania, takich jak usługa Azure Key Vault, zobacz Zabezpieczenia usług Azure AI.

Aby ustawić zmienną środowiskową dla klucza zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną SPEECH_KEY środowiskową, zastąp klucz jednym z kluczy zasobu.
  • Aby ustawić zmienną SPEECH_REGION środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Uwaga

Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set setxzamiast .

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienną środowiskową, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Rozpoznawanie mowy z pliku

Wykonaj następujące kroki, aby utworzyć aplikację konsolową Node.js na potrzeby rozpoznawania mowy.

  1. Otwórz okno wiersza polecenia, w którym chcesz utworzyć nowy projekt, i utwórz nowy plik o nazwie SpeechRecognition.js.

  2. Zainstaluj zestaw SPEECH SDK dla języka JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Skopiuj następujący kod do SpeechRecognition.js:

    const fs = require("fs");
    const sdk = require("microsoft-cognitiveservices-speech-sdk");
    
    // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
    const speechConfig = sdk.SpeechConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION);
    speechConfig.speechRecognitionLanguage = "en-US";
    
    function fromFile() {
        let audioConfig = sdk.AudioConfig.fromWavFileInput(fs.readFileSync("YourAudioFile.wav"));
        let speechRecognizer = new sdk.SpeechRecognizer(speechConfig, audioConfig);
    
        speechRecognizer.recognizeOnceAsync(result => {
            switch (result.reason) {
                case sdk.ResultReason.RecognizedSpeech:
                    console.log(`RECOGNIZED: Text=${result.text}`);
                    break;
                case sdk.ResultReason.NoMatch:
                    console.log("NOMATCH: Speech could not be recognized.");
                    break;
                case sdk.ResultReason.Canceled:
                    const cancellation = sdk.CancellationDetails.fromResult(result);
                    console.log(`CANCELED: Reason=${cancellation.reason}`);
    
                    if (cancellation.reason == sdk.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();
    
  4. W SpeechRecognition.js zastąp YourAudioFile.wav własnym plikiem .wav. Ten przykład rozpoznaje tylko mowę z pliku .wav . Aby uzyskać informacje o innych formatach dźwięku, zobacz How to use compressed input audio (Jak używać skompresowanego dźwięku wejściowego). Ten przykład obsługuje maksymalnie 30 sekund dźwięku.

  5. Aby zmienić język rozpoznawania mowy, zastąp en-US element innym obsługiwanym językiem. Na przykład użyj dla es-ES języka hiszpańskiego (Hiszpania). Jeśli nie określisz języka, wartość domyślna to en-US. Aby uzyskać szczegółowe informacje na temat identyfikowania jednego z wielu języków, które mogą być mówione, zobacz Identyfikacja języka.

  6. Uruchom nową aplikację konsolową, aby rozpocząć rozpoznawanie mowy z pliku:

    node.exe SpeechRecognition.js
    

    Ważne

    Upewnij się, że ustawiono SPEECH_KEY zmienne środowiskowe i SPEECH_REGION . Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.

    Mowa z pliku audio powinna być wyjściowa jako tekst:

    RECOGNIZED: Text=I'm excited to try speech to text.
    

Uwagi

W tym przykładzie użyto recognizeOnceAsync operacji do transkrypcji wypowiedzi do 30 sekund lub do momentu wykrycia ciszy. Aby uzyskać informacje na temat ciągłego rozpoznawania dłuższego dźwięku, w tym konwersacji wielojęzycznych, zobacz Jak rozpoznawać mowę.

Uwaga

Rozpoznawanie mowy z mikrofonu nie jest obsługiwane w Node.js. Jest on obsługiwany tylko w środowisku JavaScript opartym na przeglądarce. Aby uzyskać więcej informacji, zobacz przykład React i implementację mowy na tekst z mikrofonu w usłudze GitHub.

Przykład platformy React przedstawia wzorce projektowe dotyczące wymiany tokenów uwierzytelniania i zarządzania nimi. Przedstawia również przechwytywanie dźwięku z mikrofonu lub pliku do konwersji mowy na tekst.

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Dokumentacja referencyjna | Package (PyPi) | Dodatkowe przykłady w witrynie GitHub

W tym przewodniku Szybki start utworzysz i uruchomisz aplikację w celu rozpoznawania i transkrypcji mowy na tekst w czasie rzeczywistym.

Aby zamiast tego transkrypcji plików audio asynchronicznie, zobacz Co to jest transkrypcja wsadowa. Jeśli nie masz pewności, które rozwiązanie zamiany mowy na tekst jest odpowiednie dla Ciebie, zobacz Co to jest zamiana mowy na tekst?

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz jedną bezpłatnie.
  • Utwórz zasób usługi Mowa w witrynie Azure Portal.
  • Klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi. Aby uzyskać więcej informacji na temat zasobów usług Azure AI, zobacz Pobieranie kluczy dla zasobu.

Konfigurowanie środowiska

Zestaw SPEECH SDK dla języka Python jest dostępny jako moduł PyPI (Python Package Index). Zestaw SPEECH SDK dla języka Python jest zgodny z systemami Windows, Linux i macOS.

Zainstaluj wersję języka Python z wersji 3.7 lub nowszej. Aby uzyskać inne wymagania, zobacz Instalowanie zestawu SPEECH SDK.

Ustawianie zmiennych środowiskowych

Aby uzyskać dostęp do zasobów usług Azure AI, aplikacja musi być uwierzytelniona. W środowisku produkcyjnym należy użyć bezpiecznego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu. Na przykład po otrzymaniu klucza zasobu usługi Mowa zapisz go w nowej zmiennej środowiskowej na komputerze lokalnym, na którym jest uruchamiana aplikacja.

Napiwek

Nie dołączaj klucza bezpośrednio do kodu i nigdy nie publikuj go publicznie. Aby uzyskać więcej opcji uwierzytelniania, takich jak usługa Azure Key Vault, zobacz Zabezpieczenia usług Azure AI.

Aby ustawić zmienną środowiskową dla klucza zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną SPEECH_KEY środowiskową, zastąp klucz jednym z kluczy zasobu.
  • Aby ustawić zmienną SPEECH_REGION środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Uwaga

Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set setxzamiast .

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienną środowiskową, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Rozpoznawanie mowy przy użyciu mikrofonu

Wykonaj następujące kroki, aby utworzyć aplikację konsolową.

  1. Otwórz okno wiersza polecenia w folderze, w którym chcesz utworzyć nowy projekt. Utwórz nowy plik o nazwie speech_recognition.py.

  2. Uruchom to polecenie, aby zainstalować zestaw SPEECH SDK:

    pip install azure-cognitiveservices-speech
    
  3. Skopiuj następujący kod do speech_recognition.py:

    import os
    import azure.cognitiveservices.speech as speechsdk
    
    def recognize_from_microphone():
        # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION'))
        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 region values?")
    
    recognize_from_microphone()
    
  4. Aby zmienić język rozpoznawania mowy, zastąp en-US element innym obsługiwanym językiem. Na przykład użyj dla es-ES języka hiszpańskiego (Hiszpania). Jeśli nie określisz języka, wartość domyślna to en-US. Aby uzyskać szczegółowe informacje na temat identyfikowania jednego z wielu języków, które mogą być mówione, zobacz identyfikacja języka.

  5. Uruchom nową aplikację konsolową, aby rozpocząć rozpoznawanie mowy z mikrofonu:

    python speech_recognition.py
    

    Ważne

    Upewnij się, że ustawiono SPEECH_KEY zmienne środowiskowe i SPEECH_REGION . Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.

  6. Po wyświetleniu monitu porozmawiaj z mikrofonem. To, co mówisz, powinno być wyświetlane jako tekst:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Uwagi

Oto kilka innych zagadnień:

  • W tym przykładzie użyto recognize_once_async operacji do transkrypcji wypowiedzi do 30 sekund lub do momentu wykrycia ciszy. Aby uzyskać informacje na temat ciągłego rozpoznawania dłuższego dźwięku, w tym konwersacji wielojęzycznych, zobacz Jak rozpoznawać mowę.

  • Aby rozpoznać mowę z pliku audio, użyj polecenia filename zamiast use_default_microphone:

    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i użyj polecenia PullAudioInputStream lub PushAudioInputStream. Aby uzyskać więcej informacji, zobacz Jak używać skompresowanego dźwięku wejściowego.

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Dokumentacja referencyjna Pakietu (Pobierz) | Dodatkowe przykłady w usłudze GitHub |

W tym przewodniku Szybki start utworzysz i uruchomisz aplikację w celu rozpoznawania i transkrypcji mowy na tekst w czasie rzeczywistym.

Aby zamiast tego transkrypcji plików audio asynchronicznie, zobacz Co to jest transkrypcja wsadowa. Jeśli nie masz pewności, które rozwiązanie zamiany mowy na tekst jest odpowiednie dla Ciebie, zobacz Co to jest zamiana mowy na tekst?

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz jedną bezpłatnie.
  • Utwórz zasób usługi Mowa w witrynie Azure Portal.
  • Klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi. Aby uzyskać więcej informacji na temat zasobów usług Azure AI, zobacz Pobieranie kluczy dla zasobu.

Konfigurowanie środowiska

Zestaw SPEECH SDK dla języka Swift jest dystrybuowany jako pakiet platformy. Platforma obsługuje język Objective-C i Swift zarówno w systemach iOS, jak i macOS.

Zestaw SPEECH SDK może być używany w projektach Xcode jako cocoaPod lub pobierany bezpośrednio i połączony ręcznie. W tym przewodniku jest używany program CocoaPod. Zainstaluj menedżera zależności CocoaPod zgodnie z opisem w instrukcjach instalacji.

Ustawianie zmiennych środowiskowych

Aby uzyskać dostęp do zasobów usług Azure AI, aplikacja musi być uwierzytelniona. W środowisku produkcyjnym należy użyć bezpiecznego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu. Na przykład po otrzymaniu klucza zasobu usługi Mowa zapisz go w nowej zmiennej środowiskowej na komputerze lokalnym, na którym jest uruchamiana aplikacja.

Napiwek

Nie dołączaj klucza bezpośrednio do kodu i nigdy nie publikuj go publicznie. Aby uzyskać więcej opcji uwierzytelniania, takich jak usługa Azure Key Vault, zobacz Zabezpieczenia usług Azure AI.

Aby ustawić zmienną środowiskową dla klucza zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną SPEECH_KEY środowiskową, zastąp klucz jednym z kluczy zasobu.
  • Aby ustawić zmienną SPEECH_REGION środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Uwaga

Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set setxzamiast .

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienną środowiskową, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Rozpoznawanie mowy przy użyciu mikrofonu

Wykonaj następujące kroki, aby rozpoznać mowę w aplikacji systemu macOS.

  1. Sklonuj repozytorium Azure-Samples/cognitive-services-speech-sdk , aby uzyskać przykładowy projekt Rozpoznawanie mowy z mikrofonu w języku Swift w systemie macOS . Repozytorium zawiera również przykłady dla systemu iOS.

  2. Przejdź do katalogu pobranej przykładowej aplikacji (helloworld) w terminalu.

  3. Uruchom polecenie pod install. To polecenie generuje helloworld.xcworkspace obszar roboczy Xcode zawierający zarówno przykładową aplikację, jak i zestaw Speech SDK jako zależność.

  4. Otwórz obszar roboczy w programie helloworld.xcworkspace Xcode.

  5. Otwórz plik o nazwie AppDelegate.swift i znajdź applicationDidFinishLaunching metody i recognizeFromMic , jak pokazano tutaj.

    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
            }
        }
    }
    
  6. W pliku AppDelegate.m użyj zmiennych środowiskowych ustawionych wcześniej dla klucza zasobu usługi Mowa i regionu.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. Aby zmienić język rozpoznawania mowy, zastąp en-US element innym obsługiwanym językiem. Na przykład użyj dla es-ES języka hiszpańskiego (Hiszpania). Jeśli nie określisz języka, wartość domyślna to en-US. Aby uzyskać szczegółowe informacje na temat identyfikowania jednego z wielu języków, które mogą być mówione, zobacz Identyfikacja języka.

  8. Aby wyświetlić dane wyjściowe debugowania, wybierz pozycję Wyświetl>obszar>debugowania Aktywuj konsolę.

  9. Skompiluj i uruchom przykładowy kod, wybierając pozycję Product Run (Uruchom produkt>) z menu lub wybierając przycisk Play (Odtwórz).

    Ważne

    Upewnij się, że ustawiono SPEECH_KEY zmienne środowiskowe i SPEECH_REGION . Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.

Po wybraniu przycisku w aplikacji i napisaniu kilku słów powinien zostać wyświetlony tekst, który wypowiedział się w dolnej części ekranu. Po pierwszym uruchomieniu aplikacji zostanie wyświetlony monit o udzielenie aplikacji dostępu do mikrofonu komputera.

Uwagi

W tym przykładzie użyto recognizeOnce operacji do transkrypcji wypowiedzi do 30 sekund lub do momentu wykrycia ciszy. Aby uzyskać informacje na temat ciągłego rozpoznawania dłuższego dźwięku, w tym konwersacji wielojęzycznych, zobacz Jak rozpoznawać mowę.

Objective-C

Zestaw SPEECH SDK dla języka Objective-C udostępnia biblioteki klienckie i dokumentację referencyjną zestawu Speech SDK dla języka Swift. Aby zapoznać się z przykładami kodu Objective-C, zobacz przykładowy projekt rozpoznawania mowy z mikrofonu w języku Objective-C w systemie macOS w usłudze GitHub.

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Interfejs API REST zamiany mowy na tekst — dokumentacja | interfejsu API REST zamiany mowy na tekst w celu uzyskania krótkiej dokumentacji | audio — dodatkowe przykłady w usłudze GitHub

W tym przewodniku Szybki start utworzysz i uruchomisz aplikację w celu rozpoznawania i transkrypcji mowy na tekst w czasie rzeczywistym.

Aby zamiast tego transkrypcji plików audio asynchronicznie, zobacz Co to jest transkrypcja wsadowa. Jeśli nie masz pewności, które rozwiązanie zamiany mowy na tekst jest odpowiednie dla Ciebie, zobacz Co to jest zamiana mowy na tekst?

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz jedną bezpłatnie.
  • Utwórz zasób usługi Mowa w witrynie Azure Portal.
  • Klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi. Aby uzyskać więcej informacji na temat zasobów usług Azure AI, zobacz Pobieranie kluczy dla zasobu.

Potrzebny jest również plik audio .wav na komputerze lokalnym. Możesz użyć własnego pliku .wav do 60 sekund lub pobrać https://crbn.us/whatstheweatherlike.wav przykładowy plik.

Ustawianie zmiennych środowiskowych

Aby uzyskać dostęp do zasobów usług Azure AI, aplikacja musi być uwierzytelniona. W środowisku produkcyjnym należy użyć bezpiecznego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu. Na przykład po otrzymaniu klucza zasobu usługi Mowa zapisz go w nowej zmiennej środowiskowej na komputerze lokalnym, na którym jest uruchamiana aplikacja.

Napiwek

Nie dołączaj klucza bezpośrednio do kodu i nigdy nie publikuj go publicznie. Aby uzyskać więcej opcji uwierzytelniania, takich jak usługa Azure Key Vault, zobacz Zabezpieczenia usług Azure AI.

Aby ustawić zmienną środowiskową dla klucza zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną SPEECH_KEY środowiskową, zastąp klucz jednym z kluczy zasobu.
  • Aby ustawić zmienną SPEECH_REGION środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Uwaga

Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set setxzamiast .

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienną środowiskową, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Rozpoznawanie mowy z pliku

Otwórz okno konsoli i uruchom następujące polecenie cURL. Zastąp YourAudioFile.wav ścieżką i nazwą pliku audio.

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"

Ważne

Upewnij się, że ustawiono SPEECH_KEY zmienne środowiskowe i SPEECH_REGION . Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.

Powinna zostać wyświetlona odpowiedź podobna do przedstawionej tutaj. Powinien DisplayText to być tekst rozpoznany z pliku audio. Polecenie rozpoznaje do 60 sekund dźwięku i konwertuje go na tekst.

{
    "RecognitionStatus": "Success",
    "DisplayText": "My voice is my passport, verify me.",
    "Offset": 6600000,
    "Duration": 32100000
}

Aby uzyskać więcej informacji, zobacz Interfejs API REST zamiany mowy na tekst w celu uzyskania krótkiego dźwięku.

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

W tym przewodniku Szybki start utworzysz i uruchomisz aplikację w celu rozpoznawania i transkrypcji mowy na tekst w czasie rzeczywistym.

Aby zamiast tego transkrypcji plików audio asynchronicznie, zobacz Co to jest transkrypcja wsadowa. Jeśli nie masz pewności, które rozwiązanie zamiany mowy na tekst jest odpowiednie dla Ciebie, zobacz Co to jest zamiana mowy na tekst?

Wymagania wstępne

  • Subskrypcja platformy Azure — utwórz jedną bezpłatnie.
  • Utwórz zasób usługi Mowa w witrynie Azure Portal.
  • Klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi. Aby uzyskać więcej informacji na temat zasobów usług Azure AI, zobacz Pobieranie kluczy dla zasobu.

Konfigurowanie środowiska

Wykonaj następujące kroki i zapoznaj się z przewodnikiem Szybki start interfejsu wiersza polecenia usługi Mowa, aby uzyskać inne wymagania dotyczące platformy.

  1. Uruchom następujące polecenie interfejsu wiersza polecenia platformy .NET, aby zainstalować interfejs wiersza polecenia usługi Mowa:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Uruchom następujące polecenia, aby skonfigurować klucz zasobu usługi Mowa i region. Zastąp SUBSCRIPTION-KEY ciąg kluczem zasobu usługi Mowa i zastąp REGION element regionem zasobu usługi Mowa.

    spx config @key --set SUBSCRIPTION-KEY
    spx config @region --set REGION
    

Rozpoznawanie mowy przy użyciu mikrofonu

  1. Uruchom następujące polecenie, aby uruchomić rozpoznawanie mowy z mikrofonu:

    spx recognize --microphone --source en-US
    
  2. Porozmawiaj z mikrofonem i zobaczysz transkrypcję słów w tekście w czasie rzeczywistym. Interfejs wiersza polecenia usługi Mowa zatrzymuje się po upływie okresu ciszy, 30 sekund lub po wybraniu Ctrl+C.

    Connection CONNECTED...
    RECOGNIZED: I'm excited to try speech to text.
    

Uwagi

Oto kilka innych zagadnień:

  • Aby rozpoznać mowę z pliku audio, użyj polecenia --file zamiast --microphone. W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj usługę GStreamer i użyj polecenia --format. Aby uzyskać więcej informacji, zobacz Jak używać skompresowanego dźwięku wejściowego.

    spx recognize --file YourAudioFile.wav
    spx recognize --file YourAudioFile.mp4 --format any
    
  • Aby zwiększyć dokładność rozpoznawania określonych słów lub wypowiedzi, użyj listy fraz. Lista fraz jest dołączana w wierszu lub z plikiem tekstowym wraz z poleceniem recognize :

    spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;"
    spx recognize --microphone --phrases @phrases.txt
    
  • Aby zmienić język rozpoznawania mowy, zastąp en-US element innym obsługiwanym językiem. Na przykład użyj dla es-ES języka hiszpańskiego (Hiszpania). Jeśli nie określisz języka, wartość domyślna to en-US.

    spx recognize --microphone --source es-ES
    
  • W celu ciągłego rozpoznawania dźwięku dłuższego niż 30 sekund dołącz :--continuous

    spx recognize --microphone --source es-ES --continuous
    
  • Uruchom to polecenie, aby uzyskać więcej informacji o opcjach rozpoznawania mowy, takich jak dane wejściowe i wyjściowe pliku:

    spx help recognize
    

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Następny krok