문제별 점검 찾기 · 전체 글

배경 잡음이 섞이면 한국어 Whisper 자막이 얼마나 틀릴까: 같은 음성에 잡음 4단계를 넣어 본 결과

· 게시

· 수정

같은 21초 한국어 내레이션에 분홍 잡음(pink noise)을 네 가지 크기로 섞고, 로컬 Whisper로 자동자막을 13번 만들어 봤습니다. 내레이션이 잡음보다 10dB 이상 클 때는 잡음이 없을 때와 같은 범위인 0~2자만 틀렸습니다. 5dB에서는 잡음 3종 모두 4~5자가 틀렸고, 0dB에서는 4~9자가 틀리면서 ‘알래스카만’이 ‘알래스타만’으로 바뀌는 것처럼 새 단어 오류가 나왔습니다. 그리고 잡음이 전혀 없어도 음량만 절반으로 줄이자 틀리는 단어가 바뀌었습니다. 그래서 한 번 돌린 결과만 보고 잡음 탓이라고 정하기는 어려웠습니다.

어떤 문제였나요?

영상 편집에서는 내레이션에 배경음악이나 효과음을 먼저 깔고, 다 섞은 소리로 자동자막을 만드는 경우가 있습니다. 이때 배경 소리가 얼마나 커야 자막이 틀리기 시작하는지 궁금했습니다. 음악은 종류마다 결과가 달라질 수 있어서, 이번에는 크기를 정확히 맞출 수 있는 분홍 잡음으로 잡음 크기만 바꿔 봤습니다.

어떻게 시험했나요?

  • 음성: 10월 22일 영상에 실제로 쓴 내레이션 파일 그대로입니다(로컬 VoxCPM2로 만든 합성 음성, 21.12초). 새로 합성하지 않았습니다. ffmpeg로 잰 평균 음량은 -19.1dB였습니다.
  • 잡음: ffmpeg의 anoisesrc로 만든 분홍 잡음입니다. 무작위 시드 1·2·3으로 서로 다른 잡음 3종을 만들었습니다.
  • 바꾼 것: 잡음 크기 하나입니다. 내레이션과 잡음의 평균 음량 차이(SNR)를 20·10·5·0dB로 맞췄고, 잡음을 넣지 않은 경우도 한 번 받아 적었습니다. 내레이션 평균 음량은 문장 사이 쉼까지 포함한 파일 전체 기준입니다.
  • 같게 둔 것: 로컬 Whisper large-v3-turbo(mlx-whisper 0.4.3), 언어 한국어, 단어 시간 켬, 용어 목록(initial_prompt) 없음, 후편집 없음. 0dB에서 소리가 최대치를 넘지 않도록 모든 조건의 최종 음량을 똑같이 절반(×0.5)으로 줄였습니다.
  • 세는 법: 원래 대본과 받아쓰기에서 띄어쓰기·문장부호를 빼고 108자를 한 글자씩 비교했습니다. 대본의 ‘이천이십삼 년’, ‘삼천이백오십 미터’는 Whisper가 적는 ‘2023년’, ‘3250m’로 바꿔서 셌습니다.
  • 실행 시각: 2026년 10월 27일 00:56:58~00:57:07, 13회.

결과는 어땠나요?

잡음 크기(SNR) 틀린 글자 수(잡음 1·2·3) 틀린 곳
잡음 없음 2 (1회) ‘심해’→’심의’ 두 곳
20dB 2 · 0 · 0 잡음 1만 ‘말미잘이’→’말미자리’
10dB 2 · 0 · 0 잡음 1만 ‘말미잘이’→’말미자리’
5dB 5 · 4 · 4 세 번 모두 ‘심의’ 두 곳과 ‘말미자리’, 잡음 1은 ‘밑동’→’윗동’도
0dB 4 · 5 · 9 ‘알래스타만’, ‘3사팀’, ‘경체’, ‘시내’, ‘윗동’ 등

108자 기준으로 보면 10dB 이상은 0~1.9%, 5dB는 3.7~4.6%, 0dB는 3.7~8.3%였습니다. 13번 모두 소리가 최대치를 넘지 않았습니다(최고 0.44~0.51).

무엇이 달라졌나요?

20dB와 10dB에서는 잡음 3종 중 2종이 한 글자도 틀리지 않았고, 나머지 1종은 ‘말미잘이’만 ‘말미자리’로 적었습니다. 이 단어는 잡음이 없을 때도 틀린 적이 있는 단어입니다(아래 참고).

5dB에서는 세 번 모두 첫 문장의 ‘심해’를 ‘심의’로, ‘말미잘이’를 ‘말미자리’로 적었습니다. 잡음 1에서는 ‘밑동’이 ‘윗동’이 됐습니다.

0dB에서는 그동안 맞던 단어까지 틀렸습니다. 잡음 1은 ‘알래스카만’을 ‘알래스타만’으로, 잡음 2는 ‘탐사팀’을 ‘3사팀’으로, 잡음 3은 ‘정체’를 ‘경체’로, ‘심해’를 ‘시내’로 적었습니다. 같은 0dB라도 잡음에 따라 틀린 글자가 4자에서 9자까지 달랐습니다.

잡음이 없어도 결과가 바뀌었나요?

네. 같은 내레이션을 원래 음량 그대로, 잡음 없이 받아 적은 10월 25일 결과에서는 ‘심해’는 맞고 ‘말미잘이’를 ‘말미자리’로 적었습니다(두 번 모두 같음). 이번에 음량만 절반으로 줄이자 반대로 ‘심해’를 ‘심의’로 틀리고 ‘말미잘이’는 맞게 적었습니다. 그래서 이 두 단어가 한두 글자 바뀐 것은 잡음 때문이라고 보기 어렵습니다. 잡음 크기에 따라 분명히 달라진 것은 5dB 이하에서 틀린 글자가 4자 이상으로 늘고 새 단어 오류가 나온 부분입니다.

이 결과로 말할 수 없는 것

  • 21초 합성 음성 1개의 결과입니다. 사람 목소리 녹음이나 더 긴 영상에서도 10dB가 같은 기준이 된다는 뜻은 아닙니다.
  • 분홍 잡음은 음악·사람 말소리·실내 소음과 다릅니다. 가사가 있는 배경음악은 이번 결과보다 더 크게 방해할 수도 있지만 시험하지 않았습니다.
  • SNR은 쉼까지 포함한 파일 전체 평균으로 계산했습니다. 말하는 구간만 따로 재면 숫자가 달라집니다.
  • 조건마다 잡음 3종(잡음 없음은 1회)뿐입니다. 사람이 듣고 판단한 결과도 아닙니다.
  • Whisper 다른 크기 모델이나 OpenAI의 유료 음성 인식 서비스는 시험하지 않았습니다.

따라 해 볼 순서

  1. 가능하면 배경음악을 섞기 전에 내레이션 파일만으로 자동자막을 만듭니다. 이번 시험에서는 잡음이 없거나 작을 때 오류가 가장 적었습니다.
  2. 이미 섞인 소리로 만들어야 한다면, 섞기 전 내레이션과 배경음을 각각 ffmpeg -i 파일.wav -af volumedetect -f null -로 재서 mean_volume 차이를 봅니다. 이번 시험에서는 차이가 10dB 이상일 때 잡음 없는 경우와 비슷했습니다.
  3. 같은 조건으로 자막을 만들 때 쓴 명령은 mlx_whisper 음성.wav --model mlx-community/whisper-large-v3-turbo --language ko --word-timestamps True --output-format srt입니다.
  4. 결과에서 고유명사·전문용어(이번에는 ‘말미잘’, ‘알래스카만’)를 먼저 찾아 확인합니다. 잡음이 작아도 이런 단어는 바뀔 수 있었습니다.
  5. 잡음 탓인지 확인하려면 잡음 없는 파일과 잡음 섞인 파일을 같은 음량으로 맞춰 각각 받아 적고 비교합니다. 한 번 결과만으로는 판단하지 않습니다.
  6. 마지막으로 최종 영상에서 자막을 직접 재생해 틀린 단어를 고칩니다.

잡음은 이렇게 만들 수 있습니다: ffmpeg -f lavfi -i "anoisesrc=color=pink:amplitude=0.5:seed=1:sample_rate=16000:duration=21.12" pink.wav. 옵션 설명은 ffmpeg 필터 문서(anoisesrc)에 있습니다(2026년 10월 27일 확인). Whisper가 잡음에 강하도록 만든 배경은 Whisper 논문(Robust Speech Recognition via Large-Scale Weak Supervision)에서 볼 수 있습니다.

자주 묻는 질문

배경음은 내레이션보다 얼마나 작아야 하나요?

이번 21초 시험에서는 평균 음량 차이가 10dB 이상일 때 잡음이 없을 때와 같은 0~2자 오류 범위였고, 5dB에서는 세 번 모두 4자 이상 틀렸습니다. 다만 분홍 잡음 한 종류로 잰 결과라 음악에서도 같다는 뜻은 아닙니다.

잡음이 없으면 자막이 항상 정확한가요?

아니었습니다. 잡음이 없어도 ‘심해’나 ‘말미잘이’ 같은 단어는 음량에 따라 틀리기도 하고 맞기도 했습니다. 고유명사는 잡음과 상관없이 따로 확인하는 편이 좋습니다.

같은 음성의 받아쓰기 오류를 용어 목록으로 고친 글: Whisper 자막이 ‘말미잘이’를 ‘말미자리’로 적을 때: 용어 프롬프트 비교

분류:

작성·정정 안내

이 글의 원측정 날짜·파일 조건과 설명용 예제를 구분해 읽어 주세요. 작성·검토 방식 · 오류 제보·정정 요청