목소리 추출기 — 배경음악·효과음 제거

음악 위에 녹음한 내레이션, 게임 컷신, 영상의 한 장면처럼 목소리만 필요한 경우가 있습니다. 파일을 올리고 목소리 추출을 누르면 AI 분리 모델이 소리를 목소리와 나머지로 나눕니다. 둘 다 들어 본 뒤 필요한 쪽을 MP3나 WAV로 저장하세요. 오디오는 내 컴퓨터에서 처리되며 업로드되지 않습니다.

음악 밑에 깔린 목소리를 분리하려면 예전에는 스튜디오용 플러그인을 쓰거나 누군가의 서버에 파일을 올려야 했습니다. 이 페이지는 MRX로 그 일을 합니다. MRX는 미쓰비시 전기 연구소(MERL)가 영화·영상 사운드트랙을 대사, 음악, 효과음으로 나누도록 학습시킨 분리 모델입니다. 내 프로세서 위의 Web Worker에서 ONNX Runtime으로 실행되며, 31MB 모델은 한 번만 받아 고정된 해시로 검사한 뒤 다음 방문을 위해 브라우저에 보관합니다.

모델은 파형을 직접 보지 않습니다. 페이지가 오디오를 20초씩 나눠 세 가지 해상도의 스펙트로그램으로 바꿉니다. 짧은 창은 자음을 잡아내고, 긴 창은 모음과 음의 높이를 또렷하게 가려냅니다. 모델은 각 스펙트로그램의 모든 점마다 목소리가 차지하는 몫을 돌려줍니다. 그 몫을 적용해 다시 소리로 되돌린 것이 목소리이고, 원본에서 그것을 뺀 것이 배경입니다. 그래서 둘을 합치면 언제나 처음 올린 소리와 정확히 같습니다.

시작하기 전에 어디서부터 잘 안 되는지 알아 두시면 좋습니다. 노래하는 목소리는 음악 쪽에 남기 쉽습니다. 모델이 노랫소리를 사운드트랙 속 음악의 일부로 배웠기 때문입니다. 여러 사람이 말하면 함께 추출됩니다. 사람끼리가 아니라 목소리와 목소리가 아닌 것을 나누기 때문입니다. 방의 울림도 목소리와 함께 남습니다. 울림 역시 그 목소리가 들린 방식의 일부이기 때문입니다.

목소리 추출기 — 배경음악·효과음 제거 사용법

  1. 오디오나 영상 파일을 상자에 끌어다 놓거나 클릭해서 고르세요. MP3, WAV, M4A, FLAC, OGG는 물론 MP4, WebM 영상도 됩니다. 영상은 소리만 사용합니다. 최대 10분 길이까지 받습니다.
  2. 목소리가 좌우로 나뉘어 있지 않다면 스테레오 유지는 꺼 두세요. 두 채널을 먼저 하나로 합치면 처리 시간이 절반이 되고, 목소리는 거의 언제나 가운데에 놓여 있습니다.
  3. 목소리 추출을 누릅니다. 처음 한 번은 31MB 분리 모델을 내려받으며 진행 막대에 진행률이 표시됩니다. 이후에는 이 브라우저가 모델을 보관하므로 이 단계를 건너뜁니다.
  4. 분리가 끝나기를 기다립니다. 파일을 20초 단위로 나눠 처리하며 남은 시간을 보여 줍니다. 일반적인 컴퓨터에서는 파일 길이보다 조금 짧게 걸리므로 3분짜리라면 2~3분입니다. 취소를 누르면 바로 멈춥니다.
  5. 원본과 함께 목소리, 배경 재생기를 번갈아 들어 보세요. 배경은 원본에서 목소리를 뺀 것이라 둘을 합치면 언제나 처음 올린 소리와 똑같습니다.
  6. 목소리 밑에 일정한 쉬— 소리나 웅— 소리가 남아 있다면 남은 잡음 줄이기를 켜고 들으면서 강도를 맞추세요. 변경은 잠깐이면 적용되며 목소리에만 적용됩니다.
  7. MP3나 WAV를 고른 뒤 목소리 저장을 누르세요. 말소리를 뺀 음악이 필요했다면 배경 저장을 누르면 됩니다.

알아두면 좋은 점

  • 음악 위의 말소리가 가장 잘 분리됩니다. 내레이션, 인터뷰, 브이로그, 예고편, 배경음이 깔린 강의 같은 경우입니다. 말하는 사람이 여럿이어도 모두 목소리 쪽에 함께 담깁니다. 이 모델은 목소리와 목소리가 아닌 것을 나누며, 사람끼리 나누지는 않습니다.
  • 노래는 다른 문제입니다. 이 모델은 영화식 사운드트랙으로 학습해서 노랫소리를 음악의 일부로 보는 경향이 있고, 그래서 노래하는 목소리는 배경 쪽에 남기 쉽습니다. 노래에는 보컬 제거 전용 도구가 맞습니다.
  • 방의 울림은 목소리와 함께 남습니다. 울림도 목소리의 일부이기 때문입니다. 분리는 말하는 사람 옆에서 함께 재생된 소리를 걷어낼 뿐, 말한 공간까지 지우지는 않습니다.
  • 잡음 줄이기는 적당히 쓰세요. 30~50% 정도면 에어컨 소리나 전기 험을 걷어내면서 목소리 색은 거의 바꾸지 않습니다. 100%에서는 작은 자음이 얇게 들리기 시작할 수 있습니다.
  • 10분이 넘는 파일은 오디오 변환 도구로 먼저 나눠 주세요. 어차피 20초 단위로 처리하므로 나눠도 품질은 떨어지지 않습니다.
  • 목소리를 편집 프로그램에서 더 다듬을 예정이면 WAV로, 완성본이면 MP3로 저장하세요. 말소리는 128kbps로 충분합니다.
  • 형식, 비트레이트, 스테레오, 잡음 설정은 이 브라우저에 저장됩니다. 오디오는 저장하지 않으며 아무 데도 보내지 않습니다.

자주 묻는 질문

파일이 어딘가로 업로드되나요?

아니요. 내려받는 것은 분리 모델 하나뿐입니다. 모델이 공개된 Hugging Face에서 한 번 받아 오고, 실행하기 전에 고정된 SHA-256 해시로 검사합니다. 오디오는 브라우저가 해석하고, 그 모델이 내 프로세서 위의 Web Worker에서 분리하며, 파일로 다시 만드는 것도 내 컴퓨터에서 합니다. 이 사이트에는 파일을 받을 서버 자체가 없습니다. 모델이 한 번 보관된 뒤에는 인터넷을 끊어도 그대로 동작합니다.

AI가 목소리와 음악을 어떻게 구분하나요?

이 모델(MRX)은 목소리, 음악, 효과음을 각각 따로 알고 있는 수천 개의 혼합 음원으로 학습해서, 각각이 스펙트로그램에서 어떻게 보이는지 익혔습니다. 스펙트로그램은 매 순간 어느 주파수가 큰지를 그린 그림입니다. 모델은 그 그림의 모든 점마다 목소리가 차지하는 비율을 추정하고, 원본에 그 비율을 곱한 뒤 다시 소리로 되돌린 것이 목소리 트랙입니다. 자음은 짧게 터지는 소리이고 모음은 길게 이어지는 소리라서 한 가지 해상도로는 둘 다 또렷하게 볼 수 없습니다. 그래서 세 가지 시간·주파수 해상도로 동시에 봅니다.

온라인 서비스보다 왜 느린가요?

빌린 그래픽카드가 아니라 내 컴퓨터의 프로세서 코어 하나로 처리하기 때문입니다. 브라우저에서 여러 코어를 쓰려면 사이트가 격리 헤더를 보내야 하는데, 이 사이트가 올라가 있는 GitHub Pages는 그 헤더를 보낼 수 없습니다. 대신 파일이 내 손을 떠나지 않고, 대기열도 계정도 하루 사용량 제한도 없습니다. 대략 클립 길이만큼 걸린다고 생각하시면 됩니다.

목소리에 음악이 조금 남아 있는 이유는 무엇인가요?

같은 순간에 음악과 목소리가 같은 주파수를 차지하는 부분은 완전히 나눌 정보가 녹음 안에 남아 있지 않아서, 모델이 최선의 추정을 합니다. 시험해 보니 목소리와 음악이 거의 같은 크기로 섞인 음원에서, 추출한 목소리가 남은 배경보다 약 11데시벨 컸습니다. 배경의 세기가 10분의 1 아래로 줄었다는 뜻이고, 보통은 음악이 희미한 흔적만 남는 수준입니다. 작은 목소리 밑에 크고 빽빽한 음악이 깔려 있을수록 더 많이 남고, 잔잔한 배경음일수록 적게 남습니다.

남은 잡음 줄이기는 무엇을 하나요?

주파수마다 목소리 트랙에서 가장 조용한 구간의 크기를 잽니다. 아무도 말하지 않을 때도 깔려 있는 잡음의 바닥입니다. 그리고 소리의 각 부분을 그 바닥에 얼마나 가까운지에 따라 줄입니다. 바닥보다 훨씬 위로 올라오는 말소리는 그대로 두고, 바닥에 머무는 일정한 쉬— 소리와 웅— 소리는 최대 24dB까지 낮춥니다. 판단을 이웃한 주파수와 시간에 걸쳐 부드럽게 이어 주기 때문에 단순한 노이즈 게이트에서 생기는 꾸르륵거리는 소리가 나지 않습니다.

추출한 목소리를 상업적으로 써도 되나요?

이 도구는 결과물에 아무 제한을 두지 않으며, 모델도 MIT 라이선스로 공개되어 있습니다. 목소리를 써도 되는지는 원본 녹음의 문제입니다. 다른 사람의 영상이나 게임에서 목소리를 분리해 냈다고 해서 그 연기의 권리자가 바뀌지는 않습니다. 직접 녹음했거나 권리를 가진 자료라면 자유롭게 쓰셔도 됩니다.