제 점수는요… MUSHRA 청음평가를 소개합니다.
안녕하세요. 가우디오랩의 시작부터 함께해오며 다양한 잡일들을 처리하고 있는 테드입니다.
최근, 저희가 개발한 기술의 성능을 파악하기 위해 청음평가를 실시하게 되었습니다. 이 청음평가를 이해하기 쉽게 설명한 글이 있다면 도움이 될 것 같아, 이렇게 끄적여보게 되었습니다.
병원을 가게 되거나 의학드라마를 보다 보면 때때로 이런 질문을 받게 됩니다. “통증이 전혀 없는 걸 0점, 상상할 수 있는 가장 심한 통증을 10점이라고 했을 때 지금 통증은 어느 정도 몇 점인가요?” 이 글을 작성하며 알게 되었는데, 이러한 질문을 NRS (Numeric Rating Scale)이라고 합니다. 통증이라는 경험은 주관적이기 때문에 NRS를 통해 단순하고 이해하기 쉽게 수치화해서 효과적으로 통증 관리와 치료를 할 수 있게 돕는다고 합니다. 갑자기 오디오 관련 블로그에서 의학용어라니 어색하기도 하네요 🙂
소리를 점수화할 수 있을까? - MUSHRA 청음평가
그렇다면 소리는 어떨까요?
두 개의 소리가 있을 때, 어떤 소리가 더 나은 소리인지 어떻게 평가할 수 있을까요?
오디오 분야에서도 사람이 직접 듣지 않고 소리를 객관적으로 평가할 수 있는 기술을 개발하기 위해 다양한 시도들을 하고 있지만, 아쉽게도 아직 완성되지 않았습니다. 즉, 기계가 소리를 분석해서 “이 소리는 80점입니다 휴먼 🤖”. 할 수 있는 기술은 아직 나오지 않았다는 거지요.
대신 과거부터 소리를 듣고 평가하는 방법론들이 많이 활용되고 있는데, 예를 들어 MUSHRA (Multiple Stimuli with Hidden Reference and Anchor), ABX, MOS (Mean Opinion Score) 등이 있습니다. 오늘은 다양한 평가 방법 중 고품질 오디오들의 미묘한 차이를 평가하는데 특화된 MUSHRA 평가 방법에 대해서 소개해보려고 합니다.
MUSHRA는 고품질 오디오 기술/시스템을 평가하기 위해 주로 사용되는 방법입니다. 국제 표준화 기구인 ITU(국제전기통신연합)에 의해 표준화되었으며, 특히 오디오 샘플 간의 미묘한 차이를 평가하는 데 유용합니다. MUSHRA 평가의 기본 원칙은 여러 개의 테스트 샘플을 동시에 제공하고, 참가자에게 이들을 비교하며 0부터 100까지의 척도를 사용하여 평가하도록 요청하는 것입니다. 여기서 제공되는 샘플에는 다음과 같은 것이 포함됩니다.
-
Hidden Reference: 원본 오디오 트랙의 고품질 버전으로, 참가자들이 다른 샘플을 평가할 최고 기준점으로 사용됩니다. 참가자들은 이 샘플이 참조임을 알지 못합니다.
-
Anchor: 일반적으로 낮은 품질의 오디오 샘플로, 평가의 낮은 기준점 역할을 합니다. 이를 통해 참가자들이 평가 범위를 좀 더 명확하게 인식할 수 있게 돕습니다.
-
Test Samples: 평가 대상이 되는 여러 오디오 시스템을 통해 생성된 샘플입니다.
Hidden Reference를 정답, 즉 100점으로 두고 Anchor를 약 20점에 해당하는 낮은 기준점으로 두고 Test Samples들을 0~100점 척도에서 평가하게 합니다.
NRS와 비교해 보면 Hidden Reference가 상상할 수 있는 가장 심한 통증이고, Anchor는 통증이 전혀 없는 것이겠죠. NRS와 다르게 Anchor를 0점으로 두지 않는 이유는 Test Samples가 Anchor보다 낮은 성능을 가질 수 있기 때문입니다. NRS와 비교했을 때 또 다른 특징은 가장 심한 통증은 사람마다 다를 수 있는 반면, Hidden Reference는 누구에게나 동일한 소리이므로 더 객관적이라고 볼 수도 있겠죠.
나아가 MUSHRA에서는 Post screening rule이 있어 평가자가 무작위로 평가하지 않았는지, 주어진 지시사항을 잘 이해했는지, 성능을 충분히 구분할 수 있는 역량을 가지고 있는지를 확인하는 절차도 있습니다. 생각보다 체계적이죠?
MUSHRA 청음 평가를 직접 진행해봤습니다.
아직 충분히 이해하기 어려우실 수 있을 것 같아 올 1월에 가우디오랩에서 진행되었던 Just Voice SDK의 주관적 성능 평가를 예를 들어 설명을 드려볼게요.
1) MUSHRA 평가 설계
Just Voice SDK는 Mobile, PC, Embedded에 탑재되어 실시간으로 소음을 제거할 수 있는 기능을 제공합니다. 당시 Just Voice SDK와 경쟁 기술이자 Discord에 탑재된 소음 제거 기술인 Krisp와 두 가지 성능을 비교하고자 했는데 첫 번째는 소음을 얼마나 잘 제거하는가, 두 번째는 음성이 얼마나 명료 한가입니다. 두 성능 모두 MUSHRA 방법으로 테스트를 진행하였습니다.
Hidden Reference는 화상회의와 같은 일반적인 상황을 가정하여 조용한 스튜디오에서 다양한 스마트폰을 가지고 녹음했습니다. Test Samples는 Hidden Reference에 SNR 5dB로 노이즈를 섞은 신호를 입력으로 Just Voice SDK로 소음 제거 처리를 한 신호와 Krisp SDK로 소음 제거 처리된 신호와 비교하였습니다.
흥미로운 것은 Anchor인데요. 두 가지 성능은 다른 평가 항목이기 때문에 서로 다른 Anchor로 설정되어야 합니다. 첫 번째 평가 성능인 소음 제거에 대한 Anchor는 소음이 제거되기 전인 SNR 5dB로 노이즈를 섞은 신호로 설정하였고, 두 번째 평가 성능인 음성 명료도 대한 Anchor는 Hidden reference를 낮은 주파수 대역만 남도록 3.5kHz Low-pass filtering 한 신호로 설정했습니다. - 이는 음성 품질 평가에 주로 사용하는 방법입니다.
2) MUSHRA 평가 진행 방법
평가는 WebMushra라는 도구를 사용해서 진행했습니다. WebMushra는 아래와 같은 UI를 가지고 있습니다. Reference는 Hidden Reference가 재생되고, Cond. 1~4는 Hidden Reference, Anchor, Test Samples (Just Voice SDK, Krisp)가 무작위로 재생됩니다. 평가자는 Cond. 1~4를 비교하며 들으면서 Hidden reference를 찾아 100점을 주고, Anchor를 찾아 20점 언저리의 낮은 점수를 주고, 남은 두 Cond. 에 대하여 Reference와 Anchor 대비 상대적인 점수를 주면 됩니다.
이렇게 여러 Test Item을 가지고 평가를 진행하면 아래 이미지와 같이 평가자 별로 각 Cond. 에 대한 점수가 csv 파일로 기록됩니다.
결과는 어땠을까요?
1) MUSHRA 평가 결과 해석 방법
모든 평가자들이 평가를 완료하면 Post-screening rule을 적용하여 부적합한 결과들을 제외한 후 각 Cond. 별로 평균과 95% 신뢰구간을 그려서 비교하게 됩니다. 신뢰 구간이 95%라는 것은, 평가자들이 95%의 확률로 특정 구간 안에서 점수를 주게 된다는 의미로 이해하면 됩니다.
아래는 실제로 저희가 진행한 실험의 소음 제거 성능에 대한 결과입니다. 회색 마커는 평균, 파란색 마커와 주황색 마커는 각각 95% 신뢰 구간의 최대, 최소로 보시면 됩니다. 이 신뢰 구간이 서로 겹치지 않아야 통계적으로 유의미한 성능 차이가 있다고 얘기할 수 있겠죠? (=구분할 수 있다는 거죠.) 그리고 평가자들의 수가 많을수록 이 신뢰 구간은 좁아집니다.
2) 소음 제거도 평가 결과
이 실험은 66명이나 참가한 규모가 큰 실험이었기 때문에 신뢰 구간이 상당히 좁게 나타났습니다. Benchmark (Krsip)와 Just Voice를 비교해 보면 신뢰구간이 겹치지 않고 12.5점 차이가 발생하고 있습니다. 이 정도의 차이라면 명확하게 두 기술의 성능 차이를 구분할 수 있는 수준이죠.
청음 평가 결과를 자세히 분석할 때 Test item 별로 결과를 살펴보는데, 아래와 같이 그려서 확인합니다. Just Voice는 16개 중 7개의 Test item에서 Benchmark보다 95% 유의 수준에서 통계적으로 소음 제거 성능이 훌륭한 걸 확인할 수 있지요. (초록색)
흥미로운 점은 3개의 Test item (14p-03_office, 15p-02_hallway, s20p-04_office)에서 Just Voice보다 Hidden Reference의 평균이 낮은 결과가 나왔습니다 (파란색 및 주황색). 실제 환경에 가깝게 테스트하기 위해 스마트폰으로 녹음한 Reference에도 노이즈가 포함되었는데, Just Voice가 Reference보다 음성 왜곡 없이 더 소음을 잘 제거하다 보니 이러한 결과가 나온 것으로 분석되었습니다. 사실상 Reference와 구분이 어려운 수준인 것이죠.
심지어 14p-03_office에서는 Just Voice와 95% 통계 유의가 있게 레퍼런스보다 더 좋은 결과가 나왔습니다. (주황색). Just Voice를 레퍼런스로 판단한 거죠 👍
3) 음성 명료도 평가 결과
음성 명료도 실험 결과도 궁금하신 분들이 계실 것 같아 아래처럼 첨부해 봅니다. 위와 같은 방법으로 결과를 직접 해석해 보세요. 😉
마치며
오늘은 고품질 오디오/시스템의 성능을 비교하는 주관적 음질 평가 방법인 MUSHRA에 대해서 알아보았습니다. 주관적인 음질을 어떻게 평가하느냐는 상당히 많은 고민과 노력이 필요합니다. 정답, 즉 Hidden reference를 무엇으로 설정해야 하는지, Anchor를 무엇으로 설정해야 하는지 고민해야 하고, 실험 자체가 잘 진행되도록 열심히 챙겨야 합니다.
개인적으로는 얼른 AI 기술이 발달하여 “이 소리는 95점입니다 휴먼 🤖” 할 수 있는 날이 조만간 오면 좋겠네요.
혹시 MUSHRA 방법론에 대하여 더 알고 싶으시거나, 다른 주관적 음질 평가 방법인 ABX, MOS가 궁금하시다면, 문의를 남겨주세요. 이와 관련된 글을 작성해 보겠습니다 🙂