안녕하세요. 한국어 음성의 품질을 평가하는 MOS(Mean Opinion Score) 예측 모델 KOMOS를 개발하고 오픈소스로 공개했습니다. 기존 UTMOS 모델을 한국어 음성에 적용하면서 발견한 한계를 개선하고자 시작한 프로젝트입니다.
개발 배경
기존 MOS 예측 모델은 주로 영어 음성 데이터를 기반으로 개발되어, 한국어 음성에 대한 평가 신뢰도가 충분히 검증되지 않았습니다. 특히 UTMOS v1은 고품질 한국어 음성에서 사람의 평가 점수가 높아져도 예측 점수가 상대적으로 낮은 범위에 집중되는 경향을 보였습니다. 이로 인해 품질이 높은 음성들 사이의 차이를 충분히 구별하기 어려웠습니다.
이러한 문제를 개선하기 위해 한국어 원어민의 주관적 평가를 기반으로 학습하는 KOMOS를 개발했습니다.
데이터셋 및 모델
한국어 원어민의 주관적 평가를 바탕으로 데이터셋을 구축했습니다.
- 1,000개의 한국어 발화
- 29명의 한국어 원어민 평가자
- 총 5,000개의 MOS 평가 점수
- 실제 녹음, 합성 음성(TTS), 품질 저하 음성 포함
- 낭독체와 자발화 스타일 모두 포함
모델은 Whisper-medium 인코더를 기반으로 전체 파라미터를 미세 조정했으며, 청취자별 평가 성향을 반영하는 Listener-conditioned prediction 구조를 적용했습니다. 이를 통해 개별 청취자의 평가 점수를 단순 평균하여 학습하는 대신, 청취자별 평가 성향을 모델링하도록 설계했습니다.
평가 결과
학습에 사용하지 않은 100개의 한국어 테스트 발화에서 사람의 주관적 평가와 모델의 예측 결과를 비교했습니다.
- UTMOS v1: SRCC 0.703 / LCC 0.798
- UTMOS v2: SRCC 0.767 / LCC 0.858
- KOMOS: SRCC 0.900 / LCC 0.950
KOMOS는 동일한 테스트셋에서 UTMOS v1, v2보다 사람의 주관적 평가와 높은 상관관계를 기록했습니다.
활용 방법
KOMOS는 입력 음성의 전반적인 품질을 1~5점 척도로 예측합니다. 한국어 TTS 모델 간 품질 비교, 음성 학습 데이터 선별, 음성 생성 파이프라인의 품질 모니터링 등에 활용할 수 있을 것으로 기대합니다. Python에서 간단하게 사용할 수 있도록 공개했습니다.
from komos import KOMOS
model = KOMOS.from_pretrained("upskyy/komos").eval()
score = model.score("audio.wav")
오픈소스 및 논문
연구 결과를 arXiv에 공개했으며, 학습된 모델과 추론 코드도 함께 공개했습니다.
- GitHub: GitHub - upskyy/komos: KOMOS: Automatic Mean Opinion Score Estimation for Korean Speech · GitHub
- Hugging Face: upskyy/komos · Hugging Face
- Paper: [2610.15353] KOMOS: Automatic Mean Opinion Score Estimation for Korean Speech
KOMOS가 한국어 TTS 모델 비교와 음성 데이터 평가 등 다양한 음성 기술 연구와 개발에 유용하게 활용되면 좋겠습니다. 직접 사용해 보시고 다양한 한국어 음성에서의 경험이나 개선 의견을 공유해 주시면 감사하겠습니다!