Zettelkasten

정답 전사가 없어도 변형 간 이탈 패턴으로 오디오 열화를 판별할 수 있다

·수정 2026.09.30·수정 3회

요약

  • 오디오 설정을 바꿔가며 STT 품질을 비교할 때, 무손실 쪽 전사를 정답 삼아 오차율을 재면 모델 자체의 실행 편차에 묻힌다. 실제로 가장 고음질인 설정이 가장 많이 어긋났다.
  • 대신 여러 변형의 전사를 같은 자리끼리 늘어놓고 "다수와 갈라지는 설정이 어디인가"를 본다. 정답을 몰라도 이탈 자체가 증거가 된다.
  • 다만 다수결은 정답이 아니므로, 이 방법은 "어떤 설정이 나쁜가"는 가려도 "남은 것들 중 어느 쪽이 정확한가"는 못 가린다.

본문

안 되는 방법: 무손실 전사를 정답 삼아 오차율 재기

원본 오디오의 전사를 기준으로 각 변형의 글자 오차율(CER)을 쟀더니 순서가 역전됐다.

설정 기준 전사 대비 CER
32 kbps 11.8%
24 kbps 7.0%
16 kbps 6.5%
12 kbps 7.0%
8 kbps 9.4%

비트레이트가 가장 높은 설정이 가장 많이 어긋났다. 기준 자체가 모델 출력이고, Whisper는 같은 음성을 넣어도 실행마다 조사·어미를 다르게 뱉기 때문이다. 이 편차가 열화 신호보다 크면 수치의 절대값도 순위도 믿을 수 없게 된다. 수치가 매끄럽게 나왔다고 측정이 된 게 아니다.

되는 방법: 이탈 패턴 보기

전사들을 같은 발화 자리끼리 표로 늘어놓고, 각 설정이 무엇으로 들었는지 비교한다.

  • 다수가 A로 듣는 자리에서 특정 설정들만 B로 갈라지면, 그 설정에서 무언가 사라졌다는 뜻이다. 정답이 A인지 B인지는 몰라도 된다
  • 갈라지는 자리가 여러 개인데 매번 같은 설정들에서만 나오면 우연이 아니다
  • 반대로 각 설정이 서로 다른 자리에서 제각기 틀리면 방향성이 없는 것이고, 그건 모델 편차다

실측에서는 변형 6개 중 대역이 좁은 두 설정만 다섯 자리에서 같은 방식으로 갈라졌다. 나머지 설정들은 각자 다른 데서 틀려 규칙이 없었다.

교차 확인으로 기전을 세운다

이탈이 왜 생겼는지는 전사가 아닌 신호 쪽에서 따로 잰다. 음성 구간의 대역별 에너지를 원본과 비교했더니, 전사가 갈라진 그 두 설정만 3.4kHz 위가 무너져 있었다. 예측(대역 손실)과 관찰(전사 이탈)이 같은 대상을 가리키면 기전이 선다.

음성학 쪽 근거도 같은 방향이다. 영어 무성 치찰음 /s/는 주 스펙트럼 피크가 약 45kHz, 스펙트럼 평균이 56kHz에 있고 여성·아동 화자는 6.38.8kHz까지 올라간다. 저역통과 실험에서 정상 청력 청자의 /s/ 식별률이 4kHz에서 76%까지 떨어진다. 다만 /ʃ, ʒ/는 피크가 2.53kHz로 오히려 4kHz 아래에 있다. 협대역에서 생기는 혼동은 "치찰음이 다 안 들려서"가 아니라 /s/의 고역 피크만 잘려 나가 남은 모양이 /ʃ/처럼 보이기 때문이다. 한국어 마찰음·파찰음의 수치는 1차 출처를 확보하지 못해 미검증으로 둔다.

한계

  • 다수결은 정답이 아니다. 모든 변형이 같은 방식으로 틀렸다면 이 방법으로는 안 잡힌다
  • 하한선(어디부터 무너지는가)은 가려도, 그 위 구간의 우열은 못 가린다. 그건 사람이 받아쓴 정답이 있어야 한다
  • 그래서 실무에서는 이 방법으로 바닥을 찾고, 그 위 선택은 다른 기준(비용 차이, 안전 마진)으로 한다

환각을 열화로 오해하지 말 것

무음 구간에서 학습 데이터 조각(자막 크레딧 문구, 숫자 나열 등)을 뱉는 현상은 비트레이트와 무관하게 나타났다. 특정 설정에서만 나오는지 여러 변형을 비교해 확인해야 열화 신호와 구분된다.

전제: STT는 8kHz 초과 대역을 쓰지 않는다

Whisper 계열(openai/whisper, faster-whisper, whisperX)은 모두 16kHz를 전제로 한다. 파일 경로나 파일 객체로 넣으면 16kHz 모노로 리샘플한 뒤 0~8kHz를 덮는 80채널 log-Mel spectrogram을 만든다. 따라서 48kHz로 저장해도 8kHz 초과 대역은 STT에 쓰이지 않는다.

주의할 점이 하나 있다. numpy 배열을 직접 넘기면 리샘플이 일어나지 않고 16kHz라고 가정해 버린다. 48kHz 배열을 그대로 넘기면 조용히 3배속 오디오로 해석돼 전사가 망가진다. 리샘플이 보장되는 건 파일 경로·파일 객체 입력뿐이다.

관련 노트

참고