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

Referenciadokumentáció-csomag (NuGet) | További minták a GitHubon |

Ebben a rövid útmutatóban egy alkalmazást futtat, amely lefordítja a beszédet egy nyelvről egy másik nyelven lévő szövegre.

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, de először ellenőrizze az SDK telepítési útmutatóját a további követelményekkel kapcsolatban.

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

Az alkalmazásnak hitelesítenie kell az Azure AI-szolgáltatások erőforrásainak eléréséhez. Éles környezetben használjon biztonságos módot a hitelesítő adatok tárolására és elérésére. Miután például lekérte a Speech-erőforrás kulcsát , írja be egy új környezeti változóba az alkalmazást futtató helyi gépen.

Tipp.

Ne vegye fel közvetlenül a kulcsot a kódba, és soha ne tegye közzé nyilvánosan. További hitelesítési lehetőségeket, például az Azure Key Vaultot az Azure AI-szolgáltatások biztonságában talál.

A Speech erőforráskulcs környezeti változójának 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 régiót az erőforrás egyik régiójára.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

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ó 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 fordítása mikrofonból

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

  1. Nyisson meg egy parancssort, ahol az új projektet szeretné, és hozzon létre egy konzolalkalmazást a .NET CLI-vel. A Program.cs fájlt a projektkönyvtárban kell létrehozni.

    dotnet new console
    
  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 tartalomra Program.cs a következő kódot.

    using System;
    using System.IO;
    using System.Threading.Tasks;
    using Microsoft.CognitiveServices.Speech;
    using Microsoft.CognitiveServices.Speech.Audio;
    using Microsoft.CognitiveServices.Speech.Translation;
    
    class Program 
    {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY");
        static string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION");
    
        static void OutputSpeechRecognitionResult(TranslationRecognitionResult translationRecognitionResult)
        {
            switch (translationRecognitionResult.Reason)
            {
                case ResultReason.TranslatedSpeech:
                    Console.WriteLine($"RECOGNIZED: Text={translationRecognitionResult.Text}");
                    foreach (var element in translationRecognitionResult.Translations)
                    {
                        Console.WriteLine($"TRANSLATED into '{element.Key}': {element.Value}");
                    }
                    break;
                case ResultReason.NoMatch:
                    Console.WriteLine($"NOMATCH: Speech could not be recognized.");
                    break;
                case ResultReason.Canceled:
                    var cancellation = CancellationDetails.FromResult(translationRecognitionResult);
                    Console.WriteLine($"CANCELED: Reason={cancellation.Reason}");
    
                    if (cancellation.Reason == CancellationReason.Error)
                    {
                        Console.WriteLine($"CANCELED: ErrorCode={cancellation.ErrorCode}");
                        Console.WriteLine($"CANCELED: ErrorDetails={cancellation.ErrorDetails}");
                        Console.WriteLine($"CANCELED: Did you set the speech resource key and region values?");
                    }
                    break;
            }
        }
    
        async static Task Main(string[] args)
        {
            var speechTranslationConfig = SpeechTranslationConfig.FromSubscription(speechKey, speechRegion);        
            speechTranslationConfig.SpeechRecognitionLanguage = "en-US";
            speechTranslationConfig.AddTargetLanguage("it");
    
            using var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
            using var translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig);
    
            Console.WriteLine("Speak into your microphone.");
            var translationRecognitionResult = await translationRecognizer.RecognizeOnceAsync();
            OutputSpeechRecognitionResult(translationRecognitionResult);
        }
    }
    
  4. A beszédfelismerés nyelvének módosításához cserélje le en-US egy másik támogatott nyelvre. Adja meg a teljes területi beállításokat egy kötőjel (-) elválasztójellel. Például a es-ES spanyol (Spanyolország) esetében. Az alapértelmezett nyelv az en-US , ha nem ad meg nyelvet. 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. A fordítási célnyelv módosításához cserélje le it egy másik támogatott nyelvre. Néhány kivételtől eltekintve csak a területi kötőjel (-) elválasztójelet megelőző nyelvi kódot adja meg. Használja például es spanyol (Spanyolország) helyett es-ES. Az alapértelmezett nyelv az en , ha nem ad meg nyelvet.

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

dotnet run

Amikor a rendszer kéri, beszéljen a mikrofonba. A kimondott szövegnek lefordított szövegként kell megjelennie a célnyelven:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale.

Megjegyzések

Most, hogy elvégezte a rövid útmutatót, í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éd fordítása című 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 eltávolítása

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) | További minták a GitHubon |

Ebben a rövid útmutatóban egy alkalmazást futtat, amely lefordítja a beszédet egy nyelvről egy másik nyelven lévő szövegre.

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, de először tekintse meg az SDK telepítési útmutatóját a további követelményekről

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

Az alkalmazásnak hitelesítenie kell az Azure AI-szolgáltatások erőforrásainak eléréséhez. Éles környezetben használjon biztonságos módot a hitelesítő adatok tárolására és elérésére. Miután például lekérte a Speech-erőforrás kulcsát , írja be egy új környezeti változóba az alkalmazást futtató helyi gépen.

Tipp.

Ne vegye fel közvetlenül a kulcsot a kódba, és soha ne tegye közzé nyilvánosan. További hitelesítési lehetőségeket, például az Azure Key Vaultot az Azure AI-szolgáltatások biztonságában talál.

A Speech erőforráskulcs környezeti változójának 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 régiót az erőforrás egyik régiójára.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

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ó 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 fordítása mikrofonból

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

  1. Hozzon létre egy új C++ konzolprojektet a Visual Studio Community 2022-ben.SpeechTranslation

  2. Telepítse a Speech SDK-t az új projektbe a NuGet-csomagkezelővel.

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

    #include <iostream> 
    #include <stdlib.h>
    #include <speechapi_cxx.h>
    
    using namespace Microsoft::CognitiveServices::Speech;
    using namespace Microsoft::CognitiveServices::Speech::Audio;
    using namespace Microsoft::CognitiveServices::Speech::Translation;
    
    std::string GetEnvironmentVariable(const char* name);
    
    int main()
    {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        auto speechKey = GetEnvironmentVariable("SPEECH_KEY");
        auto speechRegion = GetEnvironmentVariable("SPEECH_REGION");
    
        auto speechTranslationConfig = SpeechTranslationConfig::FromSubscription(speechKey, speechRegion);
        speechTranslationConfig->SetSpeechRecognitionLanguage("en-US");
        speechTranslationConfig->AddTargetLanguage("it");
    
        auto audioConfig = AudioConfig::FromDefaultMicrophoneInput();
        auto translationRecognizer = TranslationRecognizer::FromConfig(speechTranslationConfig, audioConfig);
    
        std::cout << "Speak into your microphone.\n";
        auto result = translationRecognizer->RecognizeOnceAsync().get();
    
        if (result->Reason == ResultReason::TranslatedSpeech)
        {
            std::cout << "RECOGNIZED: Text=" << result->Text << std::endl;
            for (auto pair : result->Translations)
            {
                auto language = pair.first;
                auto translation = pair.second;
                std::cout << "Translated into '" << language << "': " << translation << std::endl;
            }
        }
        else if (result->Reason == ResultReason::NoMatch)
        {
            std::cout << "NOMATCH: Speech could not be recognized." << std::endl;
        }
        else if (result->Reason == ResultReason::Canceled)
        {
            auto cancellation = CancellationDetails::FromResult(result);
            std::cout << "CANCELED: Reason=" << (int)cancellation->Reason << std::endl;
    
            if (cancellation->Reason == CancellationReason::Error)
            {
                std::cout << "CANCELED: ErrorCode=" << (int)cancellation->ErrorCode << std::endl;
                std::cout << "CANCELED: ErrorDetails=" << cancellation->ErrorDetails << std::endl;
                std::cout << "CANCELED: Did you set the speech resource key and region values?" << std::endl;
            }
        }
    }
    
    std::string GetEnvironmentVariable(const char* name)
    {
    #if defined(_MSC_VER)
        size_t requiredSize = 0;
        (void)getenv_s(&requiredSize, nullptr, 0, name);
        if (requiredSize == 0)
        {
            return "";
        }
        auto buffer = std::make_unique<char[]>(requiredSize);
        (void)getenv_s(&requiredSize, buffer.get(), requiredSize, name);
        return buffer.get();
    #else
        auto value = getenv(name);
        return value ? value : "";
    #endif
    }
    
  4. A beszédfelismerés nyelvének módosításához cserélje le en-US egy másik támogatott nyelvre. Adja meg a teljes területi beállításokat egy kötőjel (-) elválasztójellel. Például a es-ES spanyol (Spanyolország) esetében. Az alapértelmezett nyelv az en-US , ha nem ad meg nyelvet. 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. A fordítási célnyelv módosításához cserélje le it egy másik támogatott nyelvre. Néhány kivételtől eltekintve csak a területi kötőjel (-) elválasztójelet megelőző nyelvi kódot adja meg. Használja például es spanyol (Spanyolország) helyett es-ES. Az alapértelmezett nyelv az en , ha nem ad meg nyelvet.

Hozza létre és futtassa az új konzolalkalmazást a beszédfelismerés mikrofonból való elindításához.

Amikor a rendszer kéri, beszéljen a mikrofonba. A kimondott szövegnek lefordított szövegként kell megjelennie a célnyelven:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.

Megjegyzések

Most, hogy elvégezte a rövid útmutatót, í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éd fordítása című témakört.
  • A hangfájlból származó beszéd felismeréséhez használja FromWavFileInput a következő FromDefaultMicrophoneInputhelyett:
    auto audioInput = 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 eltávolítása

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) | További minták a GitHubon |

A Speech SDK for Go nem támogatja a beszédfordítást. Válasszon egy másik programozási nyelvet, vagy a Go referenciát és a cikk elejétől csatolt mintákat.

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

Ebben a rövid útmutatóban egy alkalmazást futtat, amely lefordítja a beszédet egy nyelvről egy másik nyelven lévő szövegre.

Előfeltételek

A környezet beállítása

Mielőtt bármit megtehet, telepítenie kell 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 be a következőt:
    <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.37.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 alkalmazásnak hitelesítenie kell az Azure AI-szolgáltatások erőforrásainak eléréséhez. Éles környezetben használjon biztonságos módot a hitelesítő adatok tárolására és elérésére. Miután például lekérte a Speech-erőforrás kulcsát , írja be egy új környezeti változóba az alkalmazást futtató helyi gépen.

Tipp.

Ne vegye fel közvetlenül a kulcsot a kódba, és soha ne tegye közzé nyilvánosan. További hitelesítési lehetőségeket, például az Azure Key Vaultot az Azure AI-szolgáltatások biztonságában talál.

A Speech erőforráskulcs környezeti változójának 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 régiót az erőforrás egyik régiójára.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

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ó 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 fordítása mikrofonból

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

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

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

    import com.microsoft.cognitiveservices.speech.*;
    import com.microsoft.cognitiveservices.speech.audio.AudioConfig;
    import com.microsoft.cognitiveservices.speech.translation.*;
    
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.Future;
    import java.util.Map;
    
    public class SpeechTranslation {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        private static String speechKey = System.getenv("SPEECH_KEY");
        private static String speechRegion = System.getenv("SPEECH_REGION");
    
        public static void main(String[] args) throws InterruptedException, ExecutionException {
            SpeechTranslationConfig speechTranslationConfig = SpeechTranslationConfig.fromSubscription(speechKey, speechRegion);
            speechTranslationConfig.setSpeechRecognitionLanguage("en-US");
    
            String[] toLanguages = { "it" };
            for (String language : toLanguages) {
                speechTranslationConfig.addTargetLanguage(language);
            }
    
            recognizeFromMicrophone(speechTranslationConfig);
        }
    
        public static void recognizeFromMicrophone(SpeechTranslationConfig speechTranslationConfig) throws InterruptedException, ExecutionException {
            AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput();
            TranslationRecognizer translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig);
    
            System.out.println("Speak into your microphone.");
            Future<TranslationRecognitionResult> task = translationRecognizer.recognizeOnceAsync();
            TranslationRecognitionResult translationRecognitionResult = task.get();
    
            if (translationRecognitionResult.getReason() == ResultReason.TranslatedSpeech) {
                System.out.println("RECOGNIZED: Text=" + translationRecognitionResult.getText());
                for (Map.Entry<String, String> pair : translationRecognitionResult.getTranslations().entrySet()) {
                    System.out.printf("Translated into '%s': %s\n", pair.getKey(), pair.getValue());
                }
            }
            else if (translationRecognitionResult.getReason() == ResultReason.NoMatch) {
                System.out.println("NOMATCH: Speech could not be recognized.");
            }
            else if (translationRecognitionResult.getReason() == ResultReason.Canceled) {
                CancellationDetails cancellation = CancellationDetails.fromResult(translationRecognitionResult);
                System.out.println("CANCELED: Reason=" + cancellation.getReason());
    
                if (cancellation.getReason() == CancellationReason.Error) {
                    System.out.println("CANCELED: ErrorCode=" + cancellation.getErrorCode());
                    System.out.println("CANCELED: ErrorDetails=" + cancellation.getErrorDetails());
                    System.out.println("CANCELED: Did you set the speech resource key and region values?");
                }
            }
    
            System.exit(0);
        }
    }
    
  3. A beszédfelismerés nyelvének módosításához cserélje le en-US egy másik támogatott nyelvre. Adja meg a teljes területi beállításokat egy kötőjel (-) elválasztójellel. Például a es-ES spanyol (Spanyolország) esetében. Az alapértelmezett nyelv az en-US , ha nem ad meg nyelvet. 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. A fordítási célnyelv módosításához cserélje le it egy másik támogatott nyelvre. Néhány kivételtől eltekintve csak a területi kötőjel (-) elválasztójelet megelőző nyelvi kódot adja meg. Használja például es spanyol (Spanyolország) helyett es-ES. Az alapértelmezett nyelv az en , ha nem ad meg nyelvet.

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

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

Amikor a rendszer kéri, beszéljen a mikrofonba. A kimondott szövegnek lefordított szövegként kell megjelennie a célnyelven:

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.

Megjegyzések

Most, hogy elvégezte a rövid útmutatót, í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éd fordítása című 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 eltávolítása

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 minták a GitHub | Library forráskódján |

Ebben a rövid útmutatóban egy alkalmazást futtat, amely lefordítja a beszédet egy nyelvről egy másik nyelven lévő szövegre.

Előfeltételek

A környezet beállítása

Mielőtt bármit megtehet, telepítenie kell a JavaScripthez készült Speech SDK-t. Ha csak a csomag nevét szeretné telepíteni, futtassa a parancsot npm install microsoft-cognitiveservices-speech-sdk. Az irányított telepítési utasításokért tekintse meg az SDK telepítési útmutatóját.

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

Az alkalmazásnak hitelesítenie kell az Azure AI-szolgáltatások erőforrásainak eléréséhez. Éles környezetben használjon biztonságos módot a hitelesítő adatok tárolására és elérésére. Miután például lekérte a Speech-erőforrás kulcsát , írja be egy új környezeti változóba az alkalmazást futtató helyi gépen.

Tipp.

Ne vegye fel közvetlenül a kulcsot a kódba, és soha ne tegye közzé nyilvánosan. További hitelesítési lehetőségeket, például az Azure Key Vaultot az Azure AI-szolgáltatások biztonságában talál.

A Speech erőforráskulcs környezeti változójának 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 régiót az erőforrás egyik régiójára.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

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ó 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 fordítása fájlból

Kövesse az alábbi lépéseket egy Node.js-konzolalkalmazás létrehozásához a beszédfelismeréshez.

  1. Nyisson meg egy parancssort, ahol az új projektet szeretné, és hozzon létre egy új fájlt.SpeechTranslation.js

  2. Telepítse a JavaScripthez készült Speech SDK-t:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Másolja a következő kódot a következőbe SpeechTranslation.js:

    const fs = require("fs");
    const sdk = require("microsoft-cognitiveservices-speech-sdk");
    
    // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
    const speechTranslationConfig = sdk.SpeechTranslationConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION);
    speechTranslationConfig.speechRecognitionLanguage = "en-US";
    
    var language = "it";
    speechTranslationConfig.addTargetLanguage(language);
    
    function fromFile() {
        let audioConfig = sdk.AudioConfig.fromWavFileInput(fs.readFileSync("YourAudioFile.wav"));
        let translationRecognizer = new sdk.TranslationRecognizer(speechTranslationConfig, audioConfig);
    
        translationRecognizer.recognizeOnceAsync(result => {
            switch (result.reason) {
                case sdk.ResultReason.TranslatedSpeech:
                    console.log(`RECOGNIZED: Text=${result.text}`);
                    console.log("Translated into [" + language + "]: " + result.translations.get(language));
    
                    break;
                case sdk.ResultReason.NoMatch:
                    console.log("NOMATCH: Speech could not be recognized.");
                    break;
                case sdk.ResultReason.Canceled:
                    const cancellation = sdk.CancellationDetails.fromResult(result);
                    console.log(`CANCELED: Reason=${cancellation.reason}`);
    
                    if (cancellation.reason == sdk.CancellationReason.Error) {
                        console.log(`CANCELED: ErrorCode=${cancellation.ErrorCode}`);
                        console.log(`CANCELED: ErrorDetails=${cancellation.errorDetails}`);
                        console.log("CANCELED: Did you set the speech resource key and region values?");
                    }
                    break;
            }
            translationRecognizer.close();
        });
    }
    fromFile();
    
  4. Ebben SpeechTranslation.jsa fájlban cserélje le YourAudioFile.wav a saját WAV-fájlját. Ez a példa csak 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ásodperces hangot támogat.

  5. A beszédfelismerés nyelvének módosításához cserélje le en-US egy másik támogatott nyelvre. Adja meg a teljes területi beállításokat egy kötőjel (-) elválasztójellel. Például a es-ES spanyol (Spanyolország) esetében. Az alapértelmezett nyelv az en-US , ha nem ad meg nyelvet. 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.

  6. A fordítási célnyelv módosításához cserélje le it egy másik támogatott nyelvre. Néhány kivételtől eltekintve csak a területi kötőjel (-) elválasztójelet megelőző nyelvi kódot adja meg. Használja például es spanyol (Spanyolország) helyett es-ES. Az alapértelmezett nyelv az en , ha nem ad meg nyelvet.

Futtassa az új konzolalkalmazást a beszédfelismerés fájlból való elindításához:

node.exe SpeechTranslation.js

A hangfájlból származó beszédnek lefordított szövegként kell megjelennie a célnyelven:

RECOGNIZED: Text=I'm excited to try speech translation.
Translated into [it]: Sono entusiasta di provare la traduzione vocale.

Megjegyzések

Most, hogy elvégezte a rövid útmutatót, í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éd fordítása című 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.

Az erőforrások eltávolítása

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) | További minták a GitHubon |

Az Objective-C-hez készült Speech SDK támogatja a beszédfordítást, de itt még nem tartalmaztunk útmutatót. Válasszon egy másik programozási nyelvet az első lépésekhez, és ismerje meg a fogalmakat, vagy tekintse meg a cikk elején hivatkozott Objective-C referenciát és mintákat.

Referenciadokumentáció csomag (Letöltés) | További minták a GitHubon |

A Speech SDK for Swift támogatja a beszédfordítást, de itt még nem tartalmaztunk útmutatót. Válasszon egy másik programozási nyelvet az első lépésekhez, és ismerje meg a fogalmakat, vagy tekintse meg a swift-hivatkozást és a cikk elején hivatkozott mintákat.

Referenciadokumentáció-csomag (PyPi) | További minták a GitHubon |

Ebben a rövid útmutatóban egy alkalmazást futtat, amely lefordítja a beszédet egy nyelvről egy másik nyelven lévő szövegre.

Előfeltételek

A környezet beállítása

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

Telepítse a Python 3.7-es vagy újabb verzióját. Először tekintse meg az SDK telepítési útmutatóját a további követelményekkel kapcsolatban

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

Az alkalmazásnak hitelesítenie kell az Azure AI-szolgáltatások erőforrásainak eléréséhez. Éles környezetben használjon biztonságos módot a hitelesítő adatok tárolására és elérésére. Miután például lekérte a Speech-erőforrás kulcsát , írja be egy új környezeti változóba az alkalmazást futtató helyi gépen.

Tipp.

Ne vegye fel közvetlenül a kulcsot a kódba, és soha ne tegye közzé nyilvánosan. További hitelesítési lehetőségeket, például az Azure Key Vaultot az Azure AI-szolgáltatások biztonságában talál.

A Speech erőforráskulcs környezeti változójának 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 régiót az erőforrás egyik régiójára.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

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ó 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 fordítása mikrofonból

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

  1. Nyisson meg egy parancssort, ahol az új projektet szeretné, és hozzon létre egy új fájlt.speech_translation.py

  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 következőbe speech_translation.py:

    import os
    import azure.cognitiveservices.speech as speechsdk
    
    def recognize_from_microphone():
        # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        speech_translation_config = speechsdk.translation.SpeechTranslationConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION'))
        speech_translation_config.speech_recognition_language="en-US"
    
        target_language="it"
        speech_translation_config.add_target_language(target_language)
    
        audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
        translation_recognizer = speechsdk.translation.TranslationRecognizer(translation_config=speech_translation_config, audio_config=audio_config)
    
        print("Speak into your microphone.")
        translation_recognition_result = translation_recognizer.recognize_once_async().get()
    
        if translation_recognition_result.reason == speechsdk.ResultReason.TranslatedSpeech:
            print("Recognized: {}".format(translation_recognition_result.text))
            print("""Translated into '{}': {}""".format(
                target_language, 
                translation_recognition_result.translations[target_language]))
        elif translation_recognition_result.reason == speechsdk.ResultReason.NoMatch:
            print("No speech could be recognized: {}".format(translation_recognition_result.no_match_details))
        elif translation_recognition_result.reason == speechsdk.ResultReason.Canceled:
            cancellation_details = translation_recognition_result.cancellation_details
            print("Speech Recognition canceled: {}".format(cancellation_details.reason))
            if cancellation_details.reason == speechsdk.CancellationReason.Error:
                print("Error details: {}".format(cancellation_details.error_details))
                print("Did you set the speech resource key and region values?")
    
    recognize_from_microphone()
    
  4. A beszédfelismerés nyelvének módosításához cserélje le en-US egy másik támogatott nyelvre. Adja meg a teljes területi beállításokat egy kötőjel (-) elválasztójellel. Például a es-ES spanyol (Spanyolország) esetében. Az alapértelmezett nyelv az en-US , ha nem ad meg nyelvet. 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. A fordítási célnyelv módosításához cserélje le it egy másik támogatott nyelvre. Néhány kivételtől eltekintve csak a területi kötőjel (-) elválasztójelet megelőző nyelvi kódot adja meg. Használja például es spanyol (Spanyolország) helyett es-ES. Az alapértelmezett nyelv az en , ha nem ad meg nyelvet.

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

python speech_translation.py

Amikor a rendszer kéri, beszéljen a mikrofonba. A kimondott szövegnek lefordított szövegként kell megjelennie a célnyelven:

Speak into your microphone.
Recognized: I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.

Megjegyzések

Most, hogy elvégezte a rövid útmutatót, í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éd fordítása című 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 eltávolítása

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

Speech to text REST API reference | Speech to text REST API for short audio reference | Additional Samples on GitHub

A REST API nem támogatja a beszédfordítást. Válasszon másik programozási nyelvet vagy eszközt a lap tetején.

Ebben a rövid útmutatóban egy alkalmazást futtat, amely lefordítja a beszédet egy nyelvről egy másik nyelven lévő szövegre.

Előfeltételek

A környezet beállítása

Kövesse ezeket a lépéseket, és tekintse meg a Speech CLI rövid útmutatóját a platform egyéb követelményeiről.

  1. Futtassa a következő .NET CLI-parancsot a Speech CLI telepítéséhez:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Futtassa az alábbi parancsokat a Speech-erőforráskulcs és -régió konfigurálásához. Cserélje le SUBSCRIPTION-KEY a Speech erőforráskulcsot, és cserélje le REGION a Speech erőforrásrégiójára.

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

Beszéd fordítása mikrofonból

Futtassa a következő parancsot a mikrofon beszédének lefordításához angolról olaszra:

spx translate --source en-US --target it --microphone

Beszéljen a mikrofonba, és valós időben láthatja a lefordított beszéd átiratát. A Speech CLI 30 másodperc vagy a Ctrl+C billentyűkombináció lenyomása után leáll.

Connection CONNECTED...
TRANSLATING into 'it': Sono (from 'I'm')
TRANSLATING into 'it': Sono entusiasta (from 'I'm excited to')
TRANSLATING into 'it': Sono entusiasta di provare la parola (from 'I'm excited to try speech')
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale. (from 'I'm excited to try speech translation.')

Megjegyzések

Most, hogy elvégezte a rövid útmutatót, íme néhány további szempont:

  • Ha hangfájlból szeretne beszédet lekérni, használja ahelyett--microphone, hogy --file a . Tömörített hangfájlok, például MP4 esetén telepítse a GStreamert, és használja --format. További információ: A tömörített bemeneti hang használata.
    spx translate --source en-US --target it --file YourAudioFile.wav
    spx translate --source en-US --target it --file YourAudioFile.mp4 --format any
    
  • Adott szavak vagy kimondott szövegek felismerési pontosságának javítása érdekében használjon kifejezéslistát. Sorba vagy szövegfájlba is belefoglalhatja a kifejezéslistát:
    spx translate --source en-US --target it --microphone --phrases "Contoso;Jessie;Rehaan;"
    spx translate --source en-US --target it --microphone --phrases @phrases.txt
    
  • A beszédfelismerés nyelvének módosításához cserélje le en-US egy másik támogatott nyelvre. Adja meg a teljes területi beállításokat egy kötőjel (-) elválasztójellel. Például a es-ES spanyol (Spanyolország) esetében. Az alapértelmezett nyelv az en-US , ha nem ad meg nyelvet.
    spx translate --microphone --source es-ES
    
  • A fordítási célnyelv módosításához cserélje le it egy másik támogatott nyelvre. Néhány kivételtől eltekintve csak a területi kötőjel (-) elválasztójelet megelőző nyelvi kódot adja meg. Használja például es spanyol (Spanyolország) helyett es-ES. Az alapértelmezett nyelv az en , ha nem ad meg nyelvet.
    spx translate --microphone --target es
    
  • A 30 másodpercnél hosszabb hang folyamatos felismeréséhez fűzze hozzá a következőt --continuous:
    spx translate --source en-US --target it --microphone --continuous
    

Futtassa ezt a parancsot további beszédfordítási lehetőségekről, például fájlbemenetről és kimenetről:

spx help translate

Az erőforrások eltávolítása

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ések