다음을 통해 공유


빠른 시작: 음성을 인식하고 텍스트로 번역

참조 설명서 | 패키지(NuGet) | GitHub의 추가 샘플

이 빠른 시작에서는 애플리케이션을 실행하여 한 언어의 음성을 다른 언어의 텍스트로 번역합니다.

Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI 음성 도구 키트를 사용해 보세요.

필수 구성 요소

환경 설정

음성 SDK는 NuGet 패키지로 사용할 수 있으며 .NET Standard 2.0을 구현합니다. 이 가이드의 뒷부분에서 Speech SDK를 설치하지만, 먼저 SDK 설치 가이드에서 더 많은 요구 사항을 확인합니다.

환경 변수 설정

Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.

중요합니다

클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.

API 키는 주의해서 사용해야 합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요. API 키를 사용하는 경우 Azure Key Vault에 안전하게 저장하고, 키를 정기적으로 회전하고, 역할 기반 액세스 제어 및 네트워크 액세스 제한을 사용하여 Azure Key Vault에 대한 액세스를 제한합니다. 앱에서 API 키를 안전하게 사용하는 방법에 대한 자세한 내용은 Azure Key Vault를 사용한 API 키를 참조하세요.

AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.

Speech 리소스 키 및 엔드포인트에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.

  • SPEECH_KEY 환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.
  • 환경 변수를 ENDPOINT 설정하려면 엔드포인트 를 리소스의 엔드포인트 중 하나로 바꿉니다.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

참고

현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 set 대신 setx(으)로 설정할 수 있습니다.

환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.

마이크에서 음성 번역

다음 단계에 따라 새 콘솔 애플리케이션을 만들고 음성 SDK를 설치합니다.

  1. 새 프로젝트를 원하는 명령 프롬프트를 열고 .NET CLI를 사용하여 콘솔 애플리케이션을 만듭니다. Program.cs 파일은 프로젝트 디렉터리에 만들어야 합니다.

    dotnet new console
    
  2. .NET CLI를 사용하여 새 프로젝트에 음성 SDK를 설치합니다.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Program.cs의 콘텐츠를 다음 코드로 바꿉니다.

    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 "ENDPOINT"
        static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY");
        static string endpoint = Environment.GetEnvironmentVariable("ENDPOINT");
    
        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 endpoint values?");
                    }
                    break;
            }
        }
    
        async static Task Main(string[] args)
        {
            var speechTranslationConfig = SpeechTranslationConfig.FromEndpoint(speechKey, endpoint);       
            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. 음성 인식 언어를 변경하려면 en-US를 다른 지원되는 언어로 바꿉니다. 대시(-) 구분 기호로 전체 로캘을 지정합니다. 예를 들어 스페인어(스페인)의 경우 es-ES입니다. 언어를 지정하지 않은 경우 기본 언어는 en-US입니다. 음성에 사용될 수 있는 여러 언어 중 하나를 식별하는 방법에 대한 자세한 내용은 언어 식별을 참조하세요.

  5. 번역 대상 언어를 변경하려면 it를 다른 지원되는 언어로 바꿉니다. 몇 가지 예외를 제외하고 로캘 대시(-) 구분 기호 앞에 오는 언어 코드만 지정합니다. 예를 들어 스페인어(스페인)의 경우 es 대신 es-ES를 사용합니다. 언어를 지정하지 않은 경우 기본 언어는 en입니다.

새 콘솔 애플리케이션을 실행하여 마이크의 음성 인식을 시작합니다.

dotnet run

메시지가 표시되면 마이크에 말합니다. 말하는 내용은 대상 언어로 번역된 텍스트로 출력되어야 합니다.

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

설명

빠른 시작을 완료한 후 몇 가지 추가 고려 사항은 다음과 같습니다.

  • 이 예제에서는 RecognizeOnceAsync 작업을 사용하여 최대 30초의 발화를 기록하거나 침묵이 감지될 때까지 기록합니다. 다국어 대화를 포함한 더 긴 오디오에 대한 지속적인 인식에 대한 자세한 내용은 음성을 번역하는 방법을 참조하세요.
  • 오디오 파일에서 음성을 인식하려면 FromWavFileInput 대신 FromDefaultMicrophoneInput를 사용합니다.
    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • MP4와 같은 압축 오디오 파일의 경우 GStreamer를 설치하고 PullAudioInputStream 또는 PushAudioInputStream을 사용합니다. 자세한 내용은 압축 입력 오디오 사용 방법을 참조하세요.

리소스 정리

Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.

참조 설명서 | 패키지(NuGet) | GitHub의 추가 샘플

이 빠른 시작에서는 애플리케이션을 실행하여 한 언어의 음성을 다른 언어의 텍스트로 번역합니다.

Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI 음성 도구 키트를 사용해 보세요.

필수 구성 요소

환경 설정

음성 SDK는 NuGet 패키지로 사용할 수 있으며 .NET Standard 2.0을 구현합니다. 이 가이드의 뒷부분에서 Speech SDK를 설치하지만, 먼저 SDK 설치 가이드에서 더 많은 요구 사항을 확인합니다.

환경 변수 설정

Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.

중요합니다

클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.

API 키는 주의해서 사용해야 합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요. API 키를 사용하는 경우 Azure Key Vault에 안전하게 저장하고, 키를 정기적으로 회전하고, 역할 기반 액세스 제어 및 네트워크 액세스 제한을 사용하여 Azure Key Vault에 대한 액세스를 제한합니다. 앱에서 API 키를 안전하게 사용하는 방법에 대한 자세한 내용은 Azure Key Vault를 사용한 API 키를 참조하세요.

AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.

Speech 리소스 키 및 엔드포인트에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.

  • SPEECH_KEY 환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.
  • 환경 변수를 ENDPOINT 설정하려면 엔드포인트 를 리소스의 엔드포인트 중 하나로 바꿉니다.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

참고

현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 set 대신 setx(으)로 설정할 수 있습니다.

환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.

마이크에서 음성 번역

다음 단계에 따라 새 콘솔 애플리케이션을 만들고 음성 SDK를 설치합니다.

  1. Visual Studio Community 2022에서 SpeechTranslation이라는 새 C++ 콘솔 프로젝트를 만듭니다.

  2. NuGet 패키지 관리자를 사용하여 새 프로젝트에 음성 SDK를 설치합니다.

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. 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 "END_POINT"
        auto speechKey = GetEnvironmentVariable("SPEECH_KEY");
        auto endpoint = GetEnvironmentVariable("END_POINT");
    
        auto speechTranslationConfig = SpeechTranslationConfig::FromEndpoint(speechKey, endpoint);
        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 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. 음성 인식 언어를 변경하려면 en-US를 다른 지원되는 언어로 바꿉니다. 대시(-) 구분 기호로 전체 로캘을 지정합니다. 예를 들어 스페인어(스페인)의 경우 es-ES입니다. 언어를 지정하지 않은 경우 기본 언어는 en-US입니다. 음성에 사용될 수 있는 여러 언어 중 하나를 식별하는 방법에 대한 자세한 내용은 언어 식별을 참조하세요.

  5. 번역 대상 언어를 변경하려면 it를 다른 지원되는 언어로 바꿉니다. 몇 가지 예외를 제외하고 로캘 대시(-) 구분 기호 앞에 오는 언어 코드만 지정합니다. 예를 들어 스페인어(스페인)의 경우 es 대신 es-ES를 사용합니다. 언어를 지정하지 않은 경우 기본 언어는 en입니다.

마이크에서 음성 인식을 시작하려면 새 콘솔 애플리케이션을 빌드하고 실행 합니다.

메시지가 표시되면 마이크에 말합니다. 말하는 내용은 대상 언어로 번역된 텍스트로 출력되어야 합니다.

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

설명

빠른 시작을 완료한 후 몇 가지 추가 고려 사항은 다음과 같습니다.

  • 이 예제에서는 RecognizeOnceAsync 작업을 사용하여 최대 30초의 발화를 기록하거나 침묵이 감지될 때까지 기록합니다. 다국어 대화를 포함한 더 긴 오디오에 대한 지속적인 인식에 대한 자세한 내용은 음성을 번역하는 방법을 참조하세요.
  • 오디오 파일에서 음성을 인식하려면 FromWavFileInput 대신 FromDefaultMicrophoneInput를 사용합니다.
    auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • MP4와 같은 압축 오디오 파일의 경우 GStreamer를 설치하고 PullAudioInputStream 또는 PushAudioInputStream을 사용합니다. 자세한 내용은 압축 입력 오디오 사용 방법을 참조하세요.

리소스 정리

Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.

참조 설명서 | 패키지(Go) | GitHub의 추가 샘플

Go용 Speech SDK는 음성 번역을 지원하지 않습니다. 다른 프로그래밍 언어를 선택하거나 이 문서의 앞 부분에서 링크된 Go 참조 및 샘플을 참조하세요.

참조 설명서 | GitHub의 추가 샘플

이 빠른 시작에서는 애플리케이션을 실행하여 한 언어의 음성을 다른 언어의 텍스트로 번역합니다.

Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI 음성 도구 키트를 사용해 보세요.

필수 구성 요소

환경 설정

작업을 수행하려면 먼저 Speech SDK를 설치해야 합니다. 이 빠른 시작의 샘플은 Java 런타임에서 작동합니다.

  1. Apache Maven을 설치합니다. 그런 다음 mvn -v을(를) 실행하여 성공적인 설치를 확인합니다.
  2. pom.xml 파일을 프로젝트의 루트에 만들고, 다음을 이 파일에 복사합니다.
    <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. Speech SDK 및 종속성을 설치합니다.
    mvn clean dependency:copy-dependencies
    

환경 변수 설정

Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.

중요합니다

클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.

API 키는 주의해서 사용해야 합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요. API 키를 사용하는 경우 Azure Key Vault에 안전하게 저장하고, 키를 정기적으로 회전하고, 역할 기반 액세스 제어 및 네트워크 액세스 제한을 사용하여 Azure Key Vault에 대한 액세스를 제한합니다. 앱에서 API 키를 안전하게 사용하는 방법에 대한 자세한 내용은 Azure Key Vault를 사용한 API 키를 참조하세요.

AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.

Speech 리소스 키 및 엔드포인트에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.

  • SPEECH_KEY 환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.
  • 환경 변수를 ENDPOINT 설정하려면 엔드포인트 를 리소스의 엔드포인트 중 하나로 바꿉니다.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

참고

현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 set 대신 setx(으)로 설정할 수 있습니다.

환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.

마이크에서 음성 번역

음성 인식을 위한 새 콘솔 애플리케이션을 만들려면 다음 단계를 수행합니다.

  1. 동일한 프로젝트 루트 디렉터리에 SpeechTranslation.java라는 새 파일을 만듭니다.

  2. 다음 코드를 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 "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 {
            SpeechTranslationConfig speechTranslationConfig = SpeechTranslationConfig.fromEndpoint(speechKey, endpoint);
            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 endpoint values?");
                }
            }
    
            System.exit(0);
        }
    }
    
  3. 음성 인식 언어를 변경하려면 en-US를 다른 지원되는 언어로 바꿉니다. 대시(-) 구분 기호로 전체 로캘을 지정합니다. 예를 들어 스페인어(스페인)의 경우 es-ES입니다. 언어를 지정하지 않은 경우 기본 언어는 en-US입니다. 음성에 사용될 수 있는 여러 언어 중 하나를 식별하는 방법에 대한 자세한 내용은 언어 식별을 참조하세요.

  4. 번역 대상 언어를 변경하려면 it를 다른 지원되는 언어로 바꿉니다. 몇 가지 예외를 제외하고 로캘 대시(-) 구분 기호 앞에 오는 언어 코드만 지정합니다. 예를 들어 스페인어(스페인)의 경우 es 대신 es-ES를 사용합니다. 언어를 지정하지 않은 경우 기본 언어는 en입니다.

새 콘솔 애플리케이션을 실행하여 마이크의 음성 인식을 시작합니다.

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

메시지가 표시되면 마이크에 말합니다. 말하는 내용은 대상 언어로 번역된 텍스트로 출력되어야 합니다.

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

설명

빠른 시작을 완료한 후 몇 가지 추가 고려 사항은 다음과 같습니다.

  • 이 예제에서는 RecognizeOnceAsync 작업을 사용하여 최대 30초의 발화를 기록하거나 침묵이 감지될 때까지 기록합니다. 다국어 대화를 포함한 더 긴 오디오에 대한 지속적인 인식에 대한 자세한 내용은 음성을 번역하는 방법을 참조하세요.
  • 오디오 파일에서 음성을 인식하려면 fromWavFileInput 대신 fromDefaultMicrophoneInput를 사용합니다.
    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • MP4와 같은 압축 오디오 파일의 경우 GStreamer를 설치하고 PullAudioInputStream 또는 PushAudioInputStream을 사용합니다. 자세한 내용은 압축 입력 오디오 사용 방법을 참조하세요.

리소스 정리

Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.

참조 설명서 | 패키지(npm) | GitHub의 추가 샘플 | 라이브러리 소스 코드

이 빠른 시작에서는 애플리케이션을 실행하여 한 언어의 음성을 다른 언어의 텍스트로 번역합니다.

Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI 음성 도구 키트를 사용해 보세요.

필수 구성 요소

설정

  1. 새 폴더 translation-quickstart 를 만들고 다음 명령을 사용하여 빠른 시작 폴더로 이동합니다.

    mkdir translation-quickstart && cd translation-quickstart
    
  2. 다음 명령을 사용하여 package.json 만듭니다.

    npm init -y
    
  3. 다음을 사용하여 JavaScript용 Speech SDK를 설치합니다.

    npm install microsoft-cognitiveservices-speech-sdk
    

리소스 정보 검색

Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.

중요합니다

클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.

API 키는 주의해서 사용해야 합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요. API 키를 사용하는 경우 Azure Key Vault에 안전하게 저장하고, 키를 정기적으로 회전하고, 역할 기반 액세스 제어 및 네트워크 액세스 제한을 사용하여 Azure Key Vault에 대한 액세스를 제한합니다. 앱에서 API 키를 안전하게 사용하는 방법에 대한 자세한 내용은 Azure Key Vault를 사용한 API 키를 참조하세요.

AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.

Speech 리소스 키와 지역에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.

  • SPEECH_KEY 환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.
  • SPEECH_REGION 환경 변수를 설정하려면 your-region을 리소스에 대한 지역 중 하나로 바꿉니다.
  • 환경 변수를 ENDPOINT 설정하려면 your-endpoint를 Speech 리소스의 실제 엔드포인트로 바꾸십시오.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

참고

현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 set 대신 setx(으)로 설정할 수 있습니다.

환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.

파일에서 음성 번역

파일에서 음성을 번역하려면 다음을 수행합니다.

  1. 다음 콘텐츠를 사용하여 translation.js 새 파일을 만듭니다.

    import { readFileSync } from "fs";
    import { SpeechTranslationConfig, AudioConfig, TranslationRecognizer, ResultReason, CancellationDetails, CancellationReason } from "microsoft-cognitiveservices-speech-sdk";
    // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY"
    const speechTranslationConfig = SpeechTranslationConfig.fromEndpoint(new URL(process.env.ENDPOINT), process.env.SPEECH_KEY);
    speechTranslationConfig.speechRecognitionLanguage = "en-US";
    const language = "it";
    speechTranslationConfig.addTargetLanguage(language);
    function fromFile() {
        const audioConfig = AudioConfig.fromWavFileInput(readFileSync("YourAudioFile.wav"));
        const translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig);
        translationRecognizer.recognizeOnceAsync((result) => {
            switch (result.reason) {
                case ResultReason.TranslatedSpeech:
                    console.log(`RECOGNIZED: Text=${result.text}`);
                    console.log("Translated into [" + language + "]: " + result.translations.get(language));
                    break;
                case ResultReason.NoMatch:
                    console.log("NOMATCH: Speech could not be recognized.");
                    break;
                case ResultReason.Canceled:
                    const cancellation = 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;
            }
            translationRecognizer.close();
        });
    }
    fromFile();
    
    • translation.js에서 YourAudioFile.wav를 사용자 고유의 WAV 파일로 바꿉니다. 이 예제에서는 WAV 파일의 음성만 인식합니다. 다른 오디오 형식에 대한 자세한 내용은 압축 입력 오디오 사용 방법을 참조하세요. 이 예제에서는 최대 30초 오디오를 지원합니다.

    • 음성 인식 언어를 변경하려면 en-US를 다른 지원되는 언어로 바꿉니다. 대시(-) 구분 기호로 전체 로캘을 지정합니다. 예를 들어 스페인어(스페인)의 경우 es-ES입니다. 언어를 지정하지 않은 경우 기본 언어는 en-US입니다. 음성에 사용될 수 있는 여러 언어 중 하나를 식별하는 방법에 대한 자세한 내용은 언어 식별을 참조하세요.

    • 번역 대상 언어를 변경하려면 it를 다른 지원되는 언어로 바꿉니다. 몇 가지 예외를 제외하고 로캘 대시(-) 구분 기호 앞에 오는 언어 코드만 지정합니다. 예를 들어 스페인어(스페인)의 경우 es 대신 es-ES를 사용합니다. 언어를 지정하지 않은 경우 기본 언어는 en입니다.

  2. 새 콘솔 애플리케이션을 실행하여 파일의 음성 인식을 시작합니다.

    node translation.js
    

출력

오디오 파일의 음성은 대상 언어로 번역된 텍스트로 출력되어야 합니다.

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

설명

이제 빠른 시작을 완료했으므로 다음과 같은 몇 가지 추가 고려 사항이 있습니다.

이 예제에서는 recognizeOnceAsync 작업을 사용하여 최대 30초의 발화를 기록하거나 침묵이 감지될 때까지 기록합니다. 다국어 대화를 포함한 더 긴 오디오에 대한 지속적인 인식에 대한 자세한 내용은 음성을 번역하는 방법을 참조하세요.

참고

마이크의 음성 인식은 Node.js에서 지원되지 않습니다. 이는 브라우저 기반 JavaScript 환경에서만 지원됩니다.

리소스 정리

Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.

참조 설명서 | 패키지(다운로드) | GitHub의 추가 샘플

Objective-C용 음성 SDK는 음성 번역을 지원하지만 아직 가이드가 여기에 포함되지 않았습니다. 다른 프로그래밍 언어를 선택해서 작업을 시작하고 개념을 알아보거나 이 문서의 앞 부분에 링크된 Objective-C 참조 및 샘플을 참조하세요.

참조 설명서 | 패키지(다운로드) | GitHub의 추가 샘플

Swift용 음성 SDK는 음성 번역을 지원하지만 아직 가이드가 여기에 포함되지 않았습니다. 다른 프로그래밍 언어를 선택해서 작업을 시작하고 개념을 알아보거나 이 문서의 앞 부분에 링크된 Swift 참조 및 샘플을 참조하세요.

참조 설명서 | 패키지(PyPi) | GitHub의 추가 샘플

이 빠른 시작에서는 애플리케이션을 실행하여 한 언어의 음성을 다른 언어의 텍스트로 번역합니다.

Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI 음성 도구 키트를 사용해 보세요.

필수 구성 요소

환경 설정

Python용 Speech SDK는 PyPI(Python Package Index) 모듈로 사용할 수 있습니다. Python용 Speech SDK는 Windows, Linux 및 macOS와 호환됩니다.

Python 3.7 이상 버전을 설치합니다. 먼저 SDK 설치 가이드에서 추가 요구 사항을 확인합니다.

환경 변수 설정

Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.

중요합니다

클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.

API 키는 주의해서 사용해야 합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요. API 키를 사용하는 경우 Azure Key Vault에 안전하게 저장하고, 키를 정기적으로 회전하고, 역할 기반 액세스 제어 및 네트워크 액세스 제한을 사용하여 Azure Key Vault에 대한 액세스를 제한합니다. 앱에서 API 키를 안전하게 사용하는 방법에 대한 자세한 내용은 Azure Key Vault를 사용한 API 키를 참조하세요.

AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.

Speech 리소스 키 및 엔드포인트에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.

  • SPEECH_KEY 환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.
  • 환경 변수를 ENDPOINT 설정하려면 엔드포인트 를 리소스의 엔드포인트 중 하나로 바꿉니다.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

참고

현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 set 대신 setx(으)로 설정할 수 있습니다.

환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.

마이크에서 음성 번역

새 콘솔 애플리케이션을 만들려면 다음 단계를 수행합니다.

  1. 새 프로젝트를 원하는 명령 프롬프트를 열고 speech_translation.py라는 새 파일을 만듭니다.

  2. 다음 명령을 실행하여 Speech SDK를 설치합니다.

    pip install azure-cognitiveservices-speech
    
  3. 다음 코드를 speech_translation.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_translation_config = speechsdk.translation.SpeechTranslationConfig(subscription=os.environ.get('SPEECH_KEY'), endpoint=os.environ.get('ENDPOINT'))
        speech_translation_config.speech_recognition_language="en-US"
    
        to_language ="it"
        speech_translation_config.add_target_language(to_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(
                to_language, 
                translation_recognition_result.translations[to_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 endpoint values?")
    
    recognize_from_microphone()
    
  4. 음성 인식 언어를 변경하려면 en-US를 다른 지원되는 언어로 바꿉니다. 대시(-) 구분 기호로 전체 로캘을 지정합니다. 예를 들어 스페인어(스페인)의 경우 es-ES입니다. 언어를 지정하지 않은 경우 기본 언어는 en-US입니다. 음성에 사용될 수 있는 여러 언어 중 하나를 식별하는 방법에 대한 자세한 내용은 언어 식별을 참조하세요.

  5. 번역 대상 언어를 변경하려면 it를 다른 지원되는 언어로 바꿉니다. 몇 가지 예외를 제외하고 로캘 대시(-) 구분 기호 앞에 오는 언어 코드만 지정합니다. 예를 들어 스페인어(스페인)의 경우 es 대신 es-ES를 사용합니다. 언어를 지정하지 않은 경우 기본 언어는 en입니다.

새 콘솔 애플리케이션을 실행하여 마이크의 음성 인식을 시작합니다.

python speech_translation.py

메시지가 표시되면 마이크에 말합니다. 말하는 내용은 대상 언어로 번역된 텍스트로 출력되어야 합니다.

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

설명

빠른 시작을 완료한 후 몇 가지 추가 고려 사항은 다음과 같습니다.

  • 이 예제에서는 recognize_once_async 작업을 사용하여 최대 30초의 발화를 기록하거나 침묵이 감지될 때까지 기록합니다. 다국어 대화를 포함한 더 긴 오디오에 대한 지속적인 인식에 대한 자세한 내용은 음성을 번역하는 방법을 참조하세요.
  • 오디오 파일에서 음성을 인식하려면 filename 대신 use_default_microphone를 사용합니다.
    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • MP4와 같은 압축 오디오 파일의 경우 GStreamer를 설치하고 PullAudioInputStream 또는 PushAudioInputStream을 사용합니다. 자세한 내용은 압축 입력 오디오 사용 방법을 참조하세요.

리소스 정리

Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.

참조 설명서 | 패키지(npm) | GitHub의 추가 샘플 | 라이브러리 소스 코드

이 빠른 시작에서는 애플리케이션을 실행하여 한 언어의 음성을 다른 언어의 텍스트로 번역합니다.

Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI 음성 도구 키트를 사용해 보세요.

필수 구성 요소

설정

  1. 새 폴더 translation-quickstart 를 만들고 다음 명령을 사용하여 빠른 시작 폴더로 이동합니다.

    mkdir translation-quickstart && cd translation-quickstart
    
  2. 다음 명령을 사용하여 package.json 만듭니다.

    npm init -y
    
  3. package.json 다음 명령을 사용하여 ECMAScript로 업데이트합니다.

    npm pkg set type=module
    
  4. 다음을 사용하여 JavaScript용 Speech SDK를 설치합니다.

    npm install microsoft-cognitiveservices-speech-sdk
    
  5. TypeScript 오류를 방지하려면 Node.js 형식 정의를 설치해야 합니다. 다음 명령을 실행합니다.

    npm install --save-dev @types/node
    

리소스 정보 검색

Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.

중요합니다

클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.

API 키는 주의해서 사용해야 합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요. API 키를 사용하는 경우 Azure Key Vault에 안전하게 저장하고, 키를 정기적으로 회전하고, 역할 기반 액세스 제어 및 네트워크 액세스 제한을 사용하여 Azure Key Vault에 대한 액세스를 제한합니다. 앱에서 API 키를 안전하게 사용하는 방법에 대한 자세한 내용은 Azure Key Vault를 사용한 API 키를 참조하세요.

AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.

Speech 리소스 키와 지역에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.

  • SPEECH_KEY 환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.
  • SPEECH_REGION 환경 변수를 설정하려면 your-region을 리소스에 대한 지역 중 하나로 바꿉니다.
  • 환경 변수를 ENDPOINT 설정하려면 your-endpoint를 Speech 리소스의 실제 엔드포인트로 바꾸십시오.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

참고

현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 set 대신 setx(으)로 설정할 수 있습니다.

환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.

파일에서 음성 번역

파일에서 음성을 번역하려면 다음을 수행합니다.

  1. 다음 콘텐츠를 사용하여 translation.ts 이라는 새 파일을 만듭니다.

    import { readFileSync } from "fs";
    import { 
        SpeechTranslationConfig, 
        AudioConfig, 
        TranslationRecognizer, 
        ResultReason, 
        CancellationDetails, 
        CancellationReason,
        TranslationRecognitionResult 
    } from "microsoft-cognitiveservices-speech-sdk";
    
    // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY"
    const speechTranslationConfig: SpeechTranslationConfig = SpeechTranslationConfig.fromEndpoint(new URL(process.env.ENDPOINT!), process.env.SPEECH_KEY!);
    speechTranslationConfig.speechRecognitionLanguage = "en-US";
    
    const language = "it";
    speechTranslationConfig.addTargetLanguage(language);
    
    function fromFile(): void {
        const audioConfig: AudioConfig = AudioConfig.fromWavFileInput(readFileSync("YourAudioFile.wav"));
        const translationRecognizer: TranslationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig);
    
        translationRecognizer.recognizeOnceAsync((result: TranslationRecognitionResult) => {
            switch (result.reason) {
                case ResultReason.TranslatedSpeech:
                    console.log(`RECOGNIZED: Text=${result.text}`);
                    console.log("Translated into [" + language + "]: " + result.translations.get(language));
    
                    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;
            }
            translationRecognizer.close();
        });
    }
    fromFile();
    
    • translation.ts에서 YourAudioFile.wav를 사용자 고유의 WAV 파일로 바꿉니다. 이 예제에서는 WAV 파일의 음성만 인식합니다. 다른 오디오 형식에 대한 자세한 내용은 압축 입력 오디오 사용 방법을 참조하세요. 이 예제에서는 최대 30초 오디오를 지원합니다.

    • 음성 인식 언어를 변경하려면 en-US를 다른 지원되는 언어로 바꿉니다. 대시(-) 구분 기호로 전체 로캘을 지정합니다. 예를 들어 스페인어(스페인)의 경우 es-ES입니다. 언어를 지정하지 않은 경우 기본 언어는 en-US입니다. 음성에 사용될 수 있는 여러 언어 중 하나를 식별하는 방법에 대한 자세한 내용은 언어 식별을 참조하세요.

    • 번역 대상 언어를 변경하려면 it를 다른 지원되는 언어로 바꿉니다. 몇 가지 예외를 제외하고 로캘 대시(-) 구분 기호 앞에 오는 언어 코드만 지정합니다. 예를 들어 스페인어(스페인)의 경우 es 대신 es-ES를 사용합니다. 언어를 지정하지 않은 경우 기본 언어는 en입니다.

  2. tsconfig.json TypeScript 코드를 전환하기 위한 파일을 만들고, ECMAScript용으로 다음 코드를 복사하세요.

    {
        "compilerOptions": {
          "module": "NodeNext",
          "target": "ES2022", // Supports top-level await
          "moduleResolution": "NodeNext",
          "skipLibCheck": true, // Avoid type errors from node_modules
          "strict": true // Enable strict type-checking options
        },
        "include": ["*.ts"]
    }
    
  3. TypeScript에서 JavaScript로 변환합니다.

    tsc
    

    이 명령은 성공하면 출력을 생성하지 않아야 합니다.

  4. 새 콘솔 애플리케이션을 실행하여 파일의 음성 인식을 시작합니다.

    node translation.js
    

출력

오디오 파일의 음성은 대상 언어로 번역된 텍스트로 출력되어야 합니다.

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

설명

이제 빠른 시작을 완료했으므로 다음과 같은 몇 가지 추가 고려 사항이 있습니다.

이 예제에서는 recognizeOnceAsync 작업을 사용하여 최대 30초의 발화를 기록하거나 침묵이 감지될 때까지 기록합니다. 다국어 대화를 포함한 더 긴 오디오에 대한 지속적인 인식에 대한 자세한 내용은 음성을 번역하는 방법을 참조하세요.

참고

마이크의 음성 인식은 Node.js에서 지원되지 않습니다. 이는 브라우저 기반 JavaScript 환경에서만 지원됩니다.

리소스 정리

Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.

음성 텍스트 변환 REST API 참조 | 짧은 오디오 참조를 위한 음성 텍스트 변환 REST API | GitHub의 추가 샘플

REST API는 음성 번역을 지원하지 않습니다. 이 페이지 상단에서 다른 프로그래밍 언어 또는 도구를 선택합니다.

다음 단계