TTS 옵션
Edge·Azure·GPT-SoVITS 등 TTS 엔진의 동작 방식, 음성 선택과 복제, 연결 설정 및 한국어 지원 조건을 알아봅니다.
TTS는 텍스트를 음성으로 만드는 단계입니다. 같은 아바타에 다른 음성을 사용할 수 있고, 같은 음성으로 다른 아바타를 구동할 수도 있습니다. 영상 업로드만으로 원래 목소리가 복제되지는 않습니다.
현재 어댑터 외에 사용할 모델·서비스를 찾는다면 추가 TTS 후보에서 한국어를 지원하는 로컬 모델과 클라우드 서비스를 비교할 수 있습니다.
TTS가 아바타를 말하게 하는 과정
VisionAI에서 TTS 엔진은 목소리와 발음을 만들고, Wav2Lip 같은 아바타 모델은 그 음성에 맞는 입 모양을 만듭니다. tts를 바꾸면 음성 생성 방식이 바뀌고, model이나 avatar_id를 바꾸면 영상 생성 방식이나 인물이 바뀝니다.
입력 문장 또는 LLM 답변
→ 선택한 TTS 서비스·모델에서 음성 합성
→ LiveTalking 어댑터에서 오디오 해석·샘플레이트 변환
→ 16kHz 모노 오디오를 20ms 단위로 아바타에 전달
→ 립싱크 영상과 음성을 WebRTC로 재생
위 오디오 단위는 현재 기본값인 25fps 기준입니다. TTS 어댑터는 VisionAI과 음성 엔진을 연결하는 코드이고, TTS 모델은 실제로 소리를 생성하는 모델입니다. 예를 들어 omnitts는 연결 어댑터 이름이며, 실제 목소리는 별도 서버에 올린 Qwen3-TTS 등의 모델이 만듭니다.
음성을 선택하는 방식도 두 가지입니다. 기성 음성 선택은 제공자가 준비한 음성 ID를 지정하는 방식입니다. 참조 음성 기반 복제는 녹음된 목소리와 필요한 경우 그 녹음의 문장을 이용해 비슷한 음색으로 새 문장을 합성하는 방식입니다. Ref Audio라는 UI 이름만으로 어느 방식인지 판단하지 말고, 선택한 엔진의 REF_FILE 의미를 확인하세요.
지금 사용할 한국어 음성
현재 설치는 edgetts를 사용합니다. 재생 화면의 Ref Audio에는 파일 경로 대신 아래 음성 ID를 입력합니다.
| 음성 ID | 구분 | 확인 상태 |
|---|---|---|
ko-KR-InJoonNeural |
한국어 남성 | 새 아바타의 실시간 TTS·영상 재생 확인 |
ko-KR-SunHiNeural |
한국어 여성 | 공식 여성 샘플의 실시간 재생 확인 |
ko-KR-HyunsuMultilingualNeural |
남성, 다국어 | Edge 음성 목록 확인, 재생은 미검증 |
다른 목소리를 선택할 때는 Disconnect → Ref Audio 변경 → Connect합니다. 현재 설치에서 전체 음성 목록을 확인하는 명령은 다음과 같습니다.
# LiveTalking 디렉터리에서 실행
.venv/bin/edge-tts --list-voices
음성 목록은 서비스 측에서 바뀔 수 있으므로 실행 시점의 목록을 확인하세요. 음성 관리 화면도 있지만 각 제공자 기능의 구성 여부는 따로 확인해야 합니다.
설정 필드의 의미
| 설정 | 의미 |
|---|---|
tts |
사용할 TTS 어댑터 이름 |
REF_FILE |
Edge/Azure에서는 음성 이름, 다른 엔진에서는 참조 파일 또는 제공자 음성 ID |
REF_TEXT |
참조 음성의 문장. 지원하는 복제 엔진에서 사용 |
TTS_SERVER |
별도로 실행하는 TTS 서버의 주소. 모든 클라우드 어댑터가 사용하는 것은 아님 |
서버의 기본 설정은 config-mac.yaml에 있습니다. YAML 변경은 서버 재시작 후 적용되고, 연결의 Ref Audio는 새 세션의 참조 값에 적용됩니다. 설정 우선순위는 CLI 인자 → YAML → 코드 기본값입니다.
엔진별 연결 조건
아래는 현재 로컬 코드의 실제 모듈 등록 상태를 기준으로 정리했습니다. 어댑터가 존재한다는 것은 서비스 실행과 한국어 사용을 검증했다는 뜻은 아닙니다.
| CLI 이름 | 연결 방식 | 준비 사항 | 현재 확인 |
|---|---|---|---|
edgetts |
온라인 Edge TTS | 인터넷, 음성 ID | 한국어 실행 확인 |
azuretts |
Azure Speech SDK | SDK, AZURE_SPEECH_KEY, AZURE_TTS_ENDPOINT |
코드 확인 |
gpt-sovits |
별도 /tts 서버 |
참조 음성, 참조 문장, 서버 | 코드 확인 |
xtts |
별도 XTTS 서버 | 참조 파일, /clone_speaker, /tts_stream |
코드 확인 |
tencent |
Tencent 스트리밍 API | TENCENT_APPID, TENCENT_SECRET_ID, TENCENT_SECRET_KEY |
코드 확인 |
doubao |
Doubao 서비스 | DOUBAO_API_KEY, 제공자 음성 ID |
코드 확인 |
qwentts |
Qwen / DashScope | DASHSCOPE_API_KEY, 지원 음성 |
코드 확인 |
omnitts |
vLLM Omni 별도 서버 | 호환 TTS 모델·서버 | 코드 확인 |
현재 코드에서 CosyVoice, Fish TTS, IndexTTS2는 어댑터 매핑이 주석 처리되어 있습니다. CLI 도움말에 이름이 나와도 그대로 사용할 수 있다고 안내하지 않습니다.
GPT-SoVITS와 XTTS의 현재 요청 코드는 언어를 각각 zh, zh-cn으로 고정합니다. 한국어 음성 복제를 사용하려면 어댑터의 언어 설정과 TTS 모델 지원을 먼저 수정·검증해야 합니다.
엔진 상세 설명
아래 YAML은 기존 config-mac.yaml에 반영할 TTS 항목만 보여 줍니다. 아바타·WebRTC·Mac 설정은 기존 파일을 사용합니다. Edge 이외의 예제는 연결 구성을 설명하며, 현재 Mac에서 실행을 검증한 예제는 아닙니다.
빠른 이동: Edge TTS · Azure Speech · GPT-SoVITS · XTTS · Tencent · Doubao · Qwen Realtime · vLLM Omni
Edge TTS (edgetts)
현재 Mac에서 사용하는 기본 엔진입니다. Python의 edge-tts 라이브러리로 Microsoft Edge의 온라인 음성 합성 서비스를 호출합니다. Edge 브라우저나 Windows 설치, 별도 API 키 없이 호출할 수 있지만, 음성 합성은 인터넷을 통해 서비스에서 수행됩니다. 로컬에 TTS 모델을 설치하는 방식이 아닙니다. Edge TTS 프로젝트
REF_FILE에는 ko-KR-InJoonNeural 같은 제공자 음성 이름을 넣습니다. REF_TEXT와 TTS_SERVER는 현재 Edge 어댑터에서 사용하지 않습니다. 한국어 남성·여성 음성을 바꿔 가며 립싱크를 확인할 때 별도 TTS 서버 없이 시작할 수 있습니다.
tts: edgetts
REF_FILE: ko-KR-InJoonNeural
현재 tts/edge.py는 서비스에서 받은 압축 음성 조각을 메모리에 모으고, 합성이 끝나면 오디오를 해석해 16kHz로 변환한 뒤 아바타에 전달합니다. 따라서 서비스가 음성을 스트리밍해도 현재 어댑터에서는 문장 합성이 끝난 후 발화를 시작합니다. 긴 답변을 한 번에 넘기면 첫 발화 대기 시간이 늘어날 수 있습니다.
라이브러리는 말하기 속도·볼륨·피치 조절을 지원합니다. 다만 현재 VisionAI 코드는 Communicate(text, voicename)만 호출하므로 해당 옵션을 웹 화면이나 YAML에서 바꾸는 기능은 연결되어 있지 않습니다. 임의의 SSML을 전달하는 기능도 라이브러리가 지원하지 않습니다. 라이브러리의 조절 옵션과 SSML 제한
음성 복제용 참조 WAV를 REF_FILE에 넣으면 목소리가 복제되는 것이 아닙니다. API 키가 필요 없다는 점도 Azure 구독이나 서비스 보장과 동일한 조건을 뜻하지 않습니다. 배포 전에는 서비스의 이용 조건과 연결 안정성을 별도로 확인합니다.
Azure Speech (azuretts)
Microsoft의 Azure Speech 음성 합성 서비스를 공식 Speech SDK로 호출하는 엔진입니다. 제공되는 신경망 음성 중 언어와 목소리를 선택하며, 서비스는 SSML을 통한 발음·운율 등의 제어도 제공합니다. 지원 범위는 음성별로 다릅니다. Azure 음성 합성 개요
VisionAI에서는 REF_FILE에 Azure 음성 이름을 지정하고, 서버 환경에 AZURE_SPEECH_KEY와 AZURE_TTS_ENDPOINT를 설정합니다. azure-cognitiveservices-speech SDK와 사용 가능한 Speech 리소스가 필요합니다. 이 어댑터는 TTS_SERVER 대신 환경 변수의 endpoint를 읽습니다.
tts: azuretts
REF_FILE: ko-KR-InJoonNeural
현재 tts/azure.py는 16kHz·16bit·모노 PCM을 요청하고, 합성 중 콜백으로 받은 오디오를 아바타에 공급합니다. Edge 어댑터와 달리 전체 음성을 모은 후 시작하는 구조가 아니므로, 첫 오디오 도착부터 발화를 시작하는 구성을 검토할 수 있습니다. 실제 지연과 한국어 재생은 이 Mac에서 아직 측정하지 않았습니다.
현재 구현은 speak_text()를 사용합니다. 서비스의 SSML·감정·스타일 기능을 사용하려면 별도의 요청 구성이 필요합니다. 또한 메시지별 tts.ref_file을 읽지만 합성기의 음성 설정을 갱신하는 코드는 없으므로, 음성 변경은 서버 설정의 REF_FILE 변경·서버 재시작으로 적용하는 것을 기준으로 안내합니다.
Azure의 사용자 지정 음성은 별도 생성·접근 절차를 갖는 서비스 기능입니다. 현재 어댑터에 참조 파일 하나를 지정하는 방식으로 생성되지 않습니다. 사용자 지정 음성 개요
GPT-SoVITS (gpt-sovits)
참조 녹음으로 음색을 맞추는 TTS 모델입니다. 공식 프로젝트는 짧은 참조 음성을 이용한 제로샷 합성과 소량의 데이터로 미세 조정하는 기능을 제공하며, 한국어도 지원 언어에 포함합니다. 참조 음성은 모델이 목소리의 특징을 파악하는 자료이고, REF_TEXT는 그 녹음에서 실제로 말한 문장입니다. GPT-SoVITS 한국어 안내
VisionAI 자체가 GPT-SoVITS 모델을 불러오는 것은 아닙니다. 별도 GPT-SoVITS API 서버를 먼저 실행하고, TTS_SERVER에 그 주소를 지정합니다. 현재 어댑터는 /tts에 ref_audio_path, prompt_text, 합성할 문장을 보내므로 참조 파일 경로는 TTS 서버에서 읽을 수 있는 경로여야 합니다. 원격 서버를 쓰면 Mac의 파일 경로만 적는 것으로 파일이 업로드되지 않습니다.
tts: gpt-sovits
TTS_SERVER: http://127.0.0.1:9880
REF_FILE: /path/on/tts-server/reference.wav
REF_TEXT: 참조 녹음에서 실제로 말한 문장
위 설정만으로 현재 어댑터의 한국어 합성이 활성화되지는 않습니다. tts/sovits.py는 합성 언어와 참조 언어를 모두 zh로 보냅니다. 한국어 모델을 준비한 뒤 text_lang과 prompt_lang을 각각 실제 문장 언어에 맞춰 수정해야 합니다. 참조 녹음과 읽을 문장의 언어가 다르면 두 값을 따로 구성해야 합니다.
현재 요청은 OGG와 streaming_mode: true를 사용하며, 받은 각 HTTP 조각을 오디오로 해석합니다. 서버 버전에 따라 스트리밍 응답 형식이 달라질 수 있어 /tts가 존재하는 것만으로 호환을 보장하지 않습니다. 서버의 API·오디오 형식과 어댑터의 해석 방식까지 확인하세요. 공식 API 구현
XTTS (xtts)
Coqui의 다국어 음성 복제 모델을 별도 서버를 통해 사용하는 어댑터입니다. XTTS-v2는 참조 음성 기반 합성, 다른 언어로 같은 음색을 사용하는 합성, 스트리밍 추론을 제공하며 한국어 ko를 지원합니다. 모델 출력은 24kHz입니다. XTTS 공식 모델 문서
현재 tts/xtts.py는 초기화할 때 REF_FILE을 VisionAI 서버의 파일 시스템에서 열어 /clone_speaker로 업로드합니다. 그 응답으로 얻은 화자 정보를 /tts_stream에 보내 음성을 합성합니다. GPT-SoVITS와 달리 참조 파일을 TTS 서버로 업로드하는 방식이며, 두 endpoint를 갖춘 호환 서버가 필요합니다.
tts: xtts
TTS_SERVER: http://127.0.0.1:9000
REF_FILE: /path/on/livetalking-server/reference.wav
현재 어댑터는 24kHz의 16bit PCM을 16kHz로 변환하며, 언어를 zh-cn으로 고정해 요청합니다. 한국어를 사용하려면 요청 언어를 ko로 바꾸고 서버와 모델에서 재생을 검증해야 합니다. 화자 정보는 초기화 시 생성하므로 참조 파일을 바꾸면 새 세션에서 다시 초기화해야 하며, 메시지별 tts.ref_file이나 REF_TEXT는 현재 이 어댑터에서 사용하지 않습니다.
공식 문서의 스트리밍 지연 수치는 모델 기능 소개입니다. 이 Mac의 VisionAI 전체 지연으로 해석할 수 없습니다. XTTS 모델에는 Coqui Public Model License가 적용되므로 가중치의 사용 조건도 확인하세요. XTTS 기능과 모델 라이선스
Tencent (tencent)
Tencent Cloud의 음성 합성 API를 호출하는 클라우드 어댑터입니다. REF_FILE은 참조 파일 경로가 아니라 101001 같은 숫자형 VoiceType ID입니다. 제공자 음성표에서 해당 ID의 언어와 음색을 확인해야 합니다.
tts: tencent
REF_FILE: '101001'
서버 환경에 TENCENT_APPID, TENCENT_SECRET_ID, TENCENT_SECRET_KEY가 필요합니다. 현재 코드는 서명한 HTTPS 요청을 https://tts.cloud.tencent.com/stream으로 보내고, 16kHz PCM 응답을 조각으로 받아 아바타에 공급합니다. TTS_SERVER와 REF_TEXT는 실제 합성 요청에 사용하지 않습니다.
현재 연결 대상은 제공자가 구형으로 안내하는 HTTP 스트리밍 API입니다. 공식 문서는 새 실시간 API로의 전환을 권장하지만, 현재 어댑터가 자동으로 새 WebSocket API를 사용하는 것은 아닙니다. 새 API를 사용할 경우 연결·서명·응답 처리를 맞춰야 합니다. 한국어 음성 가용성과 이 Mac에서의 호출은 미검증입니다. 현재 코드가 사용하는 Tencent HTTP API
Doubao (doubao)
ByteDance의 Volcengine Doubao 음성 합성 서비스를 호출합니다. 현재 어댑터는 한 문장의 텍스트를 한 번에 보내고 음성을 조각으로 받는 단방향 HTTP 스트리밍 방식입니다. 텍스트도 실시간으로 계속 보내는 양방향 연결과는 다릅니다.
tts: doubao
REF_FILE: zh_female_vv_uranus_bigtts
doubao_resource_id: seed-tts-2.0
DOUBAO_API_KEY를 서버 환경에 설정하고 REF_FILE에는 제공자의 speaker ID를 넣습니다. tts/doubao.py는 https://openspeech.bytedance.com/api/v3/tts/unidirectional을 호출하고, JSON 응답의 Base64 음성을 해석합니다. 기본 설정은 PCM이며, 원본 샘플레이트가 다르면 VisionAI의 16kHz로 변환합니다. TTS_SERVER와 REF_TEXT는 사용하지 않습니다.
음성 ID와 doubao_resource_id는 해당 계정에서 사용 가능한 조합이어야 합니다. 현재 코드에는 seed-tts-2.0과 복제 음성용 seed-icl-2.0을 구분하는 설정이 있지만, 복제 음성을 생성하거나 참조 녹음을 등록하는 절차는 포함하지 않습니다. 등록된 음성을 사용할 때 제공자 측 준비가 먼저 필요합니다.
현재 디코더는 음성 데이터를 16bit PCM으로 해석하므로 doubao_audio_format만 MP3 등으로 바꾸는 설정은 안내하지 않습니다. 한국어는 선택한 서비스·speaker의 지원 여부부터 확인해야 하며, 이 Mac의 한국어 호출은 미검증입니다. 현재 VisionAI Doubao 어댑터의 원본 경로
Qwen Realtime (qwentts)
Alibaba Cloud의 DashScope 실시간 음성 합성 서비스를 SDK와 WebSocket으로 사용하는 엔진입니다. 현재 기본 모델은 qwen3-tts-flash-realtime이고, REF_FILE에는 Cherry 같은 제공자 음성 이름을 넣습니다. qwentts는 클라우드 호출이며, Qwen 모델을 내 컴퓨터에서 실행하는 설정이 아닙니다.
tts: qwentts
REF_FILE: Cherry
qwen_tts_model: qwen3-tts-flash-realtime
qwen_tts_url: wss://dashscope.aliyuncs.com/api-ws/v1/realtime
서버 환경에 DASHSCOPE_API_KEY가 필요하며, 코드 안내 기준으로 dashscope>=1.25.11 SDK가 필요합니다. 제공자 문서는 리전별 endpoint와 음성·모델 조합을 구분합니다. 현재 기본 URL은 중국 베이징이며, 국제 endpoint를 쓰면 그 리전의 키·모델 가용성에 맞춰 URL을 설정해야 합니다. 공식 Python SDK 설정
현재 tts/qwentts.py는 연결을 유지하고 append_text()로 문장을 넣은 뒤 commit()으로 합성을 시작합니다. 음성은 응답 콜백에서 받아 처리합니다. 문장별 tts.ref_file이 바뀌면 연결을 다시 설정하며, REF_TEXT와 TTS_SERVER는 사용하지 않습니다. 실시간 API의 텍스트 제출과 commit 동작
공식 SDK는 한국어 언어 설정을 제공하지만, 현재 어댑터에서 선택한 모델·음성의 한국어 품질은 시험하지 않았습니다. 또한 요청에는 PCM_24000HZ_MONO_16BIT 형식과 sample_rate=16000이 함께 들어가고, 수신 처리에서는 24kHz로 해석합니다. 실제 SDK의 출력 조건과 이 조합을 검증한 뒤 사용해야 합니다.
vLLM Omni (omnitts)
여러 TTS 모델을 제공할 수 있는 별도 vLLM Omni 서버에 연결하는 어댑터입니다. 실제 합성 모델은 서버에서 선택합니다. 예를 들어 Qwen3-TTS 모델을 서버에 올리고 VisionAI은 POST /v1/audio/speech에 텍스트와 음성 이름을 보냅니다. 이 API 형식이 호환된다는 이유로 OpenAI 계정이나 API 키가 필요한 것은 아닙니다. vLLM Omni Speech API
tts: omnitts
TTS_SERVER: http://127.0.0.1:8091
REF_FILE: vivian
omni_tts_language: Auto
omni_tts_task_type: CustomVoice
omni_tts_format: pcm
omni_tts_src_sr: 24000
이 예제는 서버가 vivian을 지원하고 24kHz·16bit 모노 PCM을 반환하도록 구성된 경우를 설명합니다. omni_tts_src_sr는 수신 데이터를 해석할 원본 샘플레이트이며, 서버의 출력 샘플레이트를 바꾸는 옵션이 아닙니다. 다른 모델이나 출력 형식을 쓰면 서버와 어댑터 양쪽을 맞춰야 합니다.
현재 어댑터의 기본 형식은 WAV입니다. 첫 조각이 WAV 헤더로 시작하면 그 조각을 파일처럼 해석하고, 나머지는 PCM으로 해석하므로 WAV가 잘게 나뉘어 전달되는 서버와는 호환 확인이 필요합니다. 위 예제는 PCM을 지원하는 서버에서 형식을 명시하는 구성입니다.
tts/omnitts.py는 문장별 language, speed, instructions, task_type, ref_file 값을 읽습니다. 다만 각 기능의 실제 지원은 서버 모델에 달려 있습니다. 현재 요청에는 참조 오디오·참조 문장이 포함되지 않아 REF_FILE에 WAV 경로를 적거나 REF_TEXT를 추가하는 것만으로 복제를 수행하지 않습니다.
vLLM Omni 서버 설치와 모델 로딩은 별도 작업입니다. 기존 Mac의 Wav2Lip MPS 실행 성공이 이 TTS 서버의 Mac 실행 가능성을 확인한 것은 아닙니다. 설치할 버전의 하드웨어 지원, 모델 요구 메모리와 출력 형식을 확인하고, 먼저 서버 단독 음성 합성이 되는지 확인합니다.
엔진 선택 기준
| 목적 | 검토할 엔진 | 먼저 확인할 조건 |
|---|---|---|
| 현재 Mac에서 한국어 아바타를 바로 재생 | Edge TTS | 검증한 한국어 음성 ID와 인터넷 연결 |
| 관리형 서비스에서 오디오 조각을 받으며 재생 | Azure Speech | Speech 리소스·SDK·음성·endpoint와 실제 첫 발화 지연 |
| 참조 녹음으로 음색을 맞추는 별도 서버 구성 | GPT-SoVITS, XTTS | 언어 고정 코드 수정, 참조 파일 위치와 서버 응답 형식 |
| 기존 클라우드 계정·등록 음성을 사용 | Tencent, Doubao, Qwen Realtime | 계정·리전·API 버전·음성 권한·한국어 지원 |
| TTS 모델을 서버에서 선택해 운영 | vLLM Omni | 서버 하드웨어, 모델·요청 기능·PCM 출력 호환성 |
이 표는 현재 연결 구조를 기준으로 한 검토 순서이며 음질 순위가 아닙니다. 같은 한국어 문장으로 발음, 문장 끝 억양, 첫 발화 지연과 끊김을 비교해야 실제 용도에 맞는지 판단할 수 있습니다. 클라우드 엔진은 서비스 사용량과 리전에 따라 비용이 발생할 수 있고, 직접 운영하는 모델은 연산 자원과 가중치의 사용 조건을 확인해야 합니다.
엔진 변경 순서
- 브라우저에서 Disconnect하고 VisionAI 서버를 종료합니다.
- 별도 TTS 서버를 사용하는 경우 모델과 서버를 준비해 단독 음성 합성을 먼저 확인합니다. 클라우드는 SDK와 자격 증명을 서버 환경에 준비합니다.
config-mac.yaml의tts와REF_FILE을 함께 바꾸고 필요한TTS_SERVER,REF_TEXT, 엔진별 항목을 추가합니다. Edge의 음성 ID를 다른 엔진의 참조 파일·speaker ID로 그대로 사용하지 않습니다../run-mac.command로 서버를 다시 실행하고 Connect합니다. 짧은 한국어 문장으로 오디오와 립싱크를 확인한 뒤 긴 문장을 시험합니다.
엔진별 추가 YAML 항목은 현재 설정 로더가 읽지만, 같은 이름의 CLI 옵션이 모두 정의된 것은 아닙니다. 예를 들어 qwen_tts_model, doubao_resource_id, omni_tts_src_sr는 YAML에 넣습니다. 핵심 CLI 옵션은 --tts, --REF_FILE, --REF_TEXT, --TTS_SERVER입니다. 설정 우선순위와 서버 접속 조건은 연결과 설정에서 확인할 수 있습니다.
/human 요청의 tts.ref_file은 이미 선택된 엔진 안에서 음성이나 참조 값을 전달하는 옵션입니다. 메시지마다 edgetts를 azuretts로 바꾸는 엔진 선택 옵션은 아닙니다. 지원되는 메시지별 값과 적용 시점도 어댑터마다 다르며, 현재 Azure의 제한은 위 설명을 참고하세요. 요청 예제는 API 가이드에 있습니다.
시작 지연과 스트리밍
Edge TTS의 서비스 응답은 조각으로 오지만, 현재 VisionAI 어댑터는 문장 음성을 메모리에 모은 뒤 재생 큐에 공급합니다. 긴 문장보다 짧은 문장 단위로 구동하는 것이 발화 시작을 확인하기 쉽습니다.
Azure TTS는 합성 콜백에서 16kHz 모노 PCM을 조각으로 전달하는 코드입니다. 더 빠른 발화 시작을 검토할 때 후보가 될 수 있으며, 실제 지연은 별도 측정해야 합니다. 현재 Mac에서는 Azure 실행을 시험하지 않았습니다.
새 인물 테스트에서 Edge TTS 합성 로그는 약 0.93초였습니다. 이 값은 TTS 합성 시간이며, 클릭부터 첫 영상까지의 전체 지연이나 장시간 평균이 아닙니다.
기본 음성 설정
tts: edgetts
REF_FILE: ko-KR-InJoonNeural
연결 설정 생성기에서 현재 아바타와 한국어 음성을 골라 전체 YAML을 복사할 수 있습니다.
Azure를 검토하는 경우 아래 값과 제공자 자격 증명이 필요합니다. 자격 증명은 서버 환경에 설정하고 웹페이지나 공개 저장소에는 넣지 않습니다.
tts: azuretts
REF_FILE: ko-KR-InJoonNeural
음성 파일을 쓰는 경우
TTS 엔진을 바꾸지 않고도 외부에서 만든 음성 파일을 Audio Driver로 입력할 수 있습니다. 이 경로에서는 Ref Audio의 TTS 목소리 대신 파일의 실제 음성이 들립니다. 지속적인 외부 PCM 입력과는 다릅니다.
참고: Edge TTS 프로젝트, 로컬 TTS 모듈의 원본 경로. 모델·음성 복제의 지원 언어와 사용 조건은 선택한 제공자·가중치에 따라 확인하세요.