Azure TTS 를 Cutomize 하기 전
이번 프로젝트를 할때 Azure로 TTS를 이용하기로 하였고 이 TTS의 기능을 활용하여 실제 원어민 발음과 같이 할수 있도록 모델 트레이닝을 해보고 그 모델을 적용하려고 한다. 그를 위해 난 일단 Azure 의 계정을 기존에 만들어 놓은걸 로그인했다.

그후, Cognitive Services 리소스를 설정해야한다.
여기서 Speech Service Resource 는 TTS 서비스를 사용하기 위해 Speech Service Resource 가 필요하며, 이것에서 API 키와 엔드 포인트정보를 제공한다.
이 Speech Service Resource를 설정할때, Region, Resource Name, Subscription Key, 그리고 Endpoint를 볼수 있는데,
- 리전(region): 서비스가 활성화된 위치(예: eastus, westus 등).
- 리소스 이름: Speech Service를 구분하기 위한 이름.
- 구독 키(subscription key): API 인증에 사용되는 키.
- 엔드포인트(endpoint): API 요청을 보낼 URL.
- Subscription Key(API key) : Azure Speech Service와 통신하기 위한 인증에 필요
-
- Speech Service 리소스 생성 후 제공되는 이며, API 요청시 헤더에 포함하여 인증하는데 사용
'Ocp-Apim-Subscription-Key': '<your-subscription-key>'
- Speech Service 리소스 생성 후 제공되는 이며, API 요청시 헤더에 포함하여 인증하는데 사용
- TTS endpoint
-
- TTS 요청 처리 위해 Azure 에서 제공하는 API URL
- SSML (Speech Synthesis Markeup Language_
-
- 텍스트 음성 변환 (TTS) 의 발음, 억양, 스타일을 제어
- XML 기반의 표준언어 이며, SSML 확장을 통해 스타일(감정 표현등)과 목소리를 제어할수 있음
- 텍스트 음성 변환 (TTS) 의 발음, 억양, 스타일을 제어
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
<voice name="en-US-JennyNeural">
<mstts:express-as style="friendly">
Hello! Welcome to Azure TTS.
</mstts:express-as>
</voice>
</speak>
- HTTP client
- API 요청을 보내고 응답을 처리하기 위해 필요, HTTP 클라이언트를 사용하여 Azure TTS AP에 요청보냄
예를 들어 , Dart 에서 http 페키지를 사용final response = await client.post( Uri.parse('<endpoint>'), headers: { 'Ocp-Apim-Subscription-Key': '<your-subscription-key>', 'Content-Type': 'application/ssml+xml', 'X-Microsoft-OutputFormat': 'audio-16khz-128kbitrate-mono-mp3', }, body: ssml, ); - 출력형식 또한 필요, TTS 에서 생성된 음성데이터의 품질과 형식을 결정 (mp3, wav, Opus)
'X-Microsoft-OutputFormat': 'audio-16khz-128kbitrate-mono-mp3'
- Voice
- 이 기능을 통해 사용할 목소리를 지정해 자연스러운 음성을 생성할수 잇다, 다양한 언어 와 목소리 를 지원하기도한다.
- Custom Voice (사용자 정의 음성)
- 이기능을 통해 고유한 음성을 생성하며, 녹음데이터와 함꼐 사용자 저정의 음성 학습을 시킬수 잇음
- Speech SDK or REST API
- Azure TTS programming 을 사용하기 위해 필요
- Speech SDK:
- 다양한 프로그래밍 언어에서 사용할 수 있는 라이브러리.
- 언어: Python, C#, JavaScript 등.
- REST API:
- HTTP 요청으로 직접 Azure TTS 호출.
- REST API를 통해 SSML 기반 요청을 지원.
고로 체크해야할것들은
- Azure 계정 및 Speech Service 리소스 (Subscription Key, Region, Endpoint)
- SSML (발음, 스타일 제어)
- HTTP 클라이언트 또는 Speech SDK
- Voice 및 Output Format 설정
- Custom Voice
이 될수 있다.
reference:
https://learn.microsoft.com/ko-kr/azure/ai-services/speech-service/overview
Speech Service란? - Azure AI services
Speech Service는 Azure 리소스를 사용하여 음성 텍스트 변환, 텍스트 음성 변환 및 음성 번역 기능을 제공합니다. Speech SDK, Speech Studio 또는 REST API를 사용하여 애플리케이션, 도구 및 디바이스에 음성
learn.microsoft.com
'[Project를 위한 서비스]' 카테고리의 다른 글
| [Cloud] IaaS, PaaS, SaaS 비교및 정리 (0) | 2025.01.06 |
|---|---|
| [Project- study] SEO (Search Engine Optimization) 개념정리 (1) | 2025.01.03 |
| [Project를 위한 서비스 공부] TTS, STT 간단 정리 (3) | 2025.01.02 |