# KOMOS – 한국어 음성 품질 평가 모델을 오픈소스로 공개했습니다

**URL:** <https://discuss.pytorch.kr/t/komos/12380>\
**Category:** 읽을거리&정보공유\
**Tags:** speech-synthesis, ai, korean-tts, opensource, evaluation, tts\
**Created:** [11월 2, 2026, 3:50오전 UTC](https://discuss.pytorch.kr/t/komos/12380 "2026-11-02T03:50:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![upskyy](https://discuss.pytorch.kr/user_avatar/discuss.pytorch.kr/upskyy/32/27025_2.png) [@upskyy](https://discuss.pytorch.kr/u/upskyy)\
**Post date:** [11월 2, 2026, 3:50오전 UTC](https://discuss.pytorch.kr/t/komos/12380/1 "2026-11-02T03:50:42Z")

</div>

안녕하세요. 한국어 음성의 품질을 평가하는 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에서 간단하게 사용할 수 있도록 공개했습니다.

```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](https://github.com/upskyy/komos)
- **Hugging Face:** [upskyy/komos · Hugging Face](https://huggingface.co/upskyy/komos)
- **Paper:** [[2610.15353] KOMOS: Automatic Mean Opinion Score Estimation for Korean Speech](https://arxiv.org/abs/2610.15353)

KOMOS가 한국어 TTS 모델 비교와 음성 데이터 평가 등 다양한 음성 기술 연구와 개발에 유용하게 활용되면 좋겠습니다. 직접 사용해 보시고 다양한 한국어 음성에서의 경험이나 개선 의견을 공유해 주시면 감사하겠습니다!

---

<div class="post-metadata">

**Author:** ![Choi-kwan-u](https://discuss.pytorch.kr/user_avatar/discuss.pytorch.kr/choi-kwan-u/32/26617_2.png) [@Choi-kwan-u](https://discuss.pytorch.kr/u/Choi-kwan-u)\
**Post date:** [11월 3, 2026, 12:06오전 UTC](https://discuss.pytorch.kr/t/komos/12380/2 "2026-11-03T00:06:48Z")

</div>

오 마침 필요했는데, 감사합니다!

---

<div class="post-metadata">

**Author:** ![Mrlaura](https://discuss.pytorch.kr/user_avatar/discuss.pytorch.kr/mrlaura/32/27041_2.png) [@Mrlaura](https://discuss.pytorch.kr/u/Mrlaura)\
**Post date:** [11월 3, 2026, 3:12오전 UTC](https://discuss.pytorch.kr/t/komos/12380/3 "2026-11-03T03:12:03Z")

</div>

고품질 한국어 음성에서 UTMOS의 예측 점수가 특정 구간에 몰리는 문제를 다루셨다는 점이 눈에 띄네요.

실제 TTS 모델을 비교할 때는 학습에 사용되지 않은 화자나 합성 엔진에서도 평가 결과가 일관되게 나오는지가 중요할 것 같습니다.

혹시 테스트에 사용한 100개 발화는 화자나 TTS 엔진 기준으로도 학습 데이터와 분리하셨나요? 발화 단위로만 분리한 경우와는 결과 해석이 조금 달라질 수 있을 것 같아서요.

그리고 한 가지 더 궁금한 부분이 있습니다. Listener-conditioned 구조라고 하셨는데, 특정 청취자 정보 없이 `model.score()`를 호출하면 내부적으로 어떤 방식으로 점수를 계산하나요? 청취자별 예측을 평균하는 방식인지 궁금합니다.

이 부분을 알 수 있으면 새로운 TTS 모델의 품질을 비교할 때 KOMOS 점수를 어떻게 해석해야 할지 판단하는 데 도움이 될 것 같습니다.
