실시간 고품질 발음 변환을 위한 서비스 지향형 TTS 설계
초록
본 논문은 경량화된 실시간 TTS 시스템에서 문맥 인식 발음 변환(G2P)의 품질 저하 문제를 해결하고자, 가벼운 통계 기반 모듈과 경량화된 신경망 모델을 서비스 형태로 분리한다. 이를 통해 무거운 문맥‑인식 G2P를 핵심 TTS 엔진에서 독립시켜 지연을 최소화하면서도 페르시아어의 동형어와 에자페(Ezafe)와 같은 문맥 의존 현상을 정확히 처리한다. 실험 결과, 발음 정확도와 의미 전달이 크게 향상되었으며, 실시간 응답성도 유지됨을 확인하였다.
상세 분석
이 연구는 TTS 파이프라인을 ‘텍스트 → 음소 → 스펙트로그램 → 파형’이라는 4단계 구조로 분석하고, 특히 첫 번째 단계인 G2P(문자‑음소 변환)의 품질이 전체 음성 자연스러움에 미치는 영향을 강조한다. 기존 경량 G2P인 eSpeak‑ng은 규칙 기반이어서 페르시아어와 같이 문맥에 따라 발음이 달라지는 언어에서 동형어 구분이나 에자페 삽입을 제대로 수행하지 못한다. 논문은 두 가지 경량화 전략을 제시한다. 첫째, 동형어 구분을 위해 단어 동시출현 통계 데이터를 활용한 ‘통계적 문맥 인식’ 모듈을 도입한다. 이 모듈은 사전 구축된 동형어‑문맥 단어 매핑을 기반으로 입력 문장에서 가장 높은 빈도·연관성을 보이는 발음을 선택한다. 계산량이 거의 없으며, 기존 파이프라인에 바로 삽입 가능하다. 둘째, 에자페와 같이 문법·의미적 관계가 필요한 경우, 대형 언어 모델(예: SpaCy)의 지식을 지식 증류(distillation) 기법으로 압축한다. 원본 SpaCy 모델은 F1 0.993 수준의 정확도를 보이지만 CPU에서의 추론 속도가 느리다. 저자들은 Persian ALBERT를 미세조정하여 경량화된 에자페 태거를 만들고, 이를 ONNX 형식으로 변환해 실시간 추론이 가능하도록 했다.
핵심 설계는 이러한 무거운 G2P 모듈을 ‘서비스’ 형태로 분리하는 것이다. 메인 TTS 엔진(Piper 기반)은 기본 eSpeak‑ng으로 초기 음소 시퀀스를 생성하고, 이를 파이프 파일을 통해 독립 프로세스인 ‘문맥‑인식 G2P 서비스’에 전달한다. 서비스는 먼저 통계 모듈로 동형어를 교정하고, 이어서 경량 ALBERT 기반 에자페 모델로 누락된 /e/를 삽입한다. 최종 음소 시퀀서는 다시 메인 엔진으로 반환돼 P2S(음소‑음성) 모델에 입력된다. 이 구조는 모듈 로딩·초기화 비용을 한 번만 수행하고, 런타임에는 IPC(파이프)만으로 빠르게 교환하므로 전체 지연이 크게 증가하지 않는다.
실험에서는 Persian ManaTTS 데이터셋을 사용해 기존 Piper(eSpeak)와 비교했다. PER(Phoneme Error Rate)는 22%에서 9%로 감소했고, 동형어 정확도는 45%에서 78%로 상승했다. 에자페 검출 F1 점수도 0.31에서 0.86으로 크게 개선되었다. 지연 측면에서는 서비스 기반 구조가 초기 로드 시 120 ms의 오버헤드가 있었지만, 이후 인퍼런스당 평균 18 ms 추가 지연만 발생해 20 ms 이하의 실시간 요구사항을 만족한다. 따라서 고품질 문맥‑인식 G2P를 실시간 TTS에 적용할 수 있는 실용적인 방안을 제시한다.
이 논문의 의의는 (1) 경량 통계·지식 증류 기법을 결합해 문맥 인식 능력을 확보하면서도 연산 비용을 최소화한 점, (2) 서비스 지향 아키텍처를 도입해 무거운 모듈을 핵심 엔진에서 분리함으로써 실시간 응답성을 유지한 점이다. 특히 오프라인·저사양 디바이스에서 고품질 TTS를 구현하려는 상황에 직접 적용 가능하며, 다른 언어·도메인에도 동일한 설계 원칙을 확장할 수 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기