빠른 시작: 텍스트 음성 변환
참조 설명서 | 패키지(NuGet) | GitHub의 추가 샘플
Azure AI 음성을 사용하면 인간과 유사한 음성을 합성하여 텍스트를 읽는 애플리케이션을 실행할 수 있습니다. 음성을 변경하고, 말할 텍스트를 입력하고, 컴퓨터 스피커의 출력을 들을 수 있습니다.
팁
가입하거나 코드를 작성하지 않고도 Speech Studio 음성 갤러리에서 텍스트를 음성으로 변환해 볼 수 있습니다.
팁
Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI Speech Toolkit 을 사용해 보세요.
필수 구성 요소
- Azure 구독 무료로 하나를 만들 수 있습니다.
- Azure Portal에서 음성 리소스를 만듭니다.
- 음성 리소스 키 및 지역을 가져옵니다. 음성 리소스가 배포된 후, 리소스로 이동을 선택하여 키를 보고 관리합니다.
환경 설정
음성 SDK는 NuGet 패키지로 사용할 수 있으며 .NET Standard 2.0을 구현합니다. 콘솔을 사용하여 이 가이드의 뒷부분에 나오는 Speech SDK를 설치합니다. 자세한 설치 지침은 Speech SDK 설치를 참조하세요.
환경 변수 설정
Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.
Important
클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.
API 키를 사용하는 경우 Azure Key Vault와 같이 다른 곳에 안전하게 저장합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요.
AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.
Speech 리소스 키와 지역에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.
SPEECH_KEY
환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.SPEECH_REGION
환경 변수를 설정하려면 your-region를 리소스에 대한 지역 중 하나로 바꿉니다.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
참고 항목
현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 setx
대신 set
으로 설정할 수 있습니다.
환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.
애플리케이션 만들기
다음 단계에 따라 콘솔 애플리케이션을 만들고 음성 SDK를 설치합니다.
새 프로젝트가 필요한 폴더에서 명령 프롬프트 창을 엽니다. 이 명령을 실행하여 .NET CLI를 사용하여 콘솔 애플리케이션을 만듭니다.
dotnet new console
명령은 프로젝트 디렉터리에 Program.cs 파일을 만듭니다.
.NET CLI를 사용하여 새 프로젝트에 음성 SDK를 설치합니다.
dotnet add package Microsoft.CognitiveServices.Speech
Program.cs의 내용을 다음 코드로 바꿉니다.
using System; using System.IO; using System.Threading.Tasks; using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; class Program { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION"); static void OutputSpeechSynthesisResult(SpeechSynthesisResult speechSynthesisResult, string text) { switch (speechSynthesisResult.Reason) { case ResultReason.SynthesizingAudioCompleted: Console.WriteLine($"Speech synthesized for text: [{text}]"); break; case ResultReason.Canceled: var cancellation = SpeechSynthesisCancellationDetails.FromResult(speechSynthesisResult); 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; default: break; } } async static Task Main(string[] args) { var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion); // The neural multilingual voice can speak different languages based on the input text. speechConfig.SpeechSynthesisVoiceName = "en-US-AvaMultilingualNeural"; using (var speechSynthesizer = new SpeechSynthesizer(speechConfig)) { // Get text from the console and synthesize to the default speaker. Console.WriteLine("Enter some text that you want to speak >"); string text = Console.ReadLine(); var speechSynthesisResult = await speechSynthesizer.SpeakTextAsync(text); OutputSpeechSynthesisResult(speechSynthesisResult, text); } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } }
음성 합성 언어를 변경하려면
en-US-AvaMultilingualNeural
을 다른 지원되는 음성으로 바꿉니다.모든 인공신경망 음성은 다국어이며 모국어와 영어를 유창하게 구사합니다. 예를 들어 영어로 표시된 입력 텍스트가 I'm excited to try text to speech이고
es-ES-ElviraNeural
이 언어로 설정되어 있으면 텍스트는 스페인 악센트가 포함된 영어로 읽혀집니다. 음성이 입력 텍스트의 언어를 말하지 않는 경우 Speech Service에서 합성된 오디오를 출력하지 않습니다.새 콘솔 애플리케이션을 실행하여 기본 화자에 대한 음성 합성을 시작합니다.
dotnet run
Important
SPEECH_KEY
및SPEECH_REGION
환경 변수를 설정해야 합니다. 이 변수를 설정하지 않으면 샘플이 오류 메시지와 함께 실패합니다.말하려는 텍스트를 입력합니다. 예를 들어 텍스트 음성 변환을 시도하게 되어 기쁩니다를 입력합니다. Enter 키를 선택하여 합성된 음성을 듣습니다.
Enter some text that you want to speak > I'm excited to try text to speech
설명
다양한 음성 합성 옵션
이 빠른 시작에서는 SpeakTextAsync
작업을 사용하여 입력한 짧은 텍스트 블록을 합성합니다. 또한 파일에서 긴 형식의 텍스트를 사용하고 음성 스타일, 운율 및 기타 설정을 더 세밀하게 제어할 수 있습니다.
- 파일의 음성 합성과 음성 스타일, 운율, 기타 설정의 더 세밀한 제어에 관한 자세한 내용은 음성을 합성하는 방법과 SSML(음성 합성 표시 언어) 개요를 참조하세요.
- 긴 형식의 텍스트 음성 변환 합성에 대한 내용은 텍스트 음성 변환을 위한 일괄 처리 합성 API를 참조하세요.
Azure AI Speech의 OpenAI 텍스트 음성 변환 음성
OpenAI 텍스트 음성 변환 음성도 지원됩니다. Azure AI Speech의 OpenAI 텍스트 음성 변환 음성 및 다국어 음성을 참조하세요. en-US-AvaMultilingualNeural
을 지원되는 OpenAI 음성 이름(예: en-US-FableMultilingualNeural
)으로 바꿀 수 있습니다.
리소스 정리
Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.
참조 설명서 | 패키지(NuGet) | GitHub의 추가 샘플
Azure AI 음성을 사용하면 인간과 유사한 음성을 합성하여 텍스트를 읽는 애플리케이션을 실행할 수 있습니다. 음성을 변경하고, 말할 텍스트를 입력하고, 컴퓨터 스피커의 출력을 들을 수 있습니다.
팁
가입하거나 코드를 작성하지 않고도 Speech Studio 음성 갤러리에서 텍스트를 음성으로 변환해 볼 수 있습니다.
팁
Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI Speech Toolkit 을 사용해 보세요.
필수 구성 요소
- Azure 구독 무료로 하나를 만들 수 있습니다.
- Azure Portal에서 음성 리소스를 만듭니다.
- 음성 리소스 키 및 지역을 가져옵니다. 음성 리소스가 배포된 후, 리소스로 이동을 선택하여 키를 보고 관리합니다.
환경 설정
음성 SDK는 NuGet 패키지로 사용할 수 있으며 .NET Standard 2.0을 구현합니다. 이 가이드의 뒷부분에 있는 음성 SDK를 설치합니다. 자세한 설치 지침은 Speech SDK 설치를 참조하세요.
환경 변수 설정
Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.
Important
클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.
API 키를 사용하는 경우 Azure Key Vault와 같이 다른 곳에 안전하게 저장합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요.
AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.
Speech 리소스 키와 지역에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.
SPEECH_KEY
환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.SPEECH_REGION
환경 변수를 설정하려면 your-region를 리소스에 대한 지역 중 하나로 바꿉니다.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
참고 항목
현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 setx
대신 set
으로 설정할 수 있습니다.
환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.
애플리케이션 만들기
다음 단계에 따라 콘솔 애플리케이션을 만들고 음성 SDK를 설치합니다.
Visual Studio Community에서
SpeechSynthesis
라는 새 C++ 콘솔 프로젝트를 만듭니다.다음 코드로 SpeechSynthesis.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 "SPEECH_REGION" auto speechKey = GetEnvironmentVariable("SPEECH_KEY"); auto speechRegion = GetEnvironmentVariable("SPEECH_REGION"); if ((size(speechKey) == 0) || (size(speechRegion) == 0)) { std::cout << "Please set both SPEECH_KEY and SPEECH_REGION environment variables." << std::endl; return -1; } auto speechConfig = SpeechConfig::FromSubscription(speechKey, speechRegion); // The neural multilingual voice can speak different languages based on the input text. speechConfig->SetSpeechSynthesisVoiceName("en-US-AvaMultilingualNeural"); auto speechSynthesizer = SpeechSynthesizer::FromConfig(speechConfig); // Get text from the console and synthesize to the default speaker. std::cout << "Enter some text that you want to speak >" << std::endl; std::string text; getline(std::cin, text); auto result = speechSynthesizer->SpeakTextAsync(text).get(); // Checks result. if (result->Reason == ResultReason::SynthesizingAudioCompleted) { std::cout << "Speech synthesized to speaker for text [" << text << "]" << std::endl; } else if (result->Reason == ResultReason::Canceled) { auto cancellation = SpeechSynthesisCancellationDetails::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::cout << "Press enter to exit..." << std::endl; std::cin.get(); } 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 }
도구>Nuget 패키지 관리자>패키지 관리자 콘솔을 선택합니다. 패키지 관리자 콘솔에서 다음 명령을 실행합니다.
Install-Package Microsoft.CognitiveServices.Speech
음성 합성 언어를 변경하려면
en-US-AvaMultilingualNeural
을 다른 지원되는 음성으로 바꿉니다.모든 인공신경망 음성은 다국어이며 모국어와 영어를 유창하게 구사합니다. 예를 들어 영어로 표시된 입력 텍스트가 I'm excited to try text to speech이고
es-ES-ElviraNeural
로 설정하면 텍스트를 스페인 악센트가 포함된 영어로 읽습니다. 음성이 입력 텍스트의 언어를 말하지 않는 경우 Speech Service에서 합성된 오디오를 출력하지 않습니다.새 콘솔 애플리케이션을 빌드하고 실행하여 기본 화자에 대한 음성 합성을 시작합니다.
Important
SPEECH_KEY
및SPEECH_REGION
환경 변수를 설정해야 합니다. 이 변수를 설정하지 않으면 샘플이 오류 메시지와 함께 실패합니다.말하려는 텍스트를 입력합니다. 예를 들어 텍스트 음성 변환을 시도하게 되어 기쁩니다를 입력합니다. Enter 키를 선택하여 합성된 음성을 듣습니다.
Enter some text that you want to speak > I'm excited to try text to speech
설명
다양한 음성 합성 옵션
이 빠른 시작에서는 SpeakTextAsync
작업을 사용하여 입력한 짧은 텍스트 블록을 합성합니다. 또한 파일에서 긴 형식의 텍스트를 사용하고 음성 스타일, 운율 및 기타 설정을 더 세밀하게 제어할 수 있습니다.
- 파일의 음성 합성과 음성 스타일, 운율, 기타 설정의 더 세밀한 제어에 관한 자세한 내용은 음성을 합성하는 방법과 SSML(음성 합성 표시 언어) 개요를 참조하세요.
- 긴 형식의 텍스트 음성 변환 합성에 대한 내용은 텍스트 음성 변환을 위한 일괄 처리 합성 API를 참조하세요.
Azure AI Speech의 OpenAI 텍스트 음성 변환 음성
OpenAI 텍스트 음성 변환 음성도 지원됩니다. Azure AI Speech의 OpenAI 텍스트 음성 변환 음성 및 다국어 음성을 참조하세요. en-US-AvaMultilingualNeural
을 지원되는 OpenAI 음성 이름(예: en-US-FableMultilingualNeural
)으로 바꿀 수 있습니다.
리소스 정리
Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.
참조 설명서 | 패키지(Go) | GitHub의 추가 샘플
Azure AI 음성을 사용하면 인간과 유사한 음성을 합성하여 텍스트를 읽는 애플리케이션을 실행할 수 있습니다. 음성을 변경하고, 말할 텍스트를 입력하고, 컴퓨터 스피커의 출력을 들을 수 있습니다.
팁
가입하거나 코드를 작성하지 않고도 Speech Studio 음성 갤러리에서 텍스트를 음성으로 변환해 볼 수 있습니다.
팁
Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI Speech Toolkit 을 사용해 보세요.
필수 구성 요소
- Azure 구독 무료로 하나를 만들 수 있습니다.
- Azure Portal에서 음성 리소스를 만듭니다.
- 음성 리소스 키 및 지역을 가져옵니다. 음성 리소스가 배포된 후, 리소스로 이동을 선택하여 키를 보고 관리합니다.
환경 설정
Go 언어용 Speech SDK를 설치합니다. 자세한 설치 지침은 Speech SDK 설치를 참조하세요.
환경 변수 설정
Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.
Important
클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.
API 키를 사용하는 경우 Azure Key Vault와 같이 다른 곳에 안전하게 저장합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요.
AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.
Speech 리소스 키와 지역에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.
SPEECH_KEY
환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.SPEECH_REGION
환경 변수를 설정하려면 your-region를 리소스에 대한 지역 중 하나로 바꿉니다.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
참고 항목
현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 setx
대신 set
으로 설정할 수 있습니다.
환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.
애플리케이션 만들기
다음 단계에 따라 GO 모듈을 만듭니다.
새 프로젝트가 필요한 폴더에서 명령 프롬프트 창을 엽니다. speech-synthesis.go라는 새 파일을 만듭니다.
다음 코드를 speech-synthesis.go에 복사합니다.
package main import ( "bufio" "fmt" "os" "strings" "time" "github.com/Microsoft/cognitive-services-speech-sdk-go/audio" "github.com/Microsoft/cognitive-services-speech-sdk-go/common" "github.com/Microsoft/cognitive-services-speech-sdk-go/speech" ) func synthesizeStartedHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Println("Synthesis started.") } func synthesizingHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Printf("Synthesizing, audio chunk size %d.\n", len(event.Result.AudioData)) } func synthesizedHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Printf("Synthesized, audio length %d.\n", len(event.Result.AudioData)) } func cancelledHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Println("Received a cancellation.") } 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.NewAudioConfigFromDefaultSpeakerOutput() 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() speechConfig.SetSpeechSynthesisVoiceName("en-US-AvaMultilingualNeural") speechSynthesizer, err := speech.NewSpeechSynthesizerFromConfig(speechConfig, audioConfig) if err != nil { fmt.Println("Got an error: ", err) return } defer speechSynthesizer.Close() speechSynthesizer.SynthesisStarted(synthesizeStartedHandler) speechSynthesizer.Synthesizing(synthesizingHandler) speechSynthesizer.SynthesisCompleted(synthesizedHandler) speechSynthesizer.SynthesisCanceled(cancelledHandler) for { fmt.Printf("Enter some text that you want to speak, or enter empty text to exit.\n> ") text, _ := bufio.NewReader(os.Stdin).ReadString('\n') text = strings.TrimSuffix(text, "\n") if len(text) == 0 { break } task := speechSynthesizer.SpeakTextAsync(text) var outcome speech.SpeechSynthesisOutcome select { case outcome = <-task: case <-time.After(60 * time.Second): fmt.Println("Timed out") return } defer outcome.Close() if outcome.Error != nil { fmt.Println("Got an error: ", outcome.Error) return } if outcome.Result.Reason == common.SynthesizingAudioCompleted { fmt.Printf("Speech synthesized to speaker for text [%s].\n", text) } else { cancellation, _ := speech.NewCancellationDetailsFromSpeechSynthesisResult(outcome.Result) fmt.Printf("CANCELED: Reason=%d.\n", cancellation.Reason) if cancellation.Reason == common.Error { fmt.Printf("CANCELED: ErrorCode=%d\nCANCELED: ErrorDetails=[%s]\nCANCELED: Did you set the speech resource key and region values?\n", cancellation.ErrorCode, cancellation.ErrorDetails) } } } }
음성 합성 언어를 변경하려면
en-US-AvaMultilingualNeural
을 다른 지원되는 음성으로 바꿉니다.모든 인공신경망 음성은 다국어이며 모국어와 영어를 유창하게 구사합니다. 예를 들어 영어로 표시된 입력 텍스트가 I'm excited to try text to speech이고
es-ES-ElviraNeural
로 설정하면 텍스트를 스페인 악센트가 포함된 영어로 읽습니다. 음성이 입력 텍스트의 언어를 말하지 않는 경우 Speech Service에서 합성된 오디오를 출력하지 않습니다.다음 명령을 실행하여 GitHub에서 호스팅되는 구성 요소에 연결되는 go.mod 파일을 만듭니다.
go mod init speech-synthesis go get github.com/Microsoft/cognitive-services-speech-sdk-go
Important
SPEECH_KEY
및SPEECH_REGION
환경 변수를 설정해야 합니다. 이 변수를 설정하지 않으면 샘플이 오류 메시지와 함께 실패합니다.이제 코드를 빌드하고 실행합니다.
go build go run speech-synthesis
설명
Azure AI Speech의 OpenAI 텍스트 음성 변환 음성
OpenAI 텍스트 음성 변환 음성도 지원됩니다. Azure AI Speech의 OpenAI 텍스트 음성 변환 음성 및 다국어 음성을 참조하세요. en-US-AvaMultilingualNeural
을 지원되는 OpenAI 음성 이름(예: en-US-FableMultilingualNeural
)으로 바꿀 수 있습니다.
리소스 정리
Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.
Azure AI 음성을 사용하면 인간과 유사한 음성을 합성하여 텍스트를 읽는 애플리케이션을 실행할 수 있습니다. 음성을 변경하고, 말할 텍스트를 입력하고, 컴퓨터 스피커의 출력을 들을 수 있습니다.
팁
가입하거나 코드를 작성하지 않고도 Speech Studio 음성 갤러리에서 텍스트를 음성으로 변환해 볼 수 있습니다.
팁
Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI Speech Toolkit 을 사용해 보세요.
필수 구성 요소
- Azure 구독 무료로 하나를 만들 수 있습니다.
- Azure Portal에서 음성 리소스를 만듭니다.
- 음성 리소스 키 및 지역을 가져옵니다. 음성 리소스가 배포된 후, 리소스로 이동을 선택하여 키를 보고 관리합니다.
환경 설정
환경을 설정하려면 Speech SDK를 설치합니다. 이 빠른 시작의 샘플은 Java 런타임에서 작동합니다.
Apache Maven을 설치합니다. 그런 다음
mvn -v
을(를) 실행하여 성공적인 설치를 확인합니다.프로젝트의 루트에 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.40.0</version> </dependency> </dependencies> </project>
Speech SDK 및 종속성을 설치합니다.
mvn clean dependency:copy-dependencies
환경 변수 설정
Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.
Important
클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.
API 키를 사용하는 경우 Azure Key Vault와 같이 다른 곳에 안전하게 저장합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요.
AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.
Speech 리소스 키와 지역에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.
SPEECH_KEY
환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.SPEECH_REGION
환경 변수를 설정하려면 your-region를 리소스에 대한 지역 중 하나로 바꿉니다.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
참고 항목
현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 setx
대신 set
으로 설정할 수 있습니다.
환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.
애플리케이션 만들기
음성 인식을 위한 새 콘솔 애플리케이션을 만들려면 다음 단계를 수행합니다.
동일한 프로젝트 루트 디렉터리에 SpeechSynthesis.java라는 파일을 만듭니다.
다음 코드를 SpeechSynthesis.java에 복사합니다.
import com.microsoft.cognitiveservices.speech.*; import com.microsoft.cognitiveservices.speech.audio.*; import java.util.Scanner; import java.util.concurrent.ExecutionException; public class SpeechSynthesis { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" private static String speechKey = System.getenv("SPEECH_KEY"); private static String speechRegion = System.getenv("SPEECH_REGION"); public static void main(String[] args) throws InterruptedException, ExecutionException { SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechKey, speechRegion); speechConfig.setSpeechSynthesisVoiceName("en-US-AvaMultilingualNeural"); SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer(speechConfig); // Get text from the console and synthesize to the default speaker. System.out.println("Enter some text that you want to speak >"); String text = new Scanner(System.in).nextLine(); if (text.isEmpty()) { return; } SpeechSynthesisResult speechSynthesisResult = speechSynthesizer.SpeakTextAsync(text).get(); if (speechSynthesisResult.getReason() == ResultReason.SynthesizingAudioCompleted) { System.out.println("Speech synthesized to speaker for text [" + text + "]"); } else if (speechSynthesisResult.getReason() == ResultReason.Canceled) { SpeechSynthesisCancellationDetails cancellation = SpeechSynthesisCancellationDetails.fromResult(speechSynthesisResult); 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); } }
음성 합성 언어를 변경하려면
en-US-AvaMultilingualNeural
을 다른 지원되는 음성으로 바꿉니다.모든 인공신경망 음성은 다국어이며 모국어와 영어를 유창하게 구사합니다. 예를 들어 영어로 표시된 입력 텍스트가 I'm excited to try text to speech이고
es-ES-ElviraNeural
로 설정하면 텍스트를 스페인 악센트가 포함된 영어로 읽습니다. 음성이 입력 텍스트의 언어를 말하지 않는 경우 Speech Service에서 합성된 오디오를 출력하지 않습니다.사용자의 콘솔 애플리케이션을 실행하여 음성 합성을 기본 화자로 출력합니다.
javac SpeechSynthesis.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" SpeechSynthesis
Important
SPEECH_KEY
및SPEECH_REGION
환경 변수를 설정해야 합니다. 이 변수를 설정하지 않으면 샘플이 오류 메시지와 함께 실패합니다.말하려는 텍스트를 입력합니다. 예를 들어 텍스트 음성 변환을 시도하게 되어 기쁩니다를 입력합니다. Enter 키를 선택하여 합성된 음성을 듣습니다.
Enter some text that you want to speak > I'm excited to try text to speech
설명
다양한 음성 합성 옵션
이 빠른 시작에서는 SpeakTextAsync
작업을 사용하여 입력한 짧은 텍스트 블록을 합성합니다. 또한 파일에서 긴 형식의 텍스트를 사용하고 음성 스타일, 운율 및 기타 설정을 더 세밀하게 제어할 수 있습니다.
- 파일의 음성 합성과 음성 스타일, 운율, 기타 설정의 더 세밀한 제어에 관한 자세한 내용은 음성을 합성하는 방법과 SSML(음성 합성 표시 언어) 개요를 참조하세요.
- 긴 형식의 텍스트 음성 변환 합성에 대한 내용은 텍스트 음성 변환을 위한 일괄 처리 합성 API를 참조하세요.
Azure AI Speech의 OpenAI 텍스트 음성 변환 음성
OpenAI 텍스트 음성 변환 음성도 지원됩니다. Azure AI Speech의 OpenAI 텍스트 음성 변환 음성 및 다국어 음성을 참조하세요. en-US-AvaMultilingualNeural
을 지원되는 OpenAI 음성 이름(예: en-US-FableMultilingualNeural
)으로 바꿀 수 있습니다.
리소스 정리
Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.
참조 설명서 | 패키지(npm) | GitHub의 추가 샘플 | 라이브러리 소스 코드
Azure AI 음성을 사용하면 인간과 유사한 음성을 합성하여 텍스트를 읽는 애플리케이션을 실행할 수 있습니다. 음성을 변경하고, 말할 텍스트를 입력하고, 컴퓨터 스피커의 출력을 들을 수 있습니다.
팁
가입하거나 코드를 작성하지 않고도 Speech Studio 음성 갤러리에서 텍스트를 음성으로 변환해 볼 수 있습니다.
팁
Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI Speech Toolkit 을 사용해 보세요.
필수 구성 요소
- Azure 구독 무료로 하나를 만들 수 있습니다.
- Azure Portal에서 음성 리소스를 만듭니다.
- 음성 리소스 키 및 지역을 가져옵니다. 음성 리소스가 배포된 후, 리소스로 이동을 선택하여 키를 보고 관리합니다.
환경 설정
환경을 설정하려면 JavaScript용 Speech SDK를 설치합니다. 설치할 패키지 이름만 알고 싶으면 npm install microsoft-cognitiveservices-speech-sdk
를 실행합니다. 자세한 설치 지침은 Speech SDK 설치를 참조하세요.
환경 변수 설정
Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.
Important
클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.
API 키를 사용하는 경우 Azure Key Vault와 같이 다른 곳에 안전하게 저장합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요.
AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.
Speech 리소스 키와 지역에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.
SPEECH_KEY
환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.SPEECH_REGION
환경 변수를 설정하려면 your-region를 리소스에 대한 지역 중 하나로 바꿉니다.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
참고 항목
현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 setx
대신 set
으로 설정할 수 있습니다.
환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.
애플리케이션 만들기
음성 합성을 위한 Node.js 콘솔 애플리케이션을 만들려면 다음 단계를 수행합니다.
새 프로젝트를 원하는 콘솔 창을 연 다음 SpeechSynthesis.js라는 이름의 파일을 만듭니다.
JavaScript용 Speech SDK를 설치합니다.
npm install microsoft-cognitiveservices-speech-sdk
다음 코드를 SpeechSynthesis.js에 복사합니다.
(function() { "use strict"; var sdk = require("microsoft-cognitiveservices-speech-sdk"); var readline = require("readline"); var audioFile = "YourAudioFile.wav"; // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" const speechConfig = sdk.SpeechConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION); const audioConfig = sdk.AudioConfig.fromAudioFileOutput(audioFile); // The language of the voice that speaks. speechConfig.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural"; // Create the speech synthesizer. var synthesizer = new sdk.SpeechSynthesizer(speechConfig, audioConfig); var rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.question("Enter some text that you want to speak >\n> ", function (text) { rl.close(); // Start the synthesizer and wait for a result. synthesizer.speakTextAsync(text, function (result) { if (result.reason === sdk.ResultReason.SynthesizingAudioCompleted) { console.log("synthesis finished."); } else { console.error("Speech synthesis canceled, " + result.errorDetails + "\nDid you set the speech resource key and region values?"); } synthesizer.close(); synthesizer = null; }, function (err) { console.trace("err - " + err); synthesizer.close(); synthesizer = null; }); console.log("Now synthesizing to: " + audioFile); }); }());
SpeechSynthesis.js에서 필요에 따라 YourAudioFile.wav의 이름을 다른 출력 파일의 이름으로 변경할 수 있습니다.
음성 합성 언어를 변경하려면
en-US-AvaMultilingualNeural
을 다른 지원되는 음성으로 바꿉니다.모든 인공신경망 음성은 다국어이며 모국어와 영어를 유창하게 구사합니다. 예를 들어 영어로 표시된 입력 텍스트가 I'm excited to try text to speech이고
es-ES-ElviraNeural
로 설정하면 텍스트를 스페인 악센트가 포함된 영어로 읽습니다. 음성이 입력 텍스트의 언어를 말하지 않는 경우 음성 서비스에서 합성된 오디오를 출력하지 않습니다.콘솔 애플리케이션을 실행하여 파일에 대한 음성 합성을 시작합니다.
node SpeechSynthesis.js
Important
SPEECH_KEY
및SPEECH_REGION
환경 변수를 설정해야 합니다. 이 변수를 설정하지 않으면 샘플이 오류 메시지와 함께 실패합니다.제공된 텍스트가 오디오 파일이어야 합니다.
Enter some text that you want to speak > > I'm excited to try text to speech Now synthesizing to: YourAudioFile.wav synthesis finished.
설명
다양한 음성 합성 옵션
이 빠른 시작에서는 SpeakTextAsync
작업을 사용하여 입력한 짧은 텍스트 블록을 합성합니다. 또한 파일에서 긴 형식의 텍스트를 사용하고 음성 스타일, 운율 및 기타 설정을 더 세밀하게 제어할 수 있습니다.
- 파일의 음성 합성과 음성 스타일, 운율, 기타 설정의 더 세밀한 제어에 관한 자세한 내용은 음성을 합성하는 방법과 SSML(음성 합성 표시 언어) 개요를 참조하세요.
- 긴 형식의 텍스트 음성 변환 합성에 대한 내용은 텍스트 음성 변환을 위한 일괄 처리 합성 API를 참조하세요.
Azure AI Speech의 OpenAI 텍스트 음성 변환 음성
OpenAI 텍스트 음성 변환 음성도 지원됩니다. Azure AI Speech의 OpenAI 텍스트 음성 변환 음성 및 다국어 음성을 참조하세요. en-US-AvaMultilingualNeural
을 지원되는 OpenAI 음성 이름(예: en-US-FableMultilingualNeural
)으로 바꿀 수 있습니다.
리소스 정리
Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.
참조 설명서 | 패키지(다운로드) | GitHub의 추가 샘플
Azure AI 음성을 사용하면 인간과 유사한 음성을 합성하여 텍스트를 읽는 애플리케이션을 실행할 수 있습니다. 음성을 변경하고, 말할 텍스트를 입력하고, 컴퓨터 스피커의 출력을 들을 수 있습니다.
팁
가입하거나 코드를 작성하지 않고도 Speech Studio 음성 갤러리에서 텍스트를 음성으로 변환해 볼 수 있습니다.
팁
Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI Speech Toolkit 을 사용해 보세요.
필수 구성 요소
- Azure 구독 무료로 하나를 만들 수 있습니다.
- Azure Portal에서 음성 리소스를 만듭니다.
- 음성 리소스 키 및 지역을 가져옵니다. 음성 리소스가 배포된 후, 리소스로 이동을 선택하여 키를 보고 관리합니다.
환경 설정
Objective-C용 Speech SDK는 프레임워크 번들로 배포됩니다. 프레임워크는 iOS와 macOS 모두에서 Objective-C 및 Swift를 모두 지원합니다.
이 음성 SDK는 Xcode 프로젝트에서 CocoaPod로 사용하거나, 직접 다운로드하고 수동으로 연결할 수 있습니다. 이 가이드에서는 CocoaPod를 사용합니다. 해당 설치 지침에 설명된 대로 CocoaPod 종속성 관리자를 설치합니다.
환경 변수 설정
Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.
Important
클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.
API 키를 사용하는 경우 Azure Key Vault와 같이 다른 곳에 안전하게 저장합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요.
AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.
Speech 리소스 키와 지역에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.
SPEECH_KEY
환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.SPEECH_REGION
환경 변수를 설정하려면 your-region를 리소스에 대한 지역 중 하나로 바꿉니다.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
참고 항목
현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 setx
대신 set
으로 설정할 수 있습니다.
환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.
애플리케이션 만들기
macOS 애플리케이션에서 음성을 합성하려면 다음 단계를 수행합니다.
Azure-Samples/cognitive-services-speech-sdk 리포지토리를 복제하여 음성 SDK를 사용하여 macOS의 Objective-C에서 오디오 합성 샘플 프로젝트를 가져옵니다. 리포지토리에는 iOS 샘플도 있습니다.
터미널에서 다운로드한 샘플 앱(
helloworld
)의 디렉터리를 엽니다.pod install
명령을 실행합니다. 이 명령은 샘플 앱 및 Speech SDK를 종속성으로 모두 포함하는helloworld.xcworkspace
Xcode 작업 영역을 생성합니다.XCode에서
helloworld.xcworkspace
작업 영역을 엽니다.여기에 표시된 대로 AppDelegate.m이라는 파일을 열고
buttonPressed
메서드를 찾습니다.- (void)buttonPressed:(NSButton *)button { // Creates an instance of a speech config with specified subscription key and service region. NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"]; NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"]; SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:speechKey region:serviceRegion]; speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural"; SPXSpeechSynthesizer *speechSynthesizer = [[SPXSpeechSynthesizer alloc] init:speechConfig]; NSLog(@"Start synthesizing..."); SPXSpeechSynthesisResult *speechResult = [speechSynthesizer speakText:[self.textField stringValue]]; // Checks result. if (SPXResultReason_Canceled == speechResult.reason) { SPXSpeechSynthesisCancellationDetails *details = [[SPXSpeechSynthesisCancellationDetails alloc] initFromCanceledSynthesisResult:speechResult]; NSLog(@"Speech synthesis was canceled: %@. Did you set the speech resource key and region values?", details.errorDetails); } else if (SPXResultReason_SynthesizingAudioCompleted == speechResult.reason) { NSLog(@"Speech synthesis was completed"); } else { NSLog(@"There was an error."); } }
AppDelegate.m에서 음성 리소스 키 및 지역에 대해 이전에 설정한 환경 변수를 사용합니다.
NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"]; NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
AppDelegate.m에서 필요에 따라 다음과 같이 음성 합성 음성 이름을 포함합니다.
speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
음성 합성 언어를 변경하려면
en-US-AvaMultilingualNeural
을 다른 지원되는 음성으로 바꿉니다.모든 인공신경망 음성은 다국어이며 모국어와 영어를 유창하게 구사합니다. 예를 들어 영어로 표시된 입력 텍스트가 I'm excited to try text to speech이고
es-ES-ElviraNeural
로 설정하면 텍스트를 스페인 악센트가 포함된 영어로 읽습니다. 음성이 입력 텍스트의 언어를 말하지 않는 경우 음성 서비스에서 합성된 오디오를 출력하지 않습니다.디버그 출력을 표시하려면 보기>디버그 영역>콘솔 활성화를 선택합니다.
예제 코드를 빌드하고 실행하려면 메뉴에서 제품>실행을 선택하거나 재생 단추를 선택합니다.
Important
SPEECH_KEY
및SPEECH_REGION
환경 변수를 설정해야 합니다. 이 변수를 설정하지 않으면 샘플이 오류 메시지와 함께 실패합니다.
텍스트를 입력하고 앱의 단추를 선택하면 합성된 오디오가 재생됩니다.
설명
다양한 음성 합성 옵션
이 빠른 시작에서는 SpeakText
작업을 사용하여 입력한 짧은 텍스트 블록을 합성합니다. 또한 파일에서 긴 형식의 텍스트를 사용하고 음성 스타일, 운율 및 기타 설정을 더 세밀하게 제어할 수 있습니다.
- 파일의 음성 합성과 음성 스타일, 운율, 기타 설정의 더 세밀한 제어에 관한 자세한 내용은 음성을 합성하는 방법과 SSML(음성 합성 표시 언어) 개요를 참조하세요.
- 긴 형식의 텍스트 음성 변환 합성에 대한 내용은 텍스트 음성 변환을 위한 일괄 처리 합성 API를 참조하세요.
Azure AI Speech의 OpenAI 텍스트 음성 변환 음성
OpenAI 텍스트 음성 변환 음성도 지원됩니다. Azure AI Speech의 OpenAI 텍스트 음성 변환 음성 및 다국어 음성을 참조하세요. en-US-AvaMultilingualNeural
을 지원되는 OpenAI 음성 이름(예: en-US-FableMultilingualNeural
)으로 바꿀 수 있습니다.
리소스 정리
Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.
참조 설명서 | 패키지(다운로드) | GitHub의 추가 샘플
Azure AI 음성을 사용하면 인간과 유사한 음성을 합성하여 텍스트를 읽는 애플리케이션을 실행할 수 있습니다. 음성을 변경하고, 말할 텍스트를 입력하고, 컴퓨터 스피커의 출력을 들을 수 있습니다.
팁
가입하거나 코드를 작성하지 않고도 Speech Studio 음성 갤러리에서 텍스트를 음성으로 변환해 볼 수 있습니다.
팁
Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI Speech Toolkit 을 사용해 보세요.
필수 구성 요소
- Azure 구독 무료로 하나를 만들 수 있습니다.
- Azure Portal에서 음성 리소스를 만듭니다.
- 음성 리소스 키 및 지역을 가져옵니다. 음성 리소스가 배포된 후, 리소스로 이동을 선택하여 키를 보고 관리합니다.
환경 설정
Swift용 Speech SDK는 프레임워크 번들로 배포됩니다. 프레임워크는 iOS와 macOS 모두에서 Objective-C 및 Swift를 모두 지원합니다.
이 음성 SDK는 Xcode 프로젝트에서 CocoaPod로 사용하거나, 직접 다운로드하고 수동으로 연결할 수 있습니다. 이 가이드에서는 CocoaPod를 사용합니다. 해당 설치 지침에 설명된 대로 CocoaPod 종속성 관리자를 설치합니다.
환경 변수 설정
Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.
Important
클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.
API 키를 사용하는 경우 Azure Key Vault와 같이 다른 곳에 안전하게 저장합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요.
AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.
Speech 리소스 키와 지역에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.
SPEECH_KEY
환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.SPEECH_REGION
환경 변수를 설정하려면 your-region를 리소스에 대한 지역 중 하나로 바꿉니다.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
참고 항목
현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 setx
대신 set
으로 설정할 수 있습니다.
환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.
애플리케이션 만들기
macOS 애플리케이션에서 음성을 합성하려면 다음 단계를 수행합니다.
Azure-Samples/cognitive-services-speech-sdk 리포지토리를 복제하여 음성 SDK를 사용하여 macOS의 Swift에서 오디오 합성 샘플 프로젝트를 가져옵니다. 리포지토리에는 iOS 샘플도 있습니다.
터미널에서 다운로드한 샘플 앱(
helloworld
)의 디렉터리로 이동합니다.pod install
명령을 실행합니다. 이 명령은 샘플 앱 및 Speech SDK를 종속성으로 모두 포함하는helloworld.xcworkspace
Xcode 작업 영역을 생성합니다.XCode에서
helloworld.xcworkspace
작업 영역을 엽니다.여기에 표시된 대로 AppDelegate.swift라는 파일을 열고
applicationDidFinishLaunching
및synthesize
메서드를 찾습니다.import Cocoa @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate, NSTextFieldDelegate { var textField: NSTextField! var synthesisButton: NSButton! var inputText: String! 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"] inputText = "" textField = NSTextField(frame: NSRect(x: 100, y: 200, width: 200, height: 50)) textField.textColor = NSColor.black textField.lineBreakMode = .byWordWrapping textField.placeholderString = "Type something to synthesize." textField.delegate = self self.window.contentView?.addSubview(textField) synthesisButton = NSButton(frame: NSRect(x: 100, y: 100, width: 200, height: 30)) synthesisButton.title = "Synthesize" synthesisButton.target = self synthesisButton.action = #selector(synthesisButtonClicked) self.window.contentView?.addSubview(synthesisButton) } @objc func synthesisButtonClicked() { DispatchQueue.global(qos: .userInitiated).async { self.synthesize() } } func synthesize() { var speechConfig: SPXSpeechConfiguration? do { try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region) } catch { print("error \(error) happened") speechConfig = nil } speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural"; let synthesizer = try! SPXSpeechSynthesizer(speechConfig!) let result = try! synthesizer.speakText(inputText) if result.reason == SPXResultReason.canceled { let cancellationDetails = try! SPXSpeechSynthesisCancellationDetails(fromCanceledSynthesisResult: result) print("cancelled, error code: \(cancellationDetails.errorCode) detail: \(cancellationDetails.errorDetails!) ") print("Did you set the speech resource key and region values?"); return } } func controlTextDidChange(_ obj: Notification) { let textFiled = obj.object as! NSTextField inputText = textFiled.stringValue } }
AppDelegate.m에서 음성 리소스 키 및 지역에 대해 이전에 설정한 환경 변수를 사용합니다.
sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
AppDelegate.m에서 필요에 따라 다음과 같이 음성 합성 음성 이름을 포함합니다.
speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural";
음성 합성 언어를 변경하려면
en-US-AvaMultilingualNeural
을 다른 지원되는 음성으로 바꿉니다.모든 인공신경망 음성은 다국어이며 모국어와 영어를 유창하게 구사합니다. 예를 들어 영어로 표시된 입력 텍스트가 I'm excited to try text to speech이고
es-ES-ElviraNeural
로 설정하면 텍스트를 스페인 악센트가 포함된 영어로 읽습니다. 음성이 입력 텍스트의 언어를 말하지 않는 경우 음성 서비스에서 합성된 오디오를 출력하지 않습니다.디버그 출력을 표시하려면 보기>디버그 영역>콘솔 활성화를 선택합니다.
예제 코드를 빌드하고 실행하려면 메뉴에서 제품>실행을 선택하거나 재생 단추를 선택합니다.
Important
SPEECH_KEY
및 SPEECH_REGION
환경 변수를 설정해야 합니다. 이 변수를 설정하지 않으면 샘플이 오류 메시지와 함께 실패합니다.
텍스트를 입력하고 앱의 단추를 선택하면 합성된 오디오가 재생됩니다.
설명
다양한 음성 합성 옵션
이 빠른 시작에서는 SpeakText
작업을 사용하여 입력한 짧은 텍스트 블록을 합성합니다. 또한 파일에서 긴 형식의 텍스트를 사용하고 음성 스타일, 운율 및 기타 설정을 더 세밀하게 제어할 수 있습니다.
- 파일의 음성 합성과 음성 스타일, 운율, 기타 설정의 더 세밀한 제어에 관한 자세한 내용은 음성을 합성하는 방법과 SSML(음성 합성 표시 언어) 개요를 참조하세요.
- 긴 형식의 텍스트 음성 변환 합성에 대한 내용은 텍스트 음성 변환을 위한 일괄 처리 합성 API를 참조하세요.
Azure AI Speech의 OpenAI 텍스트 음성 변환 음성
OpenAI 텍스트 음성 변환 음성도 지원됩니다. Azure AI Speech의 OpenAI 텍스트 음성 변환 음성 및 다국어 음성을 참조하세요. en-US-AvaMultilingualNeural
을 지원되는 OpenAI 음성 이름(예: en-US-FableMultilingualNeural
)으로 바꿀 수 있습니다.
리소스 정리
Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.
참조 설명서 | 패키지(PyPi) | GitHub의 추가 샘플
Azure AI 음성을 사용하면 인간과 유사한 음성을 합성하여 텍스트를 읽는 애플리케이션을 실행할 수 있습니다. 음성을 변경하고, 말할 텍스트를 입력하고, 컴퓨터 스피커의 출력을 들을 수 있습니다.
팁
가입하거나 코드를 작성하지 않고도 Speech Studio 음성 갤러리에서 텍스트를 음성으로 변환해 볼 수 있습니다.
팁
Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI Speech Toolkit 을 사용해 보세요.
필수 구성 요소
- Azure 구독 무료로 하나를 만들 수 있습니다.
- Azure Portal에서 음성 리소스를 만듭니다.
- 음성 리소스 키 및 지역을 가져옵니다. 음성 리소스가 배포된 후, 리소스로 이동을 선택하여 키를 보고 관리합니다.
환경 설정
Python용 Speech SDK는 PyPI(Python Package Index) 모듈로 사용할 수 있습니다. Python용 Speech SDK는 Windows, Linux 및 macOS와 호환됩니다.
- Windows의 경우 플랫폼에 맞는 Microsoft Visual Studio용 Visual C++ 재배포 가능 패키지 2015, 2017, 2019, 2022를 설치해야 합니다. 이 패키지를 설치하려면 다시 시작해야 할 수 있습니다.
- Linux에서는 x64 대상 아키텍처를 사용해야 합니다.
Python 3.7 이상 버전을 설치합니다. 모든 요구 사항은 음성 SDK 설치를 참조하세요.
환경 변수 설정
Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.
Important
클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.
API 키를 사용하는 경우 Azure Key Vault와 같이 다른 곳에 안전하게 저장합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요.
AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.
Speech 리소스 키와 지역에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.
SPEECH_KEY
환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.SPEECH_REGION
환경 변수를 설정하려면 your-region를 리소스에 대한 지역 중 하나로 바꿉니다.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
참고 항목
현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 setx
대신 set
으로 설정할 수 있습니다.
환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.
애플리케이션 만들기
콘솔 애플리케이션을 만들려면 다음 단계를 수행합니다.
새 프로젝트가 필요한 폴더에서 명령 프롬프트 창을 엽니다. speech_synthesis.py라는 파일을 만듭니다.
다음 명령을 실행하여 Speech SDK를 설치합니다.
pip install azure-cognitiveservices-speech
다음 코드를 speech_synthesis.py에 복사합니다.
import os import azure.cognitiveservices.speech as speechsdk # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION')) audio_config = speechsdk.audio.AudioOutputConfig(use_default_speaker=True) # The neural multilingual voice can speak different languages based on the input text. speech_config.speech_synthesis_voice_name='en-US-AvaMultilingualNeural' speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config) # Get text from the console and synthesize to the default speaker. print("Enter some text that you want to speak >") text = input() speech_synthesis_result = speech_synthesizer.speak_text_async(text).get() if speech_synthesis_result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted: print("Speech synthesized for text [{}]".format(text)) elif speech_synthesis_result.reason == speechsdk.ResultReason.Canceled: cancellation_details = speech_synthesis_result.cancellation_details print("Speech synthesis canceled: {}".format(cancellation_details.reason)) if cancellation_details.reason == speechsdk.CancellationReason.Error: if cancellation_details.error_details: print("Error details: {}".format(cancellation_details.error_details)) print("Did you set the speech resource key and region values?")
음성 합성 언어를 변경하려면
en-US-AvaMultilingualNeural
을 다른 지원되는 음성으로 바꿉니다.모든 인공신경망 음성은 다국어이며 모국어와 영어를 유창하게 구사합니다. 예를 들어 영어로 표시된 입력 텍스트가 I'm excited to try text to speech이고
es-ES-ElviraNeural
로 설정하면 텍스트를 스페인 악센트가 포함된 영어로 읽습니다. 음성이 입력 텍스트의 언어를 말하지 않는 경우 Speech Service에서 합성된 오디오를 출력하지 않습니다.새 콘솔 애플리케이션을 실행하여 기본 화자에 대한 음성 합성을 시작합니다.
python speech_synthesis.py
Important
SPEECH_KEY
및SPEECH_REGION
환경 변수를 설정해야 합니다. 이 변수를 설정하지 않으면 샘플이 오류 메시지와 함께 실패합니다.말하려는 텍스트를 입력합니다. 예를 들어 텍스트 음성 변환을 시도하게 되어 기쁩니다를 입력합니다. Enter 키를 선택하여 합성된 음성을 듣습니다.
Enter some text that you want to speak > I'm excited to try text to speech
설명
다양한 음성 합성 옵션
이 빠른 시작에서는 speak_text_async
작업을 사용하여 입력한 짧은 텍스트 블록을 합성합니다. 또한 파일에서 긴 형식의 텍스트를 사용하고 음성 스타일, 운율 및 기타 설정을 더 세밀하게 제어할 수 있습니다.
- 파일의 음성 합성과 음성 스타일, 운율, 기타 설정의 더 세밀한 제어에 관한 자세한 내용은 음성을 합성하는 방법과 SSML(음성 합성 표시 언어) 개요를 참조하세요.
- 긴 형식의 텍스트 음성 변환 합성에 대한 내용은 텍스트 음성 변환을 위한 일괄 처리 합성 API를 참조하세요.
Azure AI Speech의 OpenAI 텍스트 음성 변환 음성
OpenAI 텍스트 음성 변환 음성도 지원됩니다. Azure AI Speech의 OpenAI 텍스트 음성 변환 음성 및 다국어 음성을 참조하세요. en-US-AvaMultilingualNeural
을 지원되는 OpenAI 음성 이름(예: en-US-FableMultilingualNeural
)으로 바꿀 수 있습니다.
리소스 정리
Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.
음성 텍스트 변환 REST API 참조 | 짧은 오디오 참조를 위한 음성 텍스트 변환 REST API | GitHub의 추가 샘플
Azure AI 음성을 사용하면 인간과 유사한 음성을 합성하여 텍스트를 읽는 애플리케이션을 실행할 수 있습니다. 음성을 변경하고, 말할 텍스트를 입력하고, 컴퓨터 스피커의 출력을 들을 수 있습니다.
팁
가입하거나 코드를 작성하지 않고도 Speech Studio 음성 갤러리에서 텍스트를 음성으로 변환해 볼 수 있습니다.
팁
Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI Speech Toolkit 을 사용해 보세요.
필수 구성 요소
- Azure 구독 무료로 하나를 만들 수 있습니다.
- Azure Portal에서 음성 리소스를 만듭니다.
- 음성 리소스 키 및 지역을 가져옵니다. 음성 리소스가 배포된 후, 리소스로 이동을 선택하여 키를 보고 관리합니다.
환경 변수 설정
Azure AI 서비스에 액세스하려면 애플리케이션을 인증해야 합니다. 이 문서에서는 환경 변수를 사용하여 자격 증명을 저장하는 방법을 보여 줍니다. 그런 다음, 코드에서 환경 변수에 액세스하여 애플리케이션을 인증할 수 있습니다. 프로덕션의 경우 더 안전한 방법으로 자격 증명을 저장하고 액세스하세요.
Important
클라우드에서 실행되는 애플리케이션에 자격 증명을 저장하지 않으려면 Microsoft Entra ID 인증과 함께 Azure 리소스에 대한 관리 ID를 사용하는 것이 좋습니다.
API 키를 사용하는 경우 Azure Key Vault와 같이 다른 곳에 안전하게 저장합니다. API 키를 코드에 직접 포함하지 말고, 공개적으로 게시하지 마세요.
AI 서비스 보안에 대한 자세한 내용은 Azure AI 서비스에 대한 요청 인증을 참조하세요.
Speech 리소스 키와 지역에 대한 환경 변수를 설정하려면 콘솔 창을 열고 운영 체제 및 개발 환경에 대한 지침을 따릅니다.
SPEECH_KEY
환경 변수를 설정하려면 your-key를 리소스에 대한 키 중 하나로 바꿉니다.SPEECH_REGION
환경 변수를 설정하려면 your-region를 리소스에 대한 지역 중 하나로 바꿉니다.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
참고 항목
현재 콘솔에서만 환경 변수에 액세스해야 하는 경우 환경 변수를 setx
대신 set
으로 설정할 수 있습니다.
환경 변수를 추가한 후에는 콘솔 창을 포함하여 실행 중인 프로그램 중에서 환경 변수를 읽어야 하는 프로그램을 다시 시작해야 할 수도 있습니다. 예를 들어 편집기로 Visual Studio를 사용하는 경우 Visual Studio를 다시 시작한 후 예제를 실행합니다.
음성을 파일로 합성
명령 프롬프트에서 다음 cURL 명령을 실행합니다. 필요에 따라 output.mp3의 이름을 다른 출력 파일의 이름으로 바꿀 수 있습니다.
curl --location --request POST "https://%SPEECH_REGION%.tts.speech.microsoft.com/cognitiveservices/v1" ^
--header "Ocp-Apim-Subscription-Key: %SPEECH_KEY%" ^
--header "Content-Type: application/ssml+xml" ^
--header "X-Microsoft-OutputFormat: audio-16khz-128kbitrate-mono-mp3" ^
--header "User-Agent: curl" ^
--data-raw "<speak version='1.0' xml:lang='en-US'><voice xml:lang='en-US' xml:gender='Female' name='en-US-AvaMultilingualNeural'>my voice is my passport verify me</voice></speak>" --output output.mp3
Important
SPEECH_KEY
및 SPEECH_REGION
환경 변수를 설정해야 합니다. 이 변수를 설정하지 않으면 샘플이 오류 메시지와 함께 실패합니다.
제공된 텍스트가 output.mp3라는 오디오 파일로 출력되어야 합니다.
음성 합성 언어를 변경하려면 en-US-AvaMultilingualNeural
을 다른 지원되는 음성으로 바꿉니다.
모든 인공신경망 음성은 다국어이며 모국어와 영어를 유창하게 구사합니다. 예를 들어 영어로 표시된 입력 텍스트가 I'm excited to try text to speech이고 es-ES-ElviraNeural
로 설정하면 텍스트를 스페인 악센트가 포함된 영어로 읽습니다. 음성이 입력 텍스트의 언어를 말하지 않는 경우 Speech Service에서 합성된 오디오를 출력하지 않습니다.
자세한 내용은 텍스트 음성 변환 REST API를 참조하세요.
설명
Azure AI Speech의 OpenAI 텍스트 음성 변환 음성
OpenAI 텍스트 음성 변환 음성도 지원됩니다. Azure AI Speech의 OpenAI 텍스트 음성 변환 음성 및 다국어 음성을 참조하세요. en-US-AvaMultilingualNeural
을 지원되는 OpenAI 음성 이름(예: en-US-FableMultilingualNeural
)으로 바꿀 수 있습니다.
리소스 정리
Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.
Azure AI 음성을 사용하면 인간과 유사한 음성을 합성하여 텍스트를 읽는 애플리케이션을 실행할 수 있습니다. 음성을 변경하고, 말할 텍스트를 입력하고, 컴퓨터 스피커의 출력을 들을 수 있습니다.
팁
가입하거나 코드를 작성하지 않고도 Speech Studio 음성 갤러리에서 텍스트를 음성으로 변환해 볼 수 있습니다.
팁
Visual Studio Code에서 샘플을 쉽게 빌드하고 실행하려면 Azure AI Speech Toolkit 을 사용해 보세요.
필수 구성 요소
- Azure 구독 무료로 하나를 만들 수 있습니다.
- Azure Portal에서 음성 리소스를 만듭니다.
- 음성 리소스 키 및 지역을 가져옵니다. 음성 리소스가 배포된 후, 리소스로 이동을 선택하여 키를 보고 관리합니다.
환경 설정
다음 단계를 수행합니다. 플랫폼에 대한 추가 요구 사항은 음성 CLI 빠른 시작을 참조하세요.
다음 .NET CLI 명령을 실행하여 음성 CLI를 설치합니다.
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
다음 명령을 실행하여 음성 리소스 키 및 지역을 구성합니다.
SUBSCRIPTION-KEY
를 음성 리소스 키로 바꾸고,REGION
을 음성 리소스 지역으로 바꿉니다.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
화자에게 음성 보내기
다음 명령을 실행하여 음성 합성을 기본 화자로 출력합니다. 음성 및 텍스트를 합성하도록 수정할 수 있습니다.
spx synthesize --text "I'm excited to try text to speech" --voice "en-US-AvaMultilingualNeural"
음성 이름을 설정하지 않으면 en-US
의 기본 음성이 사용됩니다.
모든 인공신경망 음성은 다국어이며 모국어와 영어를 유창하게 구사합니다. 예를 들어 영어로 표시된 입력 텍스트가 I'm excited to try text to speech이고 --voice "es-ES-ElviraNeural"
로 설정하면 텍스트를 스페인 악센트가 포함된 영어로 읽습니다. 음성이 입력 텍스트의 언어를 말하지 않는 경우 Speech Service에서 합성된 오디오를 출력하지 않습니다.
파일 입력 및 출력과 같은 추가 음성 합성 옵션에 대한 정보를 보려면 다음 명령을 실행합니다.
spx help synthesize
설명
SSML 지원
SSML(Speech Synthesis Markup Language)을 사용하여 음성 스타일, 운율 및 기타 설정을 더 세밀하게 제어할 수 있습니다.
Azure AI Speech의 OpenAI 텍스트 음성 변환 음성
OpenAI 텍스트 음성 변환 음성도 지원됩니다. Azure AI Speech의 OpenAI 텍스트 음성 변환 음성 및 다국어 음성을 참조하세요. en-US-AvaMultilingualNeural
을 지원되는 OpenAI 음성 이름(예: en-US-FableMultilingualNeural
)으로 바꿀 수 있습니다.
리소스 정리
Azure Portal 또는 Azure CLI(명령줄 인터페이스)를 사용하여 생성된 음성 리소스를 제거할 수 있습니다.