이 글의 핵심

언어별 음성, 속도, 반복 순서, 중복 재생과 텍스트 전처리 등 TTS 기능을 안정적으로 만드는 기준을 정리합니다.

언어 코드와 음성 분리

한국어, 영어, 중국어, 베트남어, 캄보디아어처럼 언어가 다르면 각 문장에 사용할 언어 코드와 음성을 명확히 지정해야 합니다. 한 화면에 두 언어가 섞여 있으면 문장 단위로 엔진 설정을 바꾸거나 서버 TTS에서 언어별 음성을 따로 생성하는 방식이 필요합니다.

속도는 학습 단계에 맞게

초급 예문은 느린 속도로 의미와 발음을 확인하고 마지막에 자연 속도로 다시 듣게 하는 순서가 좋습니다. 단순히 전체 앱을 느리게 설정하는 것이 아니라 ‘느리게 듣기’와 ‘보통 듣기’를 별도 버튼이나 재생 단계로 관리하면 사용자가 목적에 맞게 선택할 수 있습니다.

중복 재생 방지

재생 버튼을 여러 번 누를 때 이전 음성을 stop하고 다음 음성을 시작할지, 재생 중에는 버튼을 잠글지 정책을 정해야 합니다. 문장 반복 기능에서는 비동기 재생이 끝났는지 확인한 뒤 다음 문장으로 넘어가야 두 음성이 겹치지 않습니다.

특수문자와 화면 텍스트 분리

반복기호나 발음용 괄호처럼 TTS가 기대대로 읽지 못하는 기호가 있으면 화면에 보여 줄 원문과 음성 엔진에 보낼 문자열을 분리할 수 있습니다. 원문을 훼손하지 않으면서 정확한 발화를 만드는 가장 안전한 방법입니다.