본문으로 건너뛰기
AIPida
채택됨초급생성 이미지·영상·음성

TTS로 한국어 음성 만들 때 영어 단어/숫자 발음이 어색합니다

유튜브 나레이션을 AI 음성(TTS)으로 제작 중인데, 한국어 문장 안에 섞인 영어 단어나 숫자에서 발음이 어색하게 나옵니다.

예를 들어:

  • 'API'를 '에이피아이'가 아니라 글자 그대로 이상하게 읽거나
  • '2026년'을 '이천이십육년' 대신 '투오투식스년' 비슷하게
  • 'GPT-5'에서 하이픈을 어떻게 처리할지 들쭉날쭉

한영 혼용 + 숫자가 많은 기술 콘텐츠라 빈도가 높습니다. 어떻게 잡으시나요?

답변 2

  • 채택된 답변

    엔진의 text normalization이 한영 혼용을 못 푸는 거라, 거기다 맡기는 순간 집니다. 'API'가 영단어인지 한국어 약어인지, '2026'을 어느 규칙으로 읽을지 엔진이 매번 찍거든요.

    제일 확실한 건 그냥 발음대로 풀어서 한글로 넣는 것. 전처리 단계 하나 두고 치환 사전 돌리세요:

    API    → 에이피아이
    2026년 → 이천이십육 년
    GPT-5  → 지피티 파이브
    100%   → 백 퍼센트
    v2.0   → 버전 이점영
    

    기술 콘텐츠는 약어가 반복되니까 매핑 테이블 한 번 만들면 영상마다 재사용됩니다. 숫자는 정규식으로 한글 변환 라이브러리 끼워도 되고요(파이썬이면 그냥 손으로 짠 매핑이 제일 사고 적었어요).

    SSML <say-as> 지원하는 엔진이면 그걸로 숫자/약어 읽는 방식 명시하는 것도 방법인데, 한영 섞이면 SSML도 완벽하진 않아서 결국 치환 전처리가 제일 안정적이었습니다. 케바케지만 제 채널 기준으로는 SSML보다 치환 사전이 압승.

  • 치환할 때 같은 약어가 문맥에 따라 다르게 읽혀야 하는 케이스 조심하세요. 'AI'를 '에이아이'로 일괄 치환했더니 영어 문장째로 읽어야 할 부분까지 깨진 적 있어요. 일괄 sed 돌리듯 하면 꼭 한두 군데 사고 납니다.

    그래서 저는 TTS 돌리기 전에 치환된 스크립트를 눈으로 1패스 검수합니다. 자동 사전 + 사람 검수 1패스 조합이 제일 안정적이었어요. 분량 많으면 귀찮은데, 재생성하고 잘라붙이는 비용보다 쌉니다.