Megosztás a következőn keresztül:


Rövid útmutató: Beszéd felismerése és szöveggé alakítása

Ebben a rövid útmutatóban valós idejű szövegfelolvasást próbál ki a Microsoft Foundryben.

Előfeltételek

Valós idejű szövegfelolvasás kipróbálás

  1. Jelentkezzen be a Microsoft Foundrybe. Győződjön meg arról, hogy a New Foundry kapcsoló be van kapcsolva. Ezek a lépések a Foundryre (új) vonatkoznak.
  2. A jobb felső menüben válassza a Build lehetőséget .
  3. A bal oldali panelen válassza a Modellek lehetőséget.
  4. A AI-szolgáltatások fül a Foundry portálban elérhető modelleket mutatja, amelyek azonnal használhatók. Válassza az Azure Speech – Beszédfelismerés lehetőséget a beszédfelismerés játszótér megnyitásához.
  5. A Paraméterek szakaszban módosíthatja a feladatot, a nyelvet, a káromkodási szabályzatot és más beállításokat. Az LLM-hez speciális utasításokat is hozzáadhat.
  6. Válassza ki a hangfájlt a Fájlok feltöltése szakaszban. Ezután válassza a Start lehetőséget.
  7. Az átirat kimenetének megtekintése az Átirat lapon. Igény szerint megtekintheti a nyers API-válasz kimenetét a JSON lapon.
  8. Váltson a Kód lapra, hogy lekérje az alkalmazás beszédfelolvasási funkcióját használó mintakódot.

Referenciadokumentáció-csomag (NuGet) |

Ebben a rövid útmutatóban egy alkalmazást hoz létre és futtat a beszéd valós idejű felismeréséhez és szöveghez való átírásához.

Tipp

A hangfájlok gyors átírásához fontolja meg a gyors átírási API használatát. A gyors átírási API olyan funkciókat támogat, mint a nyelvazonosítás és az átírás.

A hangfájlok aszinkron átírásához lásd Mi az a kötegelt átírás. Ha nem biztos abban, hogy melyik szövegfelolvasási megoldás megfelelő az Ön számára, olvassa el a Mi az a szövegfelolvasás?

Előfeltételek

A környezet beállítása

A Speech SDK NuGet-csomagként érhető el, és a .NET Standard 2.0-t implementálja. Az útmutató későbbi részében telepítheti a Speech SDK-t. Egyéb követelményekkel kapcsolatban lásd : A Speech SDK telepítése.

Környezeti változók beállítása

Az Foundry Tools eléréséhez hitelesítenie kell az alkalmazást. Ez a cikk bemutatja, hogyan tárolhatja a hitelesítő adatait környezeti változókkal. Ezután hozzáférhet a környezeti változókhoz a kódból az alkalmazás hitelesítéséhez. A gyártási környezetben használjon biztonságosabb módot hitelesítő adatainak tárolására és elérésére.

Fontos

Az Azure-erőforrásokhoz tartozó felügyelt identitásokkal rendelkező Microsoft Entra ID-hitelesítést javasoljuk, hogy ne tárolja a hitelesítő adatokat a felhőben futó alkalmazásokkal.

Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. API-kulcsok használata esetén biztonságosan tárolhatja őket az Azure Key Vaultban, rendszeresen elforgathatja a kulcsokat, és szerepköralapú hozzáférés-vezérléssel és hálózati hozzáférés-korlátozásokkal korlátozhatja az Azure Key Vaulthoz való hozzáférést. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.

Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.

A Speech-erőforráskulcs és -végpont környezeti változóinak beállításához nyisson meg egy konzolablakot, és kövesse az operációs rendszer és a fejlesztési környezet utasításait.

  • A SPEECH_KEY környezeti változó beállításához cserélje le a kulcsot az erőforrás egyik kulcsára.
  • A ENDPOINT környezeti változó beállításához cserélje le a végpontot az erőforrás egyik végpontjára.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

Feljegyzés

Ha csak az aktuális konzolon kell hozzáférnie a környezeti változókhoz, a környezeti változót set ahelyett setxállíthatja be.

A környezeti változók hozzáadása után előfordulhat, hogy újra kell indítania a környezeti változók olvasásához szükséges programokat, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

Beszéd felismerése mikrofonból

Tipp

Próbálja ki az Azure Speech in Foundry Tools toolkit eszközt, hogy egyszerűen hozzon létre és futtasson példákat a Visual Studio Code-on.

Az alábbi lépéseket követve hozzon létre egy konzolalkalmazást, és telepítse a Speech SDK-t.

  1. Nyisson meg egy parancssori ablakot abban a mappában, ahol az új projektet szeretné. A parancs futtatásával hozzon létre egy konzolalkalmazást a .NET CLI-vel.

    dotnet new console
    

    Ez a parancs létrehozza a Program.cs fájlt a projektkönyvtárban.

  2. Telepítse a Speech SDK-t az új projektbe a .NET CLI-vel.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Cserélje le a Program.cs fájl tartalmát a következő kódra:

    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. A beszédfelismerés nyelvének módosításához cserélje le en-US egy másik támogatott nyelvre. Használja például spanyol (Spanyolország) nyelven es-ES . Ha nem ad meg nyelvet, az alapértelmezett érték a következő en-US. A több beszélt nyelv egyikének azonosításáról további információt a Nyelvazonosítás című témakörben talál.

  5. Az új konzolalkalmazás futtatásával indítsa el a beszédfelismerést egy mikrofonból:

    dotnet run
    

    Fontos

    Győződjön meg arról, hogy beállítja a SPEECH_KEY és a ENDPOINTkörnyezeti változókat. Ha nem állítja be ezeket a változókat, a minta hibaüzenettel meghiúsul.

  6. Amikor a rendszer kéri, beszéljen a mikrofonba. A beszédnek szövegként kell megjelennie:

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

Megjegyzések

Íme néhány további szempont:

  • Ez a példa a RecognizeOnceAsync művelettel legfeljebb 30 másodperces beszédelemeket ír át, vagy amíg a rendszer nem észleli a csendet. További információ a hosszabb hang folyamatos felismeréséről, beleértve a többnyelvű beszélgetéseket is, olvassa el a beszédfelismerést ismertető témakört.

  • A hangfájlból származó beszéd felismeréséhez használja FromWavFileInput a következő FromDefaultMicrophoneInputhelyett:

    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • Tömörített hangfájlok, például MP4 esetén telepítse a GStreamert, és használja PullAudioInputStream vagy PushAudioInputStream. További információ: A tömörített bemeneti hang használata.

Az erőforrások rendezettsé tétele

Az Azure Portal vagy az Azure Parancssori felület (CLI) használatával eltávolíthatja a létrehozott Speech-erőforrást.

Referenciadokumentáció-csomag (NuGet) |

Ebben a rövid útmutatóban egy alkalmazást hoz létre és futtat a beszéd valós idejű felismeréséhez és szöveghez való átírásához.

Tipp

A hangfájlok gyors átírásához fontolja meg a gyors átírási API használatát. A gyors átírási API olyan funkciókat támogat, mint a nyelvazonosítás és az átírás.

A hangfájlok aszinkron átírásához lásd Mi az a kötegelt átírás. Ha nem biztos abban, hogy melyik szövegfelolvasási megoldás megfelelő az Ön számára, olvassa el a Mi az a szövegfelolvasás?

Előfeltételek

A környezet beállítása

A Speech SDK NuGet-csomagként érhető el, és a .NET Standard 2.0-t implementálja. Az útmutató későbbi részében telepítheti a Speech SDK-t. További követelmények: A Speech SDK telepítése.

Környezeti változók beállítása

Az Foundry Tools eléréséhez hitelesítenie kell az alkalmazást. Ez a cikk bemutatja, hogyan tárolhatja a hitelesítő adatait környezeti változókkal. Ezután hozzáférhet a környezeti változókhoz a kódból az alkalmazás hitelesítéséhez. A gyártási környezetben használjon biztonságosabb módot hitelesítő adatainak tárolására és elérésére.

Fontos

Az Azure-erőforrásokhoz tartozó felügyelt identitásokkal rendelkező Microsoft Entra ID-hitelesítést javasoljuk, hogy ne tárolja a hitelesítő adatokat a felhőben futó alkalmazásokkal.

Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. API-kulcsok használata esetén biztonságosan tárolhatja őket az Azure Key Vaultban, rendszeresen elforgathatja a kulcsokat, és szerepköralapú hozzáférés-vezérléssel és hálózati hozzáférés-korlátozásokkal korlátozhatja az Azure Key Vaulthoz való hozzáférést. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.

Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.

A Speech-erőforráskulcs és -végpont környezeti változóinak beállításához nyisson meg egy konzolablakot, és kövesse az operációs rendszer és a fejlesztési környezet utasításait.

  • A SPEECH_KEY környezeti változó beállításához cserélje le a kulcsot az erőforrás egyik kulcsára.
  • A ENDPOINT környezeti változó beállításához cserélje le a végpontot az erőforrás egyik végpontjára.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

Feljegyzés

Ha csak az aktuális konzolon kell hozzáférnie a környezeti változókhoz, a környezeti változót set ahelyett setxállíthatja be.

A környezeti változók hozzáadása után előfordulhat, hogy újra kell indítania a környezeti változók olvasásához szükséges programokat, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

Beszéd felismerése mikrofonból

Tipp

Próbálja ki az Azure Speech in Foundry Tools toolkit eszközt, hogy egyszerűen hozzon létre és futtasson példákat a Visual Studio Code-on.

Az alábbi lépéseket követve hozzon létre egy konzolalkalmazást, és telepítse a Speech SDK-t.

  1. Hozzon létre egy új C++ konzolprojektet a Visual Studio Communityben.SpeechRecognition

  2. Válassza az > Csomagkezelő konzol lehetőséget. A Csomagkezelő konzolon futtassa a következő parancsot:

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Cserélje le a következő kód tartalmát SpeechRecognition.cpp :

    #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. A beszédfelismerés nyelvének módosításához cserélje le en-US egy másik támogatott nyelvre. Használja például spanyol (Spanyolország) nyelven es-ES . Ha nem ad meg nyelvet, az alapértelmezett érték a következő en-US. A több beszélt nyelv egyikének azonosításáról további információt a Nyelvazonosítás című témakörben talál.

  5. Ha mikrofonból szeretné elindítani a beszédfelismerést, hozza létre és futtassa az új konzolalkalmazást.

    Fontos

    Győződjön meg arról, hogy beállítja a SPEECH_KEY és a ENDPOINTkörnyezeti változókat. Ha nem állítja be ezeket a változókat, a minta hibaüzenettel meghiúsul.

  6. Amikor a rendszer kéri, beszéljen a mikrofonba. A beszédnek szövegként kell megjelennie:

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

Megjegyzések

Íme néhány további szempont:

  • Ez a példa a RecognizeOnceAsync művelettel legfeljebb 30 másodperces beszédelemeket ír át, vagy amíg a rendszer nem észleli a csendet. További információ a hosszabb hang folyamatos felismeréséről, beleértve a többnyelvű beszélgetéseket is, olvassa el a beszédfelismerést ismertető témakört.

  • A hangfájlból származó beszéd felismeréséhez használja FromWavFileInput a következő FromDefaultMicrophoneInputhelyett:

    auto audioConfig = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • Tömörített hangfájlok, például MP4 esetén telepítse a GStreamert, és használja PullAudioInputStream vagy PushAudioInputStream. További információ: A tömörített bemeneti hang használata.

Az erőforrások rendezettsé tétele

Az Azure Portal vagy az Azure Parancssori felület (CLI) használatával eltávolíthatja a létrehozott Speech-erőforrást.

Referenciadokumentáció csomag (Go) |

Ebben a rövid útmutatóban egy alkalmazást hoz létre és futtat a beszéd valós idejű felismeréséhez és szöveghez való átírásához.

Tipp

A hangfájlok gyors átírásához fontolja meg a gyors átírási API használatát. A gyors átírási API olyan funkciókat támogat, mint a nyelvazonosítás és az átírás.

A hangfájlok aszinkron átírásához lásd Mi az a kötegelt átírás. Ha nem biztos abban, hogy melyik szövegfelolvasási megoldás megfelelő az Ön számára, olvassa el a Mi az a szövegfelolvasás?

Előfeltételek

A környezet beállítása

Telepítse a Speech SDK-t a Go nyelvhez. A követelményekről és utasításokról a Speech SDK telepítése című témakörben olvashat.

Környezeti változók beállítása

Az Foundry Tools eléréséhez hitelesítenie kell az alkalmazást. Ez a cikk bemutatja, hogyan tárolhatja a hitelesítő adatait környezeti változókkal. Ezután hozzáférhet a környezeti változókhoz a kódból az alkalmazás hitelesítéséhez. A gyártási környezetben használjon biztonságosabb módot hitelesítő adatainak tárolására és elérésére.

Fontos

Az Azure-erőforrásokhoz tartozó felügyelt identitásokkal rendelkező Microsoft Entra ID-hitelesítést javasoljuk, hogy ne tárolja a hitelesítő adatokat a felhőben futó alkalmazásokkal.

Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. API-kulcsok használata esetén biztonságosan tárolhatja őket az Azure Key Vaultban, rendszeresen elforgathatja a kulcsokat, és szerepköralapú hozzáférés-vezérléssel és hálózati hozzáférés-korlátozásokkal korlátozhatja az Azure Key Vaulthoz való hozzáférést. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.

Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.

A Speech-erőforráskulcs és -régió környezeti változóinak beállításához nyisson meg egy konzolablakot, és kövesse az operációs rendszer és a fejlesztési környezet utasításait.

  • A SPEECH_KEY környezeti változó beállításához cserélje le a kulcsot az erőforrás egyik kulcsára.
  • A SPEECH_REGION környezeti változó beállításához cserélje le a your-region kifejezést az erőforrás egyik régiójának nevére.
  • A ENDPOINT környezeti változó beállításához cserélje le your-endpoint a Speech-erőforrás tényleges végpontjára.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Feljegyzés

Ha csak az aktuális konzolon kell hozzáférnie a környezeti változókhoz, a környezeti változót set ahelyett setxállíthatja be.

A környezeti változók hozzáadása után előfordulhat, hogy újra kell indítania a környezeti változók olvasásához szükséges programokat, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

Beszéd felismerése mikrofonból

Go-modul létrehozásához kövesse az alábbi lépéseket.

  1. Nyisson meg egy parancssori ablakot abban a mappában, ahol az új projektet szeretné. Hozzon létre egy speech-recognition.go nevű új fájlt.

  2. Másolja a következő kódot a speech-recognition.go fájlba:

    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. Futtassa a következő parancsokat egy go.mod fájl létrehozásához, amely a GitHubon üzemeltetett összetevőkre hivatkozik:

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

    Fontos

    Győződjön meg arról, hogy beállítja a SPEECH_KEY és a SPEECH_REGIONkörnyezeti változókat. Ha nem állítja be ezeket a változókat, a minta hibaüzenettel meghiúsul.

  4. Hozza létre és futtassa a kódot:

    go build
    go run speech-recognition
    

Az erőforrások rendezettsé tétele

Az Azure Portal vagy az Azure Parancssori felület (CLI) használatával eltávolíthatja a létrehozott Speech-erőforrást.

Referenciadokumentáció | További minták a GitHubon

Ebben a rövid útmutatóban egy alkalmazást hoz létre és futtat a beszéd valós idejű felismeréséhez és szöveghez való átírásához.

Tipp

A hangfájlok gyors átírásához fontolja meg a gyors átírási API használatát. A gyors átírási API olyan funkciókat támogat, mint a nyelvazonosítás és az átírás.

A hangfájlok aszinkron átírásához lásd Mi az a kötegelt átírás. Ha nem biztos abban, hogy melyik szövegfelolvasási megoldás megfelelő az Ön számára, olvassa el a Mi az a szövegfelolvasás?

Előfeltételek

A környezet beállítása

A környezet beállításához telepítse a Speech SDK-t. A rövid útmutatóban szereplő minta a Java-futtatókörnyezettel működik.

  1. Telepítse az Apache Maven-t. Ezután futtassa mvn -v a sikeres telepítés megerősítéséhez.

  2. Hozzon létre egy új pom.xml fájlt a projekt gyökerében, és másolja bele a következő kódot:

    <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. Telepítse a Speech SDK-t és a függőségeket.

    mvn clean dependency:copy-dependencies
    

Környezeti változók beállítása

Az Foundry Tools eléréséhez hitelesítenie kell az alkalmazást. Ez a cikk bemutatja, hogyan tárolhatja a hitelesítő adatait környezeti változókkal. Ezután hozzáférhet a környezeti változókhoz a kódból az alkalmazás hitelesítéséhez. A gyártási környezetben használjon biztonságosabb módot hitelesítő adatainak tárolására és elérésére.

Fontos

Az Azure-erőforrásokhoz tartozó felügyelt identitásokkal rendelkező Microsoft Entra ID-hitelesítést javasoljuk, hogy ne tárolja a hitelesítő adatokat a felhőben futó alkalmazásokkal.

Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. API-kulcsok használata esetén biztonságosan tárolhatja őket az Azure Key Vaultban, rendszeresen elforgathatja a kulcsokat, és szerepköralapú hozzáférés-vezérléssel és hálózati hozzáférés-korlátozásokkal korlátozhatja az Azure Key Vaulthoz való hozzáférést. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.

Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.

A Speech-erőforráskulcs és -végpont környezeti változóinak beállításához nyisson meg egy konzolablakot, és kövesse az operációs rendszer és a fejlesztési környezet utasításait.

  • A SPEECH_KEY környezeti változó beállításához cserélje le a kulcsot az erőforrás egyik kulcsára.
  • A ENDPOINT környezeti változó beállításához cserélje le a végpontot az erőforrás egyik végpontjára.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

Feljegyzés

Ha csak az aktuális konzolon kell hozzáférnie a környezeti változókhoz, a környezeti változót set ahelyett setxállíthatja be.

A környezeti változók hozzáadása után előfordulhat, hogy újra kell indítania a környezeti változók olvasásához szükséges programokat, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

Beszéd felismerése mikrofonból

Az alábbi lépéseket követve hozzon létre egy konzolalkalmazást a beszédfelismeréshez.

  1. Hozzon létre egy SpeechRecognition.java nevű új fájlt ugyanabban a projekt gyökérkönyvtárában.

  2. Másolja a következő kódot a SpeechRecognition.java:

    import com.microsoft.cognitiveservices.speech.*;
    import com.microsoft.cognitiveservices.speech.audio.AudioConfig;
    
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.Future;
    
    public class SpeechRecognition {
        // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT"
        private static String speechKey = System.getenv("SPEECH_KEY");
        private static String endpoint = System.getenv("ENDPOINT");
    
        public static void main(String[] args) throws InterruptedException, ExecutionException {
            SpeechConfig speechConfig = SpeechConfig.fromEndpoint(speechKey, endpoint);
            speechConfig.setSpeechRecognitionLanguage("en-US");
            recognizeFromMicrophone(speechConfig);
        }
    
        public static void recognizeFromMicrophone(SpeechConfig speechConfig) throws InterruptedException, ExecutionException {
            AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput();
            SpeechRecognizer speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
    
            System.out.println("Speak into your microphone.");
            Future<SpeechRecognitionResult> task = speechRecognizer.recognizeOnceAsync();
            SpeechRecognitionResult speechRecognitionResult = task.get();
    
            if (speechRecognitionResult.getReason() == ResultReason.RecognizedSpeech) {
                System.out.println("RECOGNIZED: Text=" + speechRecognitionResult.getText());
            }
            else if (speechRecognitionResult.getReason() == ResultReason.NoMatch) {
                System.out.println("NOMATCH: Speech could not be recognized.");
            }
            else if (speechRecognitionResult.getReason() == ResultReason.Canceled) {
                CancellationDetails cancellation = CancellationDetails.fromResult(speechRecognitionResult);
                System.out.println("CANCELED: Reason=" + cancellation.getReason());
    
                if (cancellation.getReason() == CancellationReason.Error) {
                    System.out.println("CANCELED: ErrorCode=" + cancellation.getErrorCode());
                    System.out.println("CANCELED: ErrorDetails=" + cancellation.getErrorDetails());
                    System.out.println("CANCELED: Did you set the speech resource key and endpoint values?");
                }
            }
    
            System.exit(0);
        }
    }
    
  3. A beszédfelismerés nyelvének módosításához cserélje le en-US egy másik támogatott nyelvre. Használja például spanyol (Spanyolország) nyelven es-ES . Ha nem ad meg nyelvet, az alapértelmezett érték a következő en-US. A több beszélt nyelv egyikének azonosításáról további információt a Nyelvazonosítás című témakörben talál.

  4. Az új konzolalkalmazás futtatásával indítsa el a beszédfelismerést egy mikrofonból:

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

    Fontos

    Győződjön meg arról, hogy beállítja a SPEECH_KEY és a ENDPOINTkörnyezeti változókat. Ha nem állítja be ezeket a változókat, a minta hibaüzenettel meghiúsul.

  5. Amikor a rendszer kéri, beszéljen a mikrofonba. A beszédnek szövegként kell megjelennie:

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

Megjegyzések

Íme néhány további szempont:

  • Ez a példa a RecognizeOnceAsync művelettel legfeljebb 30 másodperces beszédelemeket ír át, vagy amíg a rendszer nem észleli a csendet. További információ a hosszabb hang folyamatos felismeréséről, beleértve a többnyelvű beszélgetéseket is, olvassa el a beszédfelismerést ismertető témakört.

  • A hangfájlból származó beszéd felismeréséhez használja fromWavFileInput a következő fromDefaultMicrophoneInputhelyett:

    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • Tömörített hangfájlok, például MP4 esetén telepítse a GStreamert, és használja PullAudioInputStream vagy PushAudioInputStream. További információ: A tömörített bemeneti hang használata.

Az erőforrások rendezettsé tétele

Az Azure Portal vagy az Azure Parancssori felület (CLI) használatával eltávolíthatja a létrehozott Speech-erőforrást.

Referenciadokumentáció | Csomag (npm) | További példák a GitHubon | Könyvtár forráskód

Ebben a rövid útmutatóban egy alkalmazást hoz létre és futtat a beszéd valós idejű felismeréséhez és szöveghez való átírásához.

Tipp

A hangfájlok gyors átírásához fontolja meg a gyors átírási API használatát. A gyors átírási API olyan funkciókat támogat, mint a nyelvazonosítás és az átírás.

A hangfájlok aszinkron átírásához lásd Mi az a kötegelt átírás. Ha nem biztos abban, hogy melyik szövegfelolvasási megoldás megfelelő az Ön számára, olvassa el a Mi az a szövegfelolvasás?

Előfeltételek

Szüksége van egy .wav hangfájlra is a helyi gépen. Használhatja saját .wav fájlját (legfeljebb 30 másodpercig), vagy letöltheti a mintafájlt https://crbn.us/whatstheweatherlike.wav .

Beállítás

  1. Hozzon létre egy új mappát transcription-quickstart, és lépjen a rövid útmutató mappába a következő paranccsal:

    mkdir transcription-quickstart && cd transcription-quickstart
    
  2. Hozza létre a package.json következő paranccsal:

    npm init -y
    
  3. Telepítse a JavaScripthez készült Speech SDK-t a következőkkel:

    npm install microsoft-cognitiveservices-speech-sdk
    

Erőforrásadatok lekérése

Az Foundry Tools eléréséhez hitelesítenie kell az alkalmazást. Ez a cikk bemutatja, hogyan tárolhatja a hitelesítő adatait környezeti változókkal. Ezután hozzáférhet a környezeti változókhoz a kódból az alkalmazás hitelesítéséhez. A gyártási környezetben használjon biztonságosabb módot hitelesítő adatainak tárolására és elérésére.

Fontos

Az Azure-erőforrásokhoz tartozó felügyelt identitásokkal rendelkező Microsoft Entra ID-hitelesítést javasoljuk, hogy ne tárolja a hitelesítő adatokat a felhőben futó alkalmazásokkal.

Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. API-kulcsok használata esetén biztonságosan tárolhatja őket az Azure Key Vaultban, rendszeresen elforgathatja a kulcsokat, és szerepköralapú hozzáférés-vezérléssel és hálózati hozzáférés-korlátozásokkal korlátozhatja az Azure Key Vaulthoz való hozzáférést. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.

Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.

A Speech-erőforráskulcs és -régió környezeti változóinak beállításához nyisson meg egy konzolablakot, és kövesse az operációs rendszer és a fejlesztési környezet utasításait.

  • A SPEECH_KEY környezeti változó beállításához cserélje le a kulcsot az erőforrás egyik kulcsára.
  • A SPEECH_REGION környezeti változó beállításához cserélje le a your-region kifejezést az erőforrás egyik régiójának nevére.
  • A ENDPOINT környezeti változó beállításához cserélje le your-endpoint a Speech-erőforrás tényleges végpontjára.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Feljegyzés

Ha csak az aktuális konzolon kell hozzáférnie a környezeti változókhoz, a környezeti változót set ahelyett setxállíthatja be.

A környezeti változók hozzáadása után előfordulhat, hogy újra kell indítania a környezeti változók olvasásához szükséges programokat, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

Beszédfelismerés végrehajtása fájlból

Beszéd átírása fájlból:

  1. Hozzon létre egy transcription.jsnevű új fájlt a következő tartalommal:

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

    Cserélje le a transcription.js-ban a YourAudioFile.wav fájlt a saját .wav fájljára. Ez a példa csak egy .wav fájlból ismeri fel a beszédet. További információ az egyéb hangformátumokról: A tömörített bemeneti hang használata. Ez a példa legfeljebb 30 másodpercnyi hangot támogat.

    A beszédfelismerés nyelvének módosításához cserélje le en-US egy másik támogatott nyelvre. Használja például spanyol (Spanyolország) nyelven es-ES . Ha nem ad meg nyelvet, az alapértelmezett érték a következő en-US. A több beszélt nyelv egyikének azonosításáról további információt a Nyelvazonosítás című témakörben talál.

  2. Futtassa az új konzolalkalmazást a fájlalapú beszédfelismerés indításához.

    node transcription.js
    

Várjon néhány percet, hogy megkapja a választ.

Kimenet

A hangfájlból származó beszédnek szövegként kell kimenetnek lennie:

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

Megjegyzések

Ez a példa a recognizeOnceAsync művelettel legfeljebb 30 másodperces beszédelemeket ír át, vagy amíg a rendszer nem észleli a csendet. További információ a hosszabb hang folyamatos felismeréséről, beleértve a többnyelvű beszélgetéseket is, olvassa el a beszédfelismerést ismertető témakört.

Feljegyzés

A mikrofonból való beszédfelismerés nem támogatott a Node.js. Csak böngészőalapú JavaScript-környezetben támogatott. További információkért tekintse meg a React-mintát és a beszéd szöveggé alakítását egy mikrofonból a GitHubon.

A React-minta a hitelesítési jogkivonatok cseréjének és kezelésének tervezési mintáit mutatja be. Emellett a mikrofonból vagy fájlból a beszéd szövegkonvertálására szolgáló hangrögzítést is megjeleníti.

Az erőforrások rendezettsé tétele

Az Azure Portal vagy az Azure Parancssori felület (CLI) használatával eltávolíthatja a létrehozott Speech-erőforrást.

Referenciadokumentáció csomag (PyPi) |

Ebben a rövid útmutatóban egy alkalmazást hoz létre és futtat a beszéd valós idejű felismeréséhez és szöveghez való átírásához.

Tipp

A hangfájlok gyors átírásához fontolja meg a gyors átírási API használatát. A gyors átírási API olyan funkciókat támogat, mint a nyelvazonosítás és az átírás.

A hangfájlok aszinkron átírásához lásd Mi az a kötegelt átírás. Ha nem biztos abban, hogy melyik szövegfelolvasási megoldás megfelelő az Ön számára, olvassa el a Mi az a szövegfelolvasás?

Előfeltételek

A környezet beállítása

A Pythonhoz készült Speech SDK a Python-csomagindexen (PyPI) modulként érhető el. A PythonHoz készült Speech SDK kompatibilis a Windows, a Linux és a macOS rendszerrel.

  • Windows esetén telepítse a Visual Studio 2015, 2017, 2019 és 2022 Microsoft Visual C++ terjeszthető verzióját a platformhoz. A csomag első telepítése újraindítást igényelhet.
  • Linuxon az x64-alapú célarchitektúrát kell használnia.

Telepítse a Python 3.7-es vagy újabb verzióját. További követelmények: A Speech SDK telepítése.

Környezeti változók beállítása

Az Foundry Tools eléréséhez hitelesítenie kell az alkalmazást. Ez a cikk bemutatja, hogyan tárolhatja a hitelesítő adatait környezeti változókkal. Ezután hozzáférhet a környezeti változókhoz a kódból az alkalmazás hitelesítéséhez. A gyártási környezetben használjon biztonságosabb módot hitelesítő adatainak tárolására és elérésére.

Fontos

Az Azure-erőforrásokhoz tartozó felügyelt identitásokkal rendelkező Microsoft Entra ID-hitelesítést javasoljuk, hogy ne tárolja a hitelesítő adatokat a felhőben futó alkalmazásokkal.

Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. API-kulcsok használata esetén biztonságosan tárolhatja őket az Azure Key Vaultban, rendszeresen elforgathatja a kulcsokat, és szerepköralapú hozzáférés-vezérléssel és hálózati hozzáférés-korlátozásokkal korlátozhatja az Azure Key Vaulthoz való hozzáférést. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.

Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.

A Speech-erőforráskulcs és -végpont környezeti változóinak beállításához nyisson meg egy konzolablakot, és kövesse az operációs rendszer és a fejlesztési környezet utasításait.

  • A SPEECH_KEY környezeti változó beállításához cserélje le a kulcsot az erőforrás egyik kulcsára.
  • A ENDPOINT környezeti változó beállításához cserélje le a végpontot az erőforrás egyik végpontjára.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

Feljegyzés

Ha csak az aktuális konzolon kell hozzáférnie a környezeti változókhoz, a környezeti változót set ahelyett setxállíthatja be.

A környezeti változók hozzáadása után előfordulhat, hogy újra kell indítania a környezeti változók olvasásához szükséges programokat, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

Beszéd felismerése mikrofonból

Tipp

Próbálja ki az Azure Speech in Foundry Tools toolkit eszközt, hogy egyszerűen hozzon létre és futtasson példákat a Visual Studio Code-on.

Kövesse az alábbi lépéseket egy konzolalkalmazás létrehozásához.

  1. Nyisson meg egy parancssori ablakot abban a mappában, ahol az új projektet szeretné. Hozzon létre egy speech_recognition.py nevű új fájlt.

  2. Futtassa ezt a parancsot a Speech SDK telepítéséhez:

    pip install azure-cognitiveservices-speech
    
  3. Másolja a következő kódot a speech_recognition.py:

    import os
    import azure.cognitiveservices.speech as speechsdk
    
    def recognize_from_microphone():
         # This example requires environment variables named "SPEECH_KEY" and "ENDPOINT"
         # Replace with your own subscription key and endpoint, the endpoint is like : "https://YourServiceRegion.api.cognitive.microsoft.com"
        speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), endpoint=os.environ.get('ENDPOINT'))
        speech_config.speech_recognition_language="en-US"
    
        audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
        speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config)
    
        print("Speak into your microphone.")
        speech_recognition_result = speech_recognizer.recognize_once_async().get()
    
        if speech_recognition_result.reason == speechsdk.ResultReason.RecognizedSpeech:
            print("Recognized: {}".format(speech_recognition_result.text))
        elif speech_recognition_result.reason == speechsdk.ResultReason.NoMatch:
            print("No speech could be recognized: {}".format(speech_recognition_result.no_match_details))
        elif speech_recognition_result.reason == speechsdk.ResultReason.Canceled:
            cancellation_details = speech_recognition_result.cancellation_details
            print("Speech Recognition canceled: {}".format(cancellation_details.reason))
            if cancellation_details.reason == speechsdk.CancellationReason.Error:
                print("Error details: {}".format(cancellation_details.error_details))
                print("Did you set the speech resource key and endpoint values?")
    
    recognize_from_microphone()
    
  4. A beszédfelismerés nyelvének módosításához cserélje le en-US egy másik támogatott nyelvre. Használja például spanyol (Spanyolország) nyelven es-ES . Ha nem ad meg nyelvet, az alapértelmezett érték a következő en-US. A több beszélt nyelv egyikének azonosításáról további információt a nyelvazonosítás című témakörben talál.

  5. Az új konzolalkalmazás futtatásával indítsa el a beszédfelismerést egy mikrofonból:

    python speech_recognition.py
    

    Fontos

    Győződjön meg arról, hogy beállítja a SPEECH_KEY és a ENDPOINTkörnyezeti változókat. Ha nem állítja be ezeket a változókat, a minta hibaüzenettel meghiúsul.

  6. Amikor a rendszer kéri, beszéljen a mikrofonba. A beszédnek szövegként kell megjelennie:

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

Megjegyzések

Íme néhány további szempont:

  • Ez a példa a recognize_once_async művelettel legfeljebb 30 másodperces beszédelemeket ír át, vagy amíg a rendszer nem észleli a csendet. További információ a hosszabb hang folyamatos felismeréséről, beleértve a többnyelvű beszélgetéseket is, olvassa el a beszédfelismerést ismertető témakört.

  • A hangfájlból származó beszéd felismeréséhez használja filename a következő use_default_microphonehelyett:

    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • Tömörített hangfájlok, például MP4 esetén telepítse a GStreamert, és használja PullAudioInputStream vagy PushAudioInputStream. További információ: A tömörített bemeneti hang használata.

Az erőforrások rendezettsé tétele

Az Azure Portal vagy az Azure Parancssori felület (CLI) használatával eltávolíthatja a létrehozott Speech-erőforrást.

Referenciadokumentáció csomag (letöltés) |

Ebben a rövid útmutatóban egy alkalmazást hoz létre és futtat a beszéd valós idejű felismeréséhez és szöveghez való átírásához.

Tipp

A hangfájlok gyors átírásához fontolja meg a gyors átírási API használatát. A gyors átírási API olyan funkciókat támogat, mint a nyelvazonosítás és az átírás.

A hangfájlok aszinkron átírásához lásd Mi az a kötegelt átírás. Ha nem biztos abban, hogy melyik szövegfelolvasási megoldás megfelelő az Ön számára, olvassa el a Mi az a szövegfelolvasás?

Előfeltételek

A környezet beállítása

A Speech SDK for Swift keretrendszercsomagként van elosztva. A keretrendszer támogatja az Objective-C-t és a Swiftet iOS és macOS rendszeren is.

A Speech SDK használható Xcode-projektekben CocoaPodként, vagy közvetlenül letöltve és manuálisan csatolva. Ez az útmutató egy CocoaPodot használ. Telepítse a CocoaPod függőségkezelőt a telepítési útmutatóban leírtak szerint.

Környezeti változók beállítása

Az Foundry Tools eléréséhez hitelesítenie kell az alkalmazást. Ez a cikk bemutatja, hogyan tárolhatja a hitelesítő adatait környezeti változókkal. Ezután hozzáférhet a környezeti változókhoz a kódból az alkalmazás hitelesítéséhez. A gyártási környezetben használjon biztonságosabb módot hitelesítő adatainak tárolására és elérésére.

Fontos

Az Azure-erőforrásokhoz tartozó felügyelt identitásokkal rendelkező Microsoft Entra ID-hitelesítést javasoljuk, hogy ne tárolja a hitelesítő adatokat a felhőben futó alkalmazásokkal.

Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. API-kulcsok használata esetén biztonságosan tárolhatja őket az Azure Key Vaultban, rendszeresen elforgathatja a kulcsokat, és szerepköralapú hozzáférés-vezérléssel és hálózati hozzáférés-korlátozásokkal korlátozhatja az Azure Key Vaulthoz való hozzáférést. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.

Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.

A Speech-erőforráskulcs és -régió környezeti változóinak beállításához nyisson meg egy konzolablakot, és kövesse az operációs rendszer és a fejlesztési környezet utasításait.

  • A SPEECH_KEY környezeti változó beállításához cserélje le a kulcsot az erőforrás egyik kulcsára.
  • A SPEECH_REGION környezeti változó beállításához cserélje le a your-region kifejezést az erőforrás egyik régiójának nevére.
  • A ENDPOINT környezeti változó beállításához cserélje le your-endpoint a Speech-erőforrás tényleges végpontjára.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Feljegyzés

Ha csak az aktuális konzolon kell hozzáférnie a környezeti változókhoz, a környezeti változót set ahelyett setxállíthatja be.

A környezeti változók hozzáadása után előfordulhat, hogy újra kell indítania a környezeti változók olvasásához szükséges programokat, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

Beszéd felismerése mikrofonból

A macOS-alkalmazások beszédfelismeréséhez kövesse az alábbi lépéseket.

  1. Klónozza az Azure-Samples/cognitive-services-speech-sdk adattárat, hogy lekérje a beszédfelismerést egy mikrofonból a Swiftben macOS-mintaprojekten . Az adattár iOS-mintákkal is rendelkezik.

  2. Lépjen a letöltött mintaalkalmazás (helloworld) könyvtárára egy terminálban.

  3. Futtassa a következő parancsot: pod install. Ez a parancs létrehoz egy helloworld.xcworkspace Xcode-munkaterületet, amely függőségként tartalmazza a mintaalkalmazást és a Speech SDK-t is.

  4. Nyissa meg a munkaterületet helloworld.xcworkspace az Xcode-ban.

  5. Nyissa meg az AppDelegate.swift nevű fájlt, és keresse meg az applicationDidFinishLaunching itt látható módszereket és recognizeFromMic metódusokat.

    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. Az AppDelegate.m-ben használja a Speech-erőforráskulcshoz és -régióhoz korábban beállított környezeti változókat.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. A beszédfelismerés nyelvének módosításához cserélje le en-US egy másik támogatott nyelvre. Használja például spanyol (Spanyolország) nyelven es-ES . Ha nem ad meg nyelvet, az alapértelmezett érték a következő en-US. A több beszélt nyelv egyikének azonosításáról további információt a Nyelvazonosítás című témakörben talál.

  8. Ha láthatóvá szeretné tenni a hibakeresési kimenetet, válassza a Megtekintés>Hibakeresési terület>Konzol aktiválása lehetőséget.

  9. A példakód létrehozásához és futtatásához válassza lehetőséget a menüből, vagy válassza a > gombot.

    Fontos

    Győződjön meg arról, hogy beállítja a SPEECH_KEY és a SPEECH_REGIONkörnyezeti változókat. Ha nem állítja be ezeket a változókat, a minta hibaüzenettel meghiúsul.

Miután kiválasztotta az appban a gombot, és kimondott néhány szót, a képernyő alsó részén látható szövegnek kell megjelennie. Amikor első alkalommal futtatja az alkalmazást, az arra kéri, hogy adjon hozzáférést az alkalmazásnak a számítógép mikrofonjához.

Megjegyzések

Ez a példa a recognizeOnce művelettel legfeljebb 30 másodperces beszédelemeket ír át, vagy amíg a rendszer nem észleli a csendet. További információ a hosszabb hang folyamatos felismeréséről, beleértve a többnyelvű beszélgetéseket is, olvassa el a beszédfelismerést ismertető témakört.

Objective-C

Az Objective-C-hez készült Speech SDK megosztja az ügyfélkódtárakat és a referenciadokumentációt a Swifthez készült Speech SDK-val. Objective-C-kód példákért tekintse meg az Objective-C mikrofonjának beszédfelismerését macOS-mintaprojekten a GitHubon.

Az erőforrások rendezettsé tétele

Az Azure Portal vagy az Azure Parancssori felület (CLI) használatával eltávolíthatja a létrehozott Speech-erőforrást.

Referenciadokumentáció | Csomag (npm) | További példák a GitHubon | Könyvtár forráskód

Ebben a rövid útmutatóban egy alkalmazást hoz létre és futtat a beszéd valós idejű felismeréséhez és szöveghez való átírásához.

Tipp

A hangfájlok gyors átírásához fontolja meg a gyors átírási API használatát. A gyors átírási API olyan funkciókat támogat, mint a nyelvazonosítás és az átírás.

A hangfájlok aszinkron átírásához lásd Mi az a kötegelt átírás. Ha nem biztos abban, hogy melyik szövegfelolvasási megoldás megfelelő az Ön számára, olvassa el a Mi az a szövegfelolvasás?

Előfeltételek

Szüksége van egy .wav hangfájlra is a helyi gépen. Használhatja saját .wav fájlját (legfeljebb 30 másodpercig), vagy letöltheti a mintafájlt https://crbn.us/whatstheweatherlike.wav .

Beállítás

  1. Hozzon létre egy új mappát transcription-quickstart, és lépjen a rövid útmutató mappába a következő paranccsal:

    mkdir transcription-quickstart && cd transcription-quickstart
    
  2. Hozza létre a package.json következő paranccsal:

    npm init -y
    
  3. Frissítse a package.json ECMAScriptre a következő paranccsal:

    npm pkg set type=module
    
  4. Telepítse a JavaScripthez készült Speech SDK-t a következőkkel:

    npm install microsoft-cognitiveservices-speech-sdk
    
  5. A TypeScript-hibák elkerülése érdekében telepítenie kell a Node.js típusdefiníciókat. Futtassa a következő parancsot:

    npm install --save-dev @types/node
    

Erőforrásadatok lekérése

Az Foundry Tools eléréséhez hitelesítenie kell az alkalmazást. Ez a cikk bemutatja, hogyan tárolhatja a hitelesítő adatait környezeti változókkal. Ezután hozzáférhet a környezeti változókhoz a kódból az alkalmazás hitelesítéséhez. A gyártási környezetben használjon biztonságosabb módot hitelesítő adatainak tárolására és elérésére.

Fontos

Az Azure-erőforrásokhoz tartozó felügyelt identitásokkal rendelkező Microsoft Entra ID-hitelesítést javasoljuk, hogy ne tárolja a hitelesítő adatokat a felhőben futó alkalmazásokkal.

Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. API-kulcsok használata esetén biztonságosan tárolhatja őket az Azure Key Vaultban, rendszeresen elforgathatja a kulcsokat, és szerepköralapú hozzáférés-vezérléssel és hálózati hozzáférés-korlátozásokkal korlátozhatja az Azure Key Vaulthoz való hozzáférést. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.

Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.

A Speech-erőforráskulcs és -régió környezeti változóinak beállításához nyisson meg egy konzolablakot, és kövesse az operációs rendszer és a fejlesztési környezet utasításait.

  • A SPEECH_KEY környezeti változó beállításához cserélje le a kulcsot az erőforrás egyik kulcsára.
  • A SPEECH_REGION környezeti változó beállításához cserélje le a your-region kifejezést az erőforrás egyik régiójának nevére.
  • A ENDPOINT környezeti változó beállításához cserélje le your-endpoint a Speech-erőforrás tényleges végpontjára.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Feljegyzés

Ha csak az aktuális konzolon kell hozzáférnie a környezeti változókhoz, a környezeti változót set ahelyett setxállíthatja be.

A környezeti változók hozzáadása után előfordulhat, hogy újra kell indítania a környezeti változók olvasásához szükséges programokat, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

Beszédfelismerés végrehajtása fájlból

Beszéd átírása fájlból:

  1. Hozzon létre egy transcription.ts nevű új fájlt a következő tartalommal:

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

    Az transcription.ts fájlban cserélje le YourAudioFile.wav saját .wav fájljára. Ez a példa csak egy .wav fájlból ismeri fel a beszédet. További információ az egyéb hangformátumokról: A tömörített bemeneti hang használata. Ez a példa legfeljebb 30 másodpercnyi hangot támogat.

    A beszédfelismerés nyelvének módosításához cserélje le en-US egy másik támogatott nyelvre. Használja például spanyol (Spanyolország) nyelven es-ES . Ha nem ad meg nyelvet, az alapértelmezett érték a következő en-US. A több beszélt nyelv egyikének azonosításáról további információt a Nyelvazonosítás című témakörben talál.

  2. Hozza létre a fájlt a tsconfig.json TypeScript-kód fordításához, és másolja a következő kódot az ECMAScripthez.

    {
        "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. Transpilálás TypeScriptről JavaScriptre.

    tsc
    

    Ennek a parancsnak nem kell kimenetet létrehoznia, ha sikeres.

  4. Futtassa az új konzolalkalmazást a fájlalapú beszédfelismerés indításához.

    node transcription.js
    

Várjon néhány percet, hogy megkapja a választ.

Kimenet

A hangfájlból származó beszédnek szövegként kell kimenetnek lennie:

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

Megjegyzések

Ez a példa a recognizeOnceAsync művelettel legfeljebb 30 másodperces beszédelemeket ír át, vagy amíg a rendszer nem észleli a csendet. További információ a hosszabb hang folyamatos felismeréséről, beleértve a többnyelvű beszélgetéseket is, olvassa el a beszédfelismerést ismertető témakört.

Az erőforrások rendezettsé tétele

Az Azure Portal vagy az Azure Parancssori felület (CLI) használatával eltávolíthatja a létrehozott Speech-erőforrást.

Beszéd-szöveg REST API referenciája | Beszéd-szöveg REST API rövid hanganyaghoz való referenciája | További minták a GitHubon

Ebben a rövid útmutatóban egy alkalmazást hoz létre és futtat a beszéd valós idejű felismeréséhez és szöveghez való átírásához.

Tipp

A hangfájlok gyors átírásához fontolja meg a gyors átírási API használatát. A gyors átírási API olyan funkciókat támogat, mint a nyelvazonosítás és az átírás.

A hangfájlok aszinkron átírásához lásd Mi az a kötegelt átírás. Ha nem biztos abban, hogy melyik szövegfelolvasási megoldás megfelelő az Ön számára, olvassa el a Mi az a szövegfelolvasás?

Előfeltételek

Szüksége van egy .wav hangfájlra is a helyi gépen. Használhatja a saját .wav fájlját akár 60 másodpercig, vagy letöltheti a mintafájlt https://crbn.us/whatstheweatherlike.wav .

Környezeti változók beállítása

Az Foundry Tools eléréséhez hitelesítenie kell az alkalmazást. Ez a cikk bemutatja, hogyan tárolhatja a hitelesítő adatait környezeti változókkal. Ezután hozzáférhet a környezeti változókhoz a kódból az alkalmazás hitelesítéséhez. A gyártási környezetben használjon biztonságosabb módot hitelesítő adatainak tárolására és elérésére.

Fontos

Az Azure-erőforrásokhoz tartozó felügyelt identitásokkal rendelkező Microsoft Entra ID-hitelesítést javasoljuk, hogy ne tárolja a hitelesítő adatokat a felhőben futó alkalmazásokkal.

Óvatosan használja az API-kulcsokat. Ne foglalja bele közvetlenül az API-kulcsot a kódba, és soha ne tegye közzé nyilvánosan. API-kulcsok használata esetén biztonságosan tárolhatja őket az Azure Key Vaultban, rendszeresen elforgathatja a kulcsokat, és szerepköralapú hozzáférés-vezérléssel és hálózati hozzáférés-korlátozásokkal korlátozhatja az Azure Key Vaulthoz való hozzáférést. További információ az API-kulcsok biztonságos használatáról az alkalmazásokban: API-kulcsok az Azure Key Vaulttal.

Az AI-szolgáltatások biztonságáról további információt az Azure AI-szolgáltatásokhoz érkező kérelmek hitelesítése című témakörben talál.

A Speech-erőforráskulcs és -régió környezeti változóinak beállításához nyisson meg egy konzolablakot, és kövesse az operációs rendszer és a fejlesztési környezet utasításait.

  • A SPEECH_KEY környezeti változó beállításához cserélje le a kulcsot az erőforrás egyik kulcsára.
  • A SPEECH_REGION környezeti változó beállításához cserélje le a your-region kifejezést az erőforrás egyik régiójának nevére.
  • A ENDPOINT környezeti változó beállításához cserélje le your-endpoint a Speech-erőforrás tényleges végpontjára.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Feljegyzés

Ha csak az aktuális konzolon kell hozzáférnie a környezeti változókhoz, a környezeti változót set ahelyett setxállíthatja be.

A környezeti változók hozzáadása után előfordulhat, hogy újra kell indítania a környezeti változók olvasásához szükséges programokat, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

Beszédfelismerés végrehajtása fájlból

Nyisson meg egy konzolablakot, és futtassa a következő cURL-parancsot. Cserélje le YourAudioFile.wav saját hangfájljának elérési útjára és nevére.

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"

Fontos

Győződjön meg arról, hogy beállítja a SPEECH_KEY és a SPEECH_REGIONkörnyezeti változókat. Ha nem állítja be ezeket a változókat, a minta hibaüzenettel meghiúsul.

Az itt láthatóhoz hasonló választ kell kapnia. A DisplayText hangfájlból felismert szövegnek kell lennie. A parancs legfeljebb 60 másodpercnyi hangot ismer fel, és szöveggé alakítja.

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

További információért lásd: Speech to text REST API rövid hanganyaghoz.

Az erőforrások rendezettsé tétele

Az Azure Portal vagy az Azure Parancssori felület (CLI) használatával eltávolíthatja a létrehozott Speech-erőforrást.

Következő lépés