오디오 파일 노이즈 제거하기
음성 메모, 인터뷰, 강의 녹음처럼 사람의 목소리와 함께 실내 소음이 담긴 파일을 처리할 수 있습니다. 이 페이지에서는 입력할 수 있는 형식, 파일 처리 과정, 출력 규격과 전체 오디오 작업 순서에서 노이즈 제거가 들어갈 위치를 설명합니다.
처리할 수 있는 파일
mp3, wav, m4a, aac, flac, ogg와 대부분의 영상 파일에 포함된 오디오 트랙을 처리할 수 있습니다. 다만 이 목록은 참고용이며 모든 파일을 보장하지는 않습니다. 확장자가 아니라 파일 앞부분을 읽어 실제 형식을 판별하므로 확장자 이름이 바뀐 파일도 내용에 맞게 처리합니다.
브라우저에서 파일을 디코딩할 수 없으면 원인을 알리는 오류가 표시됩니다. 이때 먼저 mp3나 wav로 변환하면 대부분 처리할 수 있습니다. 이는 임시방편이 아닙니다. 이런 경우에는 노이즈 제거 기능이 아니라 파일 컨테이너를 해석하는 기능이 부족한 것입니다.
파일에서 읽는 부분
mp4와 m4a, 컨테이너에 담기지 않은 aac나 mp3에서는 실제로 필요한 구간만 엽니다. 파일 내부의 색인을 따라 해당 바이트만 읽으므로 긴 녹음 전체를 메모리에 올릴 필요가 없습니다. 큰 파일을 기준으로 전체 디코딩보다 메모리 사용량이 약 103배 적다는 것을 실측했습니다.
wav, flac, ogg, webm 같은 무손실 또는 개방형 형식은 아직 필요한 구간만 읽을 수 없어 파일 전체를 디코딩합니다. 일반적인 길이에서는 문제가 없지만 매우 긴 파일이 브라우저 메모리를 모두 사용할 수 있는 유일한 경우입니다. 같은 녹음을 mp3나 m4a로 변환하면 메모리를 훨씬 적게 사용하는 방식으로 처리할 수 있습니다.
모델로 보내기 전에 모든 파일에 다음 두 가지 처리를 적용합니다.
- 모든 오디오를 48 kHz 모노 1채널로 믹스다운합니다. 단일 채널 모델의 필수 입력 조건이므로 바꿀 수 있는 설정이 아닙니다. 스테레오 녹음이나 서로 다른 채널에 담긴 두 마이크의 소리는 먼저 하나로 합쳐집니다. 이 방식이 문제가 되는 경우와 대안은 팟캐스트 페이지에 있습니다.
- 첫 30초가 아니라 가장 소리가 큰 30초를 선택합니다. 녹음 초반에는 의자 끄는 소리나 헛기침, 녹음 여부를 확인하는 말만 담기는 경우가 많습니다. 이 구간만으로 판단하면 실제 효과보다 나빠 보일 수 있습니다. 결과 카드에서 처리한 구간을 확인할 수 있습니다.
출력 파일
출력은 48 kHz, 16비트 모노 WAV이며 30초 기준 약 2.9 MB입니다. 브라우저에는 범용 오디오 인코더가 없어 WAV로 제공합니다. mp3로 내보내려면 약 9 MB의 노이즈 제거 엔진 외에 별도의 인코더도 다운로드해야 하므로 미리 듣기 다운로드에 비해 부담이 큽니다.
원본과 처리본의 음량은 맞추지 않습니다. 홈페이지 샘플은 원본이 −11.6 LUFS, 처리본이 −13.7 LUFS로 약 2 LU 낮습니다. 이는 오류가 아닙니다. 소음을 제거하면 오디오의 전체 에너지도 줄어들기 때문에 다른 파일에서도 같은 현상이 나타납니다. 음량을 억지로 맞추면 처리 효과가 더 좋아 보일 수 있고 이후 레벨 조정에 필요한 정보를 가리게 됩니다.
권장 작업 순서
- 먼저 노이즈를 제거하고 레벨을 조정한 뒤 마스터링합니다. 음량 정규화를 하지 않으므로 처리본은 원본보다 음량이 낮아집니다. 따라서 음량과 관련된 모든 판단은 노이즈 제거 이후에 해야 합니다. 소음이 있는 상태에서 먼저 레벨을 조정하면 곧 달라질 노이즈 플로어를 기준으로 작업하게 됩니다.
- 음악과 효과음을 넣기 전에 처리합니다. 모델은 음성으로 인식한 소리를 남기고 나머지를 낮춥니다. 목소리 아래의 배경 음악도 제거 대상으로 판단할 수 있으므로 음성을 먼저 처리한 뒤 음악을 추가하세요.
- 이퀄라이저가 아닙니다. 치찰음 제거나 음색 조정, 클리핑 또는 왜곡된 오디오 복원은 지원하지 않습니다. 노이즈 제거 한 가지 작업만 수행합니다.