Microsoft Edge TTS(SSML) 무료 음성 생성 기술
0 조회
쇼츠 나레이션을 자동 생성하다가 "바이킹"을 "바이킹ㄱ"으로 읽어버리는 순간을 마주했습니다. 발음 오류 하나가 영상 전체를 망칠 수 있다는 걸 그때 깨달았죠. 저는 Google Cloud TTS ko-KR-Chirp3-HD를 메인으로 쓰고, 발음 보정이 필요할 때만 Edge TTS SSML을 병행합니다. ElevenLabs는 한국어 발음 정확도가 떨어져 탈락시켰어요. 무료로 시작하고 싶다면 Edge TTS로, 품질과 시간 효율을 우선하면 Google Cloud TTS로 가세요.
왜 Edge TTS로 시작했는가
유튜브 쇼츠 자동 제작 파이프라인을 만들 때 가장 먼저 고민한 건 비용이었습니다. 채널이 수익을 내기 전엔 고정비를 최소화하고 싶었거든요. Edge TTS는 마이크로소프트가 무료로 제공하는 서비스라 초기 선택지로 완벽했어요. API 키도 필요 없고, 한국어 음성 품질도 들어볼 만했습니다. "설마 진짜? 바이킹 투구에 뿔이 없었다니!" 같은 40초짜리 대본을 돌렸을 때 억양이 자연스럽게 나왔죠.
SSML phoneme 태그 지원도 매력적이었습니다. 외래어 발음 오류를 <phoneme alphabet="ipa" ph="/pa.i.kiŋ/">바이킹</phoneme> 식으로 코드 레벨에서 보정할 수 있었어요. 무료면서도 발음 제어까지 되니, 자동화 파이프라인 첫 버전으론 충분하다고 판단했습니다.
Edge의 한계를 마주한 순간
문제는 운영 규모가 커지면서 드러났습니다. 매일 쇼츠 3편씩 제작하니, 외래어가 포함된 대본이 생각보다 자주 나왔어요. "Gjermundbu"처럼 북유럽 고유명사나 "트레이딩 알고리즘" 같은 복합어가 나올 때마다 phoneme 태그를 일일이 달아야 했죠. 대본 스크립트 한 편당 3~4곳을 수동으로 보정하다 보니, 자동화 파이프라인이라기보단 반자동에 가까웠습니다.
응답 속도 문제도 있었어요. 체감상 Google Cloud TTS보다 1~2초 지연이 더 생겼고, 무료 서비스라 가끔 응답이 불안정할 때도 있었습니다. 발음 보정에 들이는 시간을 환산하면 월 몇백 원 요금이 오히려 저렴하겠다는 생각이 들더라고요.
Google Cloud TTS로 전환한 이유
Google Cloud TTS의 ko-KR-Chirp3-HD 음성을 테스트했을 때 가장 인상적이었던 건 숫자와 영어 혼용 문장 처리였습니다. "2024년 3월 기준 $16"처럼 한국어·숫자·통화가 섞인 문장을 자연스럽게 읽어냈어요. Edge TTS는 이런 문장에서 숫자를 어색하게 끊어 읽거나, 달러 기호를 아예 건너뛰는 경우가 있었죠.
요금은 공식 요금표 기준으로 백만 자당 약 $16 수준이에요. 제가 확인한 시점 기준으론 쇼츠 카드 하나(약 50자)에 $0.001 정도 들었습니다. 하루 3편, 카드 12개면 월 360건이니 약 $0.36, 한화로 500원 안팎이에요. 발음 보정 시간을 고려하면 충분히 감당 가능한 비용이었습니다.
서비스 계정 인증을 한 번 설정해두면 재사용할 수 있다는 점도 좋았어요. .json 키 파일 하나로 쇼츠 파이프라인과 다른 자동화 스크립트를 함께 돌릴 수 있었죠. 초기 세팅에 30분 정도 걸렸지만, 그 이후론 추가 관리가 거의 없었습니다.
ElevenLabs를 탈락시킨 근거
ElevenLabs는 감정 표현이 확실히 뛰어났습니다. 슬픔이나 흥분 같은 톤 변화가 자연스럽게 들어가더라고요. 하지만 한국어 발음 정확도는 Google Cloud TTS나 Edge TTS보다 떨어졌어요. "투구"를 "투ː구"처럼 장음 처리를 과하게 하거나, "~였다"를 "~였따"로 읽는 경우가 있었습니다. 조사 붙임도 어색했죠.
요금은 제가 확인한 시점 기준 월 $5부터 시작했는데, 한국어 품질 대비 비용 효율이 낮았어요. 짧은 쇼츠 나레이션에선 감정 표현보다 발음 정확도가 더 중요했습니다. 스토리텔링 콘텐츠라면 모를까, 40초짜리 사실 전달형 쇼츠엔 과한 투자라고 판단했죠. 설정 파일에 폴백 옵션으로만 남겨뒀습니다.
병행 정착 — 나의 확정 선택과 trade-off
지금은 Google Cloud TTS를 메인으로 쓰되, 발음 보정이 필요한 특수 케이스만 Edge TTS로 처리합니다. 구체적으로 "Gjermundbu" 같은 북유럽 고유명사나 한국어 사전에 없는 신조어가 나올 때만 Edge TTS의 SSML phoneme을 씁니다. 일반 대본은 Google Cloud TTS로 돌리고, 발음 오류가 발견되면 해당 부분만 Edge TTS로 재생성하는 하이브리드 방식이에요.
이 방식의 trade-off는 명확합니다. Google Cloud TTS만 쓰면 월 500원 안팎이지만, 병행하면 관리 복잡도가 살짝 올라가요. 대신 발음 정확도와 비용 효율을 동시에 챙길 수 있죠. ElevenLabs는 감정 표현이 좋지만, 한국어 짧은 쇼츠에선 비용 대비 효과가 낮아 제외했습니다.
표로 정리하면 이렇습니다.
| 항목 | Google Cloud TTS | Edge TTS | ElevenLabs |
|---|---|---|---|
| 한국어 자연도 | 높음 (숫자·영어 혼용 강점) | 중간 (약간 기계음) | 중간 (감정 표현 좋으나 발음 오류) |
| 비용 | 유료 (백만 자 약 $16, 제가 확인한 시점 기준) | 무료 | 유료 (월 $5~ 구독, 제가 확인한 시점 기준) |
| 발음 보정 | 제한적 | SSML phoneme 지원 | 제한적 |
| 인증 방식 | 서비스 계정 JWT | API 키 불필요 | API 키 + 음성 ID |
| 제 선택 | 메인 | 발음 보정 보조 | 탈락 |
위 표 수치 출처: 각 서비스 공식 요금 페이지 (변동 가능하므로 실제 사용 전 확인 필요)
다음 단계로 넘어가기
쇼츠 10편을 먼저 만들어보세요. Edge TTS로 한 편, Google Cloud TTS로 한 편 돌려보고 자연도 차이를 직접 들어보는 게 가장 빠릅니다. 외래어가 많은 대본이면 Edge TTS의 SSML phoneme을 테스트하고, 숫자·영어 혼용 문장이면 Google Cloud TTS의 Chirp3-HD 억양을 확인하세요. 첫 달은 무료로 검증하고, 조회수가 붙기 시작하면 Google Cloud TTS로 전환하면 됩니다.
자주 묻는 질문
Q. Google Cloud TTS 서비스 계정 인증이 어렵다고 들었는데 실제론 어떤가요? A. GCP 콘솔에서 서비스 계정 생성 → JSON 키 다운로드 → 환경 변수 GOOGLE_APPLICATION_CREDENTIALS에 경로 지정하는 3단계예요. IAM 권한 설정에서 "Cloud Text-to-Speech 사용자" 역할을 빠뜨리면 403 에러가 나니 주의하세요. 한 번 설정하면 다른 자동화 스크립트에도 재사용할 수 있습니다.
Q. Edge TTS SSML phoneme 태그는 어떻게 쓰나요? A. <phoneme alphabet="ipa" ph="/pa.i.kiŋ/">바이킹</phoneme> 형식입니다. IPA 발음 기호를 직접 지정하면 되는데, 모든 외래어마다 달면 대본 가독성이 떨어지니 오류가 반복되는 단어만 보정하는 게 현실적입니다.
Q. 월 비용을 정확히 얼마로 예상해야 하나요? A. Google Cloud TTS 기준으로, 쇼츠 카드 하나당 약 50자라면 건당 $0.001 수준이에요. 하루 3편(카드 12개)이면 월 360건, 약 $0.36입니다. 환율 적용하면 한화 500원 안팎이죠. Edge TTS는 무료고, ElevenLabs는 최저 플랜이 월 $5부터 시작하지만 한국어 품질 대비 비용 효율이 낮습니다. 공식 요금표는 변동되니 사용 전 재확인하세요.
Q. ElevenLabs를 쓸 만한 케이스는 언제인가요? A. 다국어 콘텐츠를 만들거나 스토리텔링 팟캐스트처럼 감정 표현이 중요한 경우입니다. 짧은 사실 전달형 쇼츠엔 한국어 발음 정확도가 더 중요해서 Google Cloud TTS나 Edge TTS가 낫습니다.