Sdílet prostřednictvím


Rychlý start: Rozpoznávání a převod řeči na text

V tomto rychlém průvodci vyzkoušíte převod řeči na text v reálném čase v Microsoft Foundry.

Požadavky

Vyzkoušejte převod řeči na text v reálném čase

  1. Přihlaste se k Microsoft Foundry. Ujistěte se, že je zapnutý přepínač New Foundry . Tyto kroky odkazují na Foundry (nové).
  2. V pravé horní nabídce vyberte Sestavit .
  3. V levém podokně vyberte Modely .
  4. Na kartě Služby AI se zobrazují modely Foundry, které je možné použít přímo ve výchozím nastavení na portálu Foundry. Vyberte Azure Speech – Převod řeči na text a otevřete tak dětské hřiště Pro převod řeči na text.
  5. Volitelně můžete pomocí oddílu Parametry změnit úlohu, jazyk, zásadu vulgárních výrazů a další nastavení. Můžete také přidat speciální pokyny pro LLM.
  6. Pomocí oddílu Nahrát soubory vyberte zvukový soubor. Pak vyberte Spustit.
  7. Zobrazení výstupu přepisu na kartě Přepis, případně si můžete volitelně zobrazit výstup surové odpovědi API na kartě JSON.
  8. Přepněte na kartu Kód a získejte vzorový kód pro použití funkce převodu řeči na text ve vaší aplikaci.

Referenční dokumentace | Package (NuGet) | Další ukázky na GitHubu

V tomto rychlém startu vytvoříte a spustíte aplikaci pro rozpoznávání a přepis řeči na text v reálném čase.

Návod

Pokud chcete rychle přepisovat zvukové soubory, zvažte použití rozhraní API pro rychlý přepis. Rozhraní API pro rychlý přepis podporuje funkce, jako je identifikace jazyka a diarizace.

Pokud si přejete přepisovat zvukové soubory asynchronně, přečtěte si informace v sekci Co je dávkový přepis. Pokud si nejste jistí, které řešení pro převod řeči na text je pro vás správné, podívejte se na Co je převod řeči na text?

Požadavky

Nastavení prostředí

Sada Speech SDK je k dispozici jako balíček NuGet a implementuje .NET Standard 2.0. Speech SDK nainstalujete později v této příručce. Další požadavky najdete v tématu Instalace sady Speech SDK.

Nastavení proměnných prostředí

Abyste měli přístup k nástrojům Foundry, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Používejte klíče rozhraní API s opatrností. Nezahrnujte klíč API přímo do svého kódu a nikdy ho nezveřejňujte veřejně. Pokud používáte klíče rozhraní API, bezpečně je uložte ve službě Azure Key Vault, pravidelně je obměňujte a omezte přístup ke službě Azure Key Vault pomocí řízení přístupu na základě rolí a omezení přístupu k síti. Další informace o bezpečném používání klíčů ROZHRANÍ API ve vašich aplikacích najdete v tématu Klíče rozhraní API se službou Azure Key Vault.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč prostředku a koncový bod služby Speech, otevřete okno konzoly a postupujte podle pokynů pro váš operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou prostředí SPEECH_KEY, nahraďte your-key jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou ENDPOINT prostředí, nahraďte váš-koncový-bod jedním z koncových bodů dostupných pro váš prostředek.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí pomocí set namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Rozpoznávání řeči z mikrofonu

Návod

Vyzkoušejte sadu nástrojů Azure Speech v sadě Foundry Tools, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.

Pomocí těchto kroků vytvořte konzolovou aplikaci a nainstalujte sadu Speech SDK.

  1. Ve složce, ve které chcete nový projekt, otevřete okno příkazového řádku. Spuštěním tohoto příkazu vytvořte konzolovou aplikaci pomocí rozhraní příkazového řádku .NET CLI.

    dotnet new console
    

    Tento příkaz vytvoří soubor Program.cs v adresáři projektu.

  2. Nainstalujte sadu Speech SDK do nového projektu pomocí rozhraní příkazového řádku .NET.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Obsah souboru Program.cs nahraďte tímto kódem:

    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);
        }
    }
    
  4. Pokud chcete změnit jazyk rozpoznávání řeči, nahraďte en-US jiným podporovaným jazykem. Například použijte es-ES na španělštinu (Španělsko). Pokud nezadáte jazyk, výchozí hodnota je en-US. Podrobnosti o tom, jak identifikovat jeden z více jazyků, které by mohly být mluvené, najdete v tématu Identifikace jazyka.

  5. Spuštěním nové konzolové aplikace spusťte rozpoznávání řeči z mikrofonu:

    dotnet run
    

    Důležité

    Ujistěte se, že jste nastavili SPEECH_KEY a ENDPOINTproměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.

  6. Po zobrazení výzvy promluvte do mikrofonu. Co mluvíte, by se mělo zobrazit jako text:

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

Poznámky

Tady je několik dalších aspektů:

  • Tento příklad používá operaci RecognizeOnceAsync pro přepis promluv až do 30 sekund nebo do zjištění ticha. Informace o nepřetržitém rozpoznávání delšího zvuku, včetně vícejazyčných konverzací, najdete v tématu Rozpoznávání řeči.

  • Pokud chcete rozpoznat řeč ze zvukového souboru, použijte FromWavFileInput místo FromDefaultMicrophoneInput:

    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • Pro komprimované zvukové soubory, jako je MP4, nainstalujte GStreamer a použijte PullAudioInputStream nebo PushAudioInputStream. Další informace naleznete v tématu Použití komprimovaného vstupního zvuku.

Vyčistěte zdroje

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí portálu Azure nebo rozhraní příkazového řádku Azure (CLI).

Referenční dokumentace | Package (NuGet) | Další ukázky na GitHubu

V tomto rychlém startu vytvoříte a spustíte aplikaci pro rozpoznávání a přepis řeči na text v reálném čase.

Návod

Pokud chcete rychle přepisovat zvukové soubory, zvažte použití rozhraní API pro rychlý přepis. Rozhraní API pro rychlý přepis podporuje funkce, jako je identifikace jazyka a diarizace.

Pokud si přejete přepisovat zvukové soubory asynchronně, přečtěte si informace v sekci Co je dávkový přepis. Pokud si nejste jistí, které řešení pro převod řeči na text je pro vás správné, podívejte se na Co je převod řeči na text?

Požadavky

Nastavení prostředí

Sada Speech SDK je k dispozici jako balíček NuGet a implementuje .NET Standard 2.0. Speech SDK nainstalujete později v této příručce. Další požadavky najdete v tématu Instalace sady Speech SDK.

Nastavení proměnných prostředí

Abyste měli přístup k nástrojům Foundry, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Používejte klíče rozhraní API s opatrností. Nezahrnujte klíč API přímo do svého kódu a nikdy ho nezveřejňujte veřejně. Pokud používáte klíče rozhraní API, bezpečně je uložte ve službě Azure Key Vault, pravidelně je obměňujte a omezte přístup ke službě Azure Key Vault pomocí řízení přístupu na základě rolí a omezení přístupu k síti. Další informace o bezpečném používání klíčů ROZHRANÍ API ve vašich aplikacích najdete v tématu Klíče rozhraní API se službou Azure Key Vault.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč prostředku a koncový bod služby Speech, otevřete okno konzoly a postupujte podle pokynů pro váš operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou prostředí SPEECH_KEY, nahraďte your-key jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou ENDPOINT prostředí, nahraďte váš-koncový-bod jedním z koncových bodů dostupných pro váš prostředek.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí pomocí set namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Rozpoznávání řeči z mikrofonu

Návod

Vyzkoušejte sadu nástrojů Azure Speech v sadě Foundry Tools, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.

Pomocí těchto kroků vytvořte konzolovou aplikaci a nainstalujte sadu Speech SDK.

  1. Vytvořte nový projekt konzoly C++ v komunitě sady Visual Studio s názvem SpeechRecognition.

  2. Vyberte Nástroje>Správce balíčků Nuget>Konzola správce balíčků. V konzole Správce balíčků spusťte tento příkaz:

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Obsah SpeechRecognition.cpp nahraďte následujícím kódem:

    #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
    }
    
  4. Pokud chcete změnit jazyk rozpoznávání řeči, nahraďte en-US jiným podporovaným jazykem. Například použijte es-ES na španělštinu (Španělsko). Pokud nezadáte jazyk, výchozí hodnota je en-US. Podrobnosti o tom, jak identifikovat jeden z více jazyků, které by mohly být mluvené, najdete v tématu Identifikace jazyka.

  5. Pokud chcete spustit rozpoznávání řeči z mikrofonu, sestavte a spusťte novou konzolovou aplikaci.

    Důležité

    Ujistěte se, že jste nastavili SPEECH_KEY a ENDPOINTproměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.

  6. Po zobrazení výzvy promluvte do mikrofonu. Co mluvíte, by se mělo zobrazit jako text:

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

Poznámky

Tady je několik dalších aspektů:

  • Tento příklad používá operaci RecognizeOnceAsync pro přepis promluv až do 30 sekund nebo do zjištění ticha. Informace o nepřetržitém rozpoznávání delšího zvuku, včetně vícejazyčných konverzací, najdete v tématu Rozpoznávání řeči.

  • Pokud chcete rozpoznat řeč ze zvukového souboru, použijte FromWavFileInput místo FromDefaultMicrophoneInput:

    auto audioConfig = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • Pro komprimované zvukové soubory, jako je MP4, nainstalujte GStreamer a použijte PullAudioInputStream nebo PushAudioInputStream. Další informace naleznete v tématu Použití komprimovaného vstupního zvuku.

Vyčistěte zdroje

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí portálu Azure nebo rozhraní příkazového řádku Azure (CLI).

Referenční dokumentace | Package (Go) | Další ukázky na GitHubu

V tomto rychlém startu vytvoříte a spustíte aplikaci pro rozpoznávání a přepis řeči na text v reálném čase.

Návod

Pokud chcete rychle přepisovat zvukové soubory, zvažte použití rozhraní API pro rychlý přepis. Rozhraní API pro rychlý přepis podporuje funkce, jako je identifikace jazyka a diarizace.

Pokud si přejete přepisovat zvukové soubory asynchronně, přečtěte si informace v sekci Co je dávkový přepis. Pokud si nejste jistí, které řešení pro převod řeči na text je pro vás správné, podívejte se na Co je převod řeči na text?

Požadavky

  • Předplatné služby Azure. Můžete si ho zdarma vytvořit.
  • Na webu Azure Portal vytvořte prostředek Foundry pro službu Speech.
  • Získejte klíč prostředku Speech a jeho region. Po nasazení prostředku Speech vyberte Přejít k prostředku pro zobrazení a správu klíčů.

Nastavení prostředí

Nainstalujte sadu Speech SDK pro Go. Požadavky a pokyny najdete v tématu Instalace sady Speech SDK.

Nastavení proměnných prostředí

Abyste měli přístup k nástrojům Foundry, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Používejte klíče rozhraní API s opatrností. Nezahrnujte klíč API přímo do svého kódu a nikdy ho nezveřejňujte veřejně. Pokud používáte klíče rozhraní API, bezpečně je uložte ve službě Azure Key Vault, pravidelně je obměňujte a omezte přístup ke službě Azure Key Vault pomocí řízení přístupu na základě rolí a omezení přístupu k síti. Další informace o bezpečném používání klíčů ROZHRANÍ API ve vašich aplikacích najdete v tématu Klíče rozhraní API se službou Azure Key Vault.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou prostředí SPEECH_KEY, nahraďte your-key jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou SPEECH_REGION prostředí, nahraďte vaši oblast jednou z oblastí vašeho prostředku.
  • Pokud chcete nastavit proměnnou ENDPOINT prostředí, nahraďte your-endpoint skutečným koncovým bodem vašeho prostředku služby Speech.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí pomocí set namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Rozpoznávání řeči z mikrofonu

Pomocí těchto kroků vytvořte modul GO.

  1. Ve složce, ve které chcete nový projekt, otevřete okno příkazového řádku. Vytvořte nový soubor s názvem speech-recognition.go.

  2. Zkopírujte následující kód do rozpoznávání řeči.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. Spuštěním následujících příkazů vytvořte soubor go.mod , který odkazuje na komponenty hostované na GitHubu:

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

    Důležité

    Ujistěte se, že jste nastavili SPEECH_KEY a SPEECH_REGIONproměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.

  4. Sestavte a spusťte kód:

    go build
    go run speech-recognition
    

Vyčistěte zdroje

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí portálu Azure nebo rozhraní příkazového řádku Azure (CLI).

Referenční dokumentace | Další ukázky na GitHubu

V tomto rychlém startu vytvoříte a spustíte aplikaci pro rozpoznávání a přepis řeči na text v reálném čase.

Návod

Pokud chcete rychle přepisovat zvukové soubory, zvažte použití rozhraní API pro rychlý přepis. Rozhraní API pro rychlý přepis podporuje funkce, jako je identifikace jazyka a diarizace.

Pokud si přejete přepisovat zvukové soubory asynchronně, přečtěte si informace v sekci Co je dávkový přepis. Pokud si nejste jistí, které řešení pro převod řeči na text je pro vás správné, podívejte se na Co je převod řeči na text?

Požadavky

Nastavení prostředí

Pokud chcete nastavit prostředí, nainstalujte sadu Speech SDK. Ukázka v tomto rychlém startu funguje s běhovým prostředím Java.

  1. Nainstalujte Apache Maven. Pak spusťte a potvrďte mvn -v úspěšnou instalaci.

  2. V kořenovém adresáři projektu vytvořte nový pom.xml soubor a zkopírujte do něj následující kód:

    <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>
    
  3. Nainstalujte balíček Speech SDK a závislosti.

    mvn clean dependency:copy-dependencies
    

Nastavení proměnných prostředí

Abyste měli přístup k nástrojům Foundry, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Používejte klíče rozhraní API s opatrností. Nezahrnujte klíč API přímo do svého kódu a nikdy ho nezveřejňujte veřejně. Pokud používáte klíče rozhraní API, bezpečně je uložte ve službě Azure Key Vault, pravidelně je obměňujte a omezte přístup ke službě Azure Key Vault pomocí řízení přístupu na základě rolí a omezení přístupu k síti. Další informace o bezpečném používání klíčů ROZHRANÍ API ve vašich aplikacích najdete v tématu Klíče rozhraní API se službou Azure Key Vault.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč prostředku a koncový bod služby Speech, otevřete okno konzoly a postupujte podle pokynů pro váš operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou prostředí SPEECH_KEY, nahraďte your-key jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou ENDPOINT prostředí, nahraďte váš-koncový-bod jedním z koncových bodů dostupných pro váš prostředek.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí pomocí set namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Rozpoznávání řeči z mikrofonu

Pokud chcete vytvořit konzolovou aplikaci pro rozpoznávání řeči, postupujte podle těchto kroků.

  1. Ve stejném kořenovém adresáři projektu vytvořte nový soubor s názvem SpeechRecognition.java .

  2. Do SpeechRecognition.java zkopírujte následující kód:

    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);
        }
    }
    
  3. Pokud chcete změnit jazyk rozpoznávání řeči, nahraďte en-US jiným podporovaným jazykem. Například použijte es-ES na španělštinu (Španělsko). Pokud nezadáte jazyk, výchozí hodnota je en-US. Podrobnosti o tom, jak identifikovat jeden z více jazyků, které by mohly být mluvené, najdete v tématu Identifikace jazyka.

  4. Spuštěním nové konzolové aplikace spusťte rozpoznávání řeči z mikrofonu:

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

    Důležité

    Ujistěte se, že jste nastavili SPEECH_KEY a ENDPOINTproměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.

  5. Po zobrazení výzvy promluvte do mikrofonu. Co mluvíte, by se mělo zobrazit jako text:

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

Poznámky

Tady je několik dalších aspektů:

  • Tento příklad používá operaci RecognizeOnceAsync pro přepis promluv až do 30 sekund nebo do zjištění ticha. Informace o nepřetržitém rozpoznávání delšího zvuku, včetně vícejazyčných konverzací, najdete v tématu Rozpoznávání řeči.

  • Pokud chcete rozpoznat řeč ze zvukového souboru, použijte fromWavFileInput místo fromDefaultMicrophoneInput:

    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • Pro komprimované zvukové soubory, jako je MP4, nainstalujte GStreamer a použijte PullAudioInputStream nebo PushAudioInputStream. Další informace naleznete v tématu Použití komprimovaného vstupního zvuku.

Vyčistěte zdroje

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí portálu Azure nebo rozhraní příkazového řádku Azure (CLI).

Referenční dokumentace | Balíček (npm) | Další ukázky ve zdrojovém kódu knihovny GitHub |

V tomto rychlém startu vytvoříte a spustíte aplikaci pro rozpoznávání a přepis řeči na text v reálném čase.

Návod

Pokud chcete rychle přepisovat zvukové soubory, zvažte použití rozhraní API pro rychlý přepis. Rozhraní API pro rychlý přepis podporuje funkce, jako je identifikace jazyka a diarizace.

Pokud si přejete přepisovat zvukové soubory asynchronně, přečtěte si informace v sekci Co je dávkový přepis. Pokud si nejste jistí, které řešení pro převod řeči na text je pro vás správné, podívejte se na Co je převod řeči na text?

Požadavky

  • Předplatné služby Azure. Můžete si ho zdarma vytvořit.
  • Na webu Azure Portal vytvořte prostředek Foundry pro službu Speech.
  • Získejte klíč prostředku Speech a jeho region. Po nasazení prostředku Speech vyberte Přejít k prostředku pro zobrazení a správu klíčů.

Potřebujete také .wav zvukový soubor na místním počítači. Můžete použít vlastní .wav soubor (až 30 sekund) nebo stáhnout https://crbn.us/whatstheweatherlike.wav ukázkový soubor.

Nastavení

  1. Vytvořte novou složku transcription-quickstart a přejděte do složky průvodce rychlým začátkem pomocí následujícího příkazu:

    mkdir transcription-quickstart && cd transcription-quickstart
    
  2. Vytvořte package.json pomocí následujícího příkazu:

    npm init -y
    
  3. Nainstalujte sadu Speech SDK pro JavaScript pomocí:

    npm install microsoft-cognitiveservices-speech-sdk
    

Získat informace o prostředcích

Abyste měli přístup k nástrojům Foundry, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Používejte klíče rozhraní API s opatrností. Nezahrnujte klíč API přímo do svého kódu a nikdy ho nezveřejňujte veřejně. Pokud používáte klíče rozhraní API, bezpečně je uložte ve službě Azure Key Vault, pravidelně je obměňujte a omezte přístup ke službě Azure Key Vault pomocí řízení přístupu na základě rolí a omezení přístupu k síti. Další informace o bezpečném používání klíčů ROZHRANÍ API ve vašich aplikacích najdete v tématu Klíče rozhraní API se službou Azure Key Vault.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou prostředí SPEECH_KEY, nahraďte your-key jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou SPEECH_REGION prostředí, nahraďte vaši oblast jednou z oblastí vašeho prostředku.
  • Pokud chcete nastavit proměnnou ENDPOINT prostředí, nahraďte your-endpoint skutečným koncovým bodem vašeho prostředku služby Speech.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí pomocí set namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Rozpoznávat řeč ze souboru

Přepis řeči ze souboru:

  1. Vytvořte nový soubor s názvem transcription.js s následujícím obsahem:

    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();
    

    V transcription.jsnahraďte YourAudioFile.wav vlastním souborem .wav . Tento příklad rozpoznává řeč pouze ze souboru .wav . Informace o jiných formátech zvuku naleznete v tématu Použití komprimovaného vstupního zvuku. Tento příklad podporuje až 30 sekund zvuku.

    Pokud chcete změnit jazyk rozpoznávání řeči, nahraďte en-US jiným podporovaným jazykem. Například použijte es-ES na španělštinu (Španělsko). Pokud nezadáte jazyk, výchozí hodnota je en-US. Podrobnosti o tom, jak identifikovat jeden z více jazyků, které by mohly být mluvené, najdete v tématu Identifikace jazyka.

  2. Spuštěním nové konzolové aplikace spusťte rozpoznávání řeči ze souboru:

    node transcription.js
    

Počkejte chvíli, než se odpověď zobrazí.

Výstup

Řeč ze zvukového souboru by měla být výstupem jako text:

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

Poznámky

Tento příklad používá operaci recognizeOnceAsync pro přepis promluv až do 30 sekund nebo do zjištění ticha. Informace o nepřetržitém rozpoznávání delšího zvuku, včetně vícejazyčných konverzací, najdete v tématu Rozpoznávání řeči.

Poznámka:

Rozpoznávání řeči z mikrofonu není v Node.jspodporováno . Podporuje se jenom v prostředí JavaScriptu založeném na prohlížeči. Další informace najdete v ukázce projektu React a implementaci převodu řeči na text z mikrofonu na GitHubu.

Ukázka Reactu ukazuje vzory návrhu pro výměnu a správu ověřovacích tokenů. Zobrazuje také zachytávání zvuku z mikrofonu nebo souboru pro převod řeči na text.

Vyčistěte zdroje

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí portálu Azure nebo rozhraní příkazového řádku Azure (CLI).

Referenční dokumentace | Package (PyPi) | Další ukázky na GitHubu

V tomto rychlém startu vytvoříte a spustíte aplikaci pro rozpoznávání a přepis řeči na text v reálném čase.

Návod

Pokud chcete rychle přepisovat zvukové soubory, zvažte použití rozhraní API pro rychlý přepis. Rozhraní API pro rychlý přepis podporuje funkce, jako je identifikace jazyka a diarizace.

Pokud si přejete přepisovat zvukové soubory asynchronně, přečtěte si informace v sekci Co je dávkový přepis. Pokud si nejste jistí, které řešení pro převod řeči na text je pro vás správné, podívejte se na Co je převod řeči na text?

Požadavky

Nastavení prostředí

Sada Speech SDK pro Python je k dispozici jako modul PyPI (Python Package Index). Sada Speech SDK pro Python je kompatibilní s Windows, Linuxem a macOS.

Nainstalujte verzi Pythonu z verze 3.7 nebo novější. Další požadavky najdete v tématu Instalace sady Speech SDK.

Nastavení proměnných prostředí

Abyste měli přístup k nástrojům Foundry, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Používejte klíče rozhraní API s opatrností. Nezahrnujte klíč API přímo do svého kódu a nikdy ho nezveřejňujte veřejně. Pokud používáte klíče rozhraní API, bezpečně je uložte ve službě Azure Key Vault, pravidelně je obměňujte a omezte přístup ke službě Azure Key Vault pomocí řízení přístupu na základě rolí a omezení přístupu k síti. Další informace o bezpečném používání klíčů ROZHRANÍ API ve vašich aplikacích najdete v tématu Klíče rozhraní API se službou Azure Key Vault.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč prostředku a koncový bod služby Speech, otevřete okno konzoly a postupujte podle pokynů pro váš operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou prostředí SPEECH_KEY, nahraďte your-key jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou ENDPOINT prostředí, nahraďte váš-koncový-bod jedním z koncových bodů dostupných pro váš prostředek.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí pomocí set namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Rozpoznávání řeči z mikrofonu

Návod

Vyzkoušejte sadu nástrojů Azure Speech v sadě Foundry Tools, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.

Pomocí těchto kroků vytvořte konzolovou aplikaci.

  1. Ve složce, ve které chcete nový projekt, otevřete okno příkazového řádku. Vytvořte nový soubor s názvem speech_recognition.py.

  2. Spuštěním tohoto příkazu nainstalujte sadu Speech SDK:

    pip install azure-cognitiveservices-speech
    
  3. Do speech_recognition.py zkopírujte následující kód:

    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()
    
  4. Pokud chcete změnit jazyk rozpoznávání řeči, nahraďte en-US jiným podporovaným jazykem. Například použijte es-ES na španělštinu (Španělsko). Pokud nezadáte jazyk, výchozí hodnota je en-US. Podrobnosti o tom, jak identifikovat jeden z více jazyků, které by mohly být mluvené, najdete v tématu identifikace jazyka.

  5. Spuštěním nové konzolové aplikace spusťte rozpoznávání řeči z mikrofonu:

    python speech_recognition.py
    

    Důležité

    Ujistěte se, že jste nastavili SPEECH_KEY a ENDPOINTproměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.

  6. Po zobrazení výzvy promluvte do mikrofonu. Co mluvíte, by se mělo zobrazit jako text:

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

Poznámky

Tady je několik dalších aspektů:

  • Tento příklad používá operaci recognize_once_async pro přepis promluv až do 30 sekund nebo do zjištění ticha. Informace o nepřetržitém rozpoznávání delšího zvuku, včetně vícejazyčných konverzací, najdete v tématu Rozpoznávání řeči.

  • Pokud chcete rozpoznat řeč ze zvukového souboru, použijte filename místo use_default_microphone:

    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • Pro komprimované zvukové soubory, jako je MP4, nainstalujte GStreamer a použijte PullAudioInputStream nebo PushAudioInputStream. Další informace naleznete v tématu Použití komprimovaného vstupního zvuku.

Vyčistěte zdroje

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí portálu Azure nebo rozhraní příkazového řádku Azure (CLI).

Referenční dokumentace | Balíček (stáhnout) | Další ukázky na GitHubu

V tomto rychlém startu vytvoříte a spustíte aplikaci pro rozpoznávání a přepis řeči na text v reálném čase.

Návod

Pokud chcete rychle přepisovat zvukové soubory, zvažte použití rozhraní API pro rychlý přepis. Rozhraní API pro rychlý přepis podporuje funkce, jako je identifikace jazyka a diarizace.

Pokud si přejete přepisovat zvukové soubory asynchronně, přečtěte si informace v sekci Co je dávkový přepis. Pokud si nejste jistí, které řešení pro převod řeči na text je pro vás správné, podívejte se na Co je převod řeči na text?

Požadavky

  • Předplatné služby Azure. Můžete si ho zdarma vytvořit.
  • Na webu Azure Portal vytvořte prostředek Foundry pro službu Speech.
  • Získejte klíč prostředku Speech a jeho region. Po nasazení prostředku Speech vyberte Přejít k prostředku pro zobrazení a správu klíčů.

Nastavení prostředí

Sada Speech SDK pro Swift je distribuovaná jako sada rozhraní. Tato architektura podporuje Objective-C i Swift v iOSu i macOS.

Sadu Speech SDK je možné použít v projektech Xcode jako CocoaPod nebo stáhnout přímo a propojit ručně. Tato příručka používá CocoaPod. Nainstalujte správce závislostí CocoaPod, jak je popsáno v pokynech k instalaci.

Nastavení proměnných prostředí

Abyste měli přístup k nástrojům Foundry, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Používejte klíče rozhraní API s opatrností. Nezahrnujte klíč API přímo do svého kódu a nikdy ho nezveřejňujte veřejně. Pokud používáte klíče rozhraní API, bezpečně je uložte ve službě Azure Key Vault, pravidelně je obměňujte a omezte přístup ke službě Azure Key Vault pomocí řízení přístupu na základě rolí a omezení přístupu k síti. Další informace o bezpečném používání klíčů ROZHRANÍ API ve vašich aplikacích najdete v tématu Klíče rozhraní API se službou Azure Key Vault.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou prostředí SPEECH_KEY, nahraďte your-key jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou SPEECH_REGION prostředí, nahraďte vaši oblast jednou z oblastí vašeho prostředku.
  • Pokud chcete nastavit proměnnou ENDPOINT prostředí, nahraďte your-endpoint skutečným koncovým bodem vašeho prostředku služby Speech.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí pomocí set namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Rozpoznávání řeči z mikrofonu

Pomocí těchto kroků rozpoznáte řeč v aplikaci pro macOS.

  1. Naklonujte úložiště Azure-Samples/cognitive-services-speech-sdk , abyste získali rozpoznávání řeči z mikrofonu ve Swiftu v ukázkovém projektu macOS . Úložiště obsahuje také ukázky pro iOS.

  2. V terminálu přejděte do adresáře stažené ukázkové aplikace (helloworld).

  3. Spusťte příkaz pod install. Tento příkaz vygeneruje helloworld.xcworkspace pracovní prostor Xcode obsahující jak ukázkovou aplikaci, tak i SDK Speech jako závislost.

  4. helloworld.xcworkspace Otevřete pracovní prostor v Xcode.

  5. Otevřete soubor s názvem AppDelegate.swift a vyhledejte metody applicationDidFinishLaunching a recognizeFromMic metody, jak je znázorněno zde.

    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. V AppDelegate.m použijte proměnné prostředí, které jste dříve nastavili pro klíč prostředku a oblast služby Speech.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. Pokud chcete změnit jazyk rozpoznávání řeči, nahraďte en-US jiným podporovaným jazykem. Například použijte es-ES na španělštinu (Španělsko). Pokud nezadáte jazyk, výchozí hodnota je en-US. Podrobnosti o tom, jak identifikovat jeden z více jazyků, které by mohly být mluvené, najdete v tématu Identifikace jazyka.

  8. Pokud chcete, aby byl výstup ladění viditelný, vyberte Zobrazit>Oblast ladění>Aktivovat konzolu.

  9. Sestavte a spusťte ukázkový kód tak, že v nabídce vyberete Produkt>spustit nebo vyberete tlačítko Přehrát .

    Důležité

    Ujistěte se, že jste nastavili SPEECH_KEY a SPEECH_REGIONproměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.

Když v aplikaci vyberete tlačítko a řeknete pár slov, měl by se zobrazit text, který jste mluvili v dolní části obrazovky. Když aplikaci spustíte poprvé, zobrazí se výzva, abyste aplikaci poskytli přístup k mikrofonu počítače.

Poznámky

Tento příklad používá operaci recognizeOnce pro přepis promluv až do 30 sekund nebo do zjištění ticha. Informace o nepřetržitém rozpoznávání delšího zvuku, včetně vícejazyčných konverzací, najdete v tématu Rozpoznávání řeči.

Objective-C

Sada Speech SDK pro Objective-C sdílí klientské knihovny a referenční dokumentaci se sadou Speech SDK pro Swift. Příklady kódu Objective-C naleznete v ukázkovém projektu na GitHubu, který je zaměřen na rozpoznávání řeči z mikrofonu v Objective-C na macOS.

Vyčistěte zdroje

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí portálu Azure nebo rozhraní příkazového řádku Azure (CLI).

Referenční dokumentace | Balíček (npm) | Další ukázky ve zdrojovém kódu knihovny GitHub |

V tomto rychlém startu vytvoříte a spustíte aplikaci pro rozpoznávání a přepis řeči na text v reálném čase.

Návod

Pokud chcete rychle přepisovat zvukové soubory, zvažte použití rozhraní API pro rychlý přepis. Rozhraní API pro rychlý přepis podporuje funkce, jako je identifikace jazyka a diarizace.

Pokud si přejete přepisovat zvukové soubory asynchronně, přečtěte si informace v sekci Co je dávkový přepis. Pokud si nejste jistí, které řešení pro převod řeči na text je pro vás správné, podívejte se na Co je převod řeči na text?

Požadavky

  • Předplatné služby Azure. Můžete si ho zdarma vytvořit.
  • Na webu Azure Portal vytvořte prostředek Foundry pro službu Speech.
  • Získejte klíč prostředku Speech a jeho region. Po nasazení prostředku Speech vyberte Přejít k prostředku pro zobrazení a správu klíčů.

Potřebujete také .wav zvukový soubor na místním počítači. Můžete použít vlastní .wav soubor (až 30 sekund) nebo stáhnout https://crbn.us/whatstheweatherlike.wav ukázkový soubor.

Nastavení

  1. Vytvořte novou složku transcription-quickstart a přejděte do složky průvodce rychlým začátkem pomocí následujícího příkazu:

    mkdir transcription-quickstart && cd transcription-quickstart
    
  2. Vytvořte package.json pomocí následujícího příkazu:

    npm init -y
    
  3. Aktualizujte package.json na ECMAScript následujícím příkazem:

    npm pkg set type=module
    
  4. Nainstalujte sadu Speech SDK pro JavaScript pomocí:

    npm install microsoft-cognitiveservices-speech-sdk
    
  5. Abyste se vyhnuli chybám TypeScriptu, musíte nainstalovat definice typu Node.js. Spusťte následující příkaz:

    npm install --save-dev @types/node
    

Získat informace o prostředcích

Abyste měli přístup k nástrojům Foundry, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Používejte klíče rozhraní API s opatrností. Nezahrnujte klíč API přímo do svého kódu a nikdy ho nezveřejňujte veřejně. Pokud používáte klíče rozhraní API, bezpečně je uložte ve službě Azure Key Vault, pravidelně je obměňujte a omezte přístup ke službě Azure Key Vault pomocí řízení přístupu na základě rolí a omezení přístupu k síti. Další informace o bezpečném používání klíčů ROZHRANÍ API ve vašich aplikacích najdete v tématu Klíče rozhraní API se službou Azure Key Vault.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou prostředí SPEECH_KEY, nahraďte your-key jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou SPEECH_REGION prostředí, nahraďte vaši oblast jednou z oblastí vašeho prostředku.
  • Pokud chcete nastavit proměnnou ENDPOINT prostředí, nahraďte your-endpoint skutečným koncovým bodem vašeho prostředku služby Speech.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí pomocí set namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Rozpoznávat řeč ze souboru

Přepis řeči ze souboru:

  1. Vytvořte nový soubor s názvem transcription.ts s následujícím obsahem:

    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();
    

    V transcription.ts nahraďte YourAudioFile.wav vlastním souborem .wav . Tento příklad rozpoznává řeč pouze ze souboru .wav . Informace o jiných formátech zvuku naleznete v tématu Použití komprimovaného vstupního zvuku. Tento příklad podporuje až 30 sekund zvuku.

    Pokud chcete změnit jazyk rozpoznávání řeči, nahraďte en-US jiným podporovaným jazykem. Například použijte es-ES na španělštinu (Španělsko). Pokud nezadáte jazyk, výchozí hodnota je en-US. Podrobnosti o tom, jak identifikovat jeden z více jazyků, které by mohly být mluvené, najdete v tématu Identifikace jazyka.

  2. tsconfig.json Vytvořte soubor pro transpilování kódu TypeScript a zkopírujte následující kód pro 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"]
    }
    
  3. Transpilovat z TypeScriptu do JavaScriptu.

    tsc
    

    Tento příkaz by neměl v případě úspěchu vygenerovat žádný výstup.

  4. Spuštěním nové konzolové aplikace spusťte rozpoznávání řeči ze souboru:

    node transcription.js
    

Počkejte chvíli, než se odpověď zobrazí.

Výstup

Řeč ze zvukového souboru by měla být výstupem jako text:

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

Poznámky

Tento příklad používá operaci recognizeOnceAsync pro přepis promluv až do 30 sekund nebo do zjištění ticha. Informace o nepřetržitém rozpoznávání delšího zvuku, včetně vícejazyčných konverzací, najdete v tématu Rozpoznávání řeči.

Vyčistěte zdroje

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí portálu Azure nebo rozhraní příkazového řádku Azure (CLI).

Referenční dokumentace k API REST pro převod řeči na text | Referenční dokumentace k API REST pro převod řeči na text pro krátké audio | Další ukázky na GitHubu

V tomto rychlém startu vytvoříte a spustíte aplikaci pro rozpoznávání a přepis řeči na text v reálném čase.

Návod

Pokud chcete rychle přepisovat zvukové soubory, zvažte použití rozhraní API pro rychlý přepis. Rozhraní API pro rychlý přepis podporuje funkce, jako je identifikace jazyka a diarizace.

Pokud si přejete přepisovat zvukové soubory asynchronně, přečtěte si informace v sekci Co je dávkový přepis. Pokud si nejste jistí, které řešení pro převod řeči na text je pro vás správné, podívejte se na Co je převod řeči na text?

Požadavky

  • Předplatné služby Azure. Můžete si ho zdarma vytvořit.
  • Na webu Azure Portal vytvořte prostředek Foundry pro službu Speech.
  • Získejte klíč prostředku Speech a jeho region. Po nasazení prostředku Speech vyberte Přejít k prostředku pro zobrazení a správu klíčů.

Potřebujete také .wav zvukový soubor na místním počítači. Můžete použít vlastní .wav soubor až 60 sekund nebo stáhnout https://crbn.us/whatstheweatherlike.wav ukázkový soubor.

Nastavení proměnných prostředí

Abyste měli přístup k nástrojům Foundry, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Používejte klíče rozhraní API s opatrností. Nezahrnujte klíč API přímo do svého kódu a nikdy ho nezveřejňujte veřejně. Pokud používáte klíče rozhraní API, bezpečně je uložte ve službě Azure Key Vault, pravidelně je obměňujte a omezte přístup ke službě Azure Key Vault pomocí řízení přístupu na základě rolí a omezení přístupu k síti. Další informace o bezpečném používání klíčů ROZHRANÍ API ve vašich aplikacích najdete v tématu Klíče rozhraní API se službou Azure Key Vault.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou prostředí SPEECH_KEY, nahraďte your-key jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou SPEECH_REGION prostředí, nahraďte vaši oblast jednou z oblastí vašeho prostředku.
  • Pokud chcete nastavit proměnnou ENDPOINT prostředí, nahraďte your-endpoint skutečným koncovým bodem vašeho prostředku služby Speech.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí pomocí set namísto setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Rozpoznávat řeč ze souboru

Otevřete okno konzoly a spusťte následující příkaz cURL. Nahraďte YourAudioFile.wav cestou a názvem zvukového souboru.

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"

Důležité

Ujistěte se, že jste nastavili SPEECH_KEY a SPEECH_REGIONproměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.

Měla by se zobrazit odpověď podobná tomu, co se tady zobrazuje. Text DisplayText by měl být text, který byl rozpoznán ze zvukového souboru. Příkaz rozpozná až 60 sekund zvuku a převede ho na text.

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

Další informace najdete v tématu Rozhraní REST API pro převod řeči na text pro krátký zvuk.

Vyčistěte zdroje

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí portálu Azure nebo rozhraní příkazového řádku Azure (CLI).

Další krok