음악 위에 녹음한 내레이션, 게임 컷신, 영상의 한 장면처럼 목소리만 필요한 경우가 있습니다. 파일을 올리고 목소리 추출을 누르면 AI 분리 모델이 소리를 목소리와 나머지로 나눕니다. 둘 다 들어 본 뒤 필요한 쪽을 MP3나 WAV로 저장하세요. 오디오는 내 컴퓨터에서 처리되며 업로드되지 않습니다.
음악 밑에 깔린 목소리를 분리하려면 예전에는 스튜디오용 플러그인을 쓰거나 누군가의 서버에 파일을 올려야 했습니다. 이 페이지는 MRX로 그 일을 합니다. MRX는 미쓰비시 전기 연구소(MERL)가 영화·영상 사운드트랙을 대사, 음악, 효과음으로 나누도록 학습시킨 분리 모델입니다. 내 프로세서 위의 Web Worker에서 ONNX Runtime으로 실행되며, 31MB 모델은 한 번만 받아 고정된 해시로 검사한 뒤 다음 방문을 위해 브라우저에 보관합니다.
모델은 파형을 직접 보지 않습니다. 페이지가 오디오를 20초씩 나눠 세 가지 해상도의 스펙트로그램으로 바꿉니다. 짧은 창은 자음을 잡아내고, 긴 창은 모음과 음의 높이를 또렷하게 가려냅니다. 모델은 각 스펙트로그램의 모든 점마다 목소리가 차지하는 몫을 돌려줍니다. 그 몫을 적용해 다시 소리로 되돌린 것이 목소리이고, 원본에서 그것을 뺀 것이 배경입니다. 그래서 둘을 합치면 언제나 처음 올린 소리와 정확히 같습니다.
시작하기 전에 어디서부터 잘 안 되는지 알아 두시면 좋습니다. 노래하는 목소리는 음악 쪽에 남기 쉽습니다. 모델이 노랫소리를 사운드트랙 속 음악의 일부로 배웠기 때문입니다. 여러 사람이 말하면 함께 추출됩니다. 사람끼리가 아니라 목소리와 목소리가 아닌 것을 나누기 때문입니다. 방의 울림도 목소리와 함께 남습니다. 울림 역시 그 목소리가 들린 방식의 일부이기 때문입니다.
아니요. 내려받는 것은 분리 모델 하나뿐입니다. 모델이 공개된 Hugging Face에서 한 번 받아 오고, 실행하기 전에 고정된 SHA-256 해시로 검사합니다. 오디오는 브라우저가 해석하고, 그 모델이 내 프로세서 위의 Web Worker에서 분리하며, 파일로 다시 만드는 것도 내 컴퓨터에서 합니다. 이 사이트에는 파일을 받을 서버 자체가 없습니다. 모델이 한 번 보관된 뒤에는 인터넷을 끊어도 그대로 동작합니다.
이 모델(MRX)은 목소리, 음악, 효과음을 각각 따로 알고 있는 수천 개의 혼합 음원으로 학습해서, 각각이 스펙트로그램에서 어떻게 보이는지 익혔습니다. 스펙트로그램은 매 순간 어느 주파수가 큰지를 그린 그림입니다. 모델은 그 그림의 모든 점마다 목소리가 차지하는 비율을 추정하고, 원본에 그 비율을 곱한 뒤 다시 소리로 되돌린 것이 목소리 트랙입니다. 자음은 짧게 터지는 소리이고 모음은 길게 이어지는 소리라서 한 가지 해상도로는 둘 다 또렷하게 볼 수 없습니다. 그래서 세 가지 시간·주파수 해상도로 동시에 봅니다.
빌린 그래픽카드가 아니라 내 컴퓨터의 프로세서 코어 하나로 처리하기 때문입니다. 브라우저에서 여러 코어를 쓰려면 사이트가 격리 헤더를 보내야 하는데, 이 사이트가 올라가 있는 GitHub Pages는 그 헤더를 보낼 수 없습니다. 대신 파일이 내 손을 떠나지 않고, 대기열도 계정도 하루 사용량 제한도 없습니다. 대략 클립 길이만큼 걸린다고 생각하시면 됩니다.
같은 순간에 음악과 목소리가 같은 주파수를 차지하는 부분은 완전히 나눌 정보가 녹음 안에 남아 있지 않아서, 모델이 최선의 추정을 합니다. 시험해 보니 목소리와 음악이 거의 같은 크기로 섞인 음원에서, 추출한 목소리가 남은 배경보다 약 11데시벨 컸습니다. 배경의 세기가 10분의 1 아래로 줄었다는 뜻이고, 보통은 음악이 희미한 흔적만 남는 수준입니다. 작은 목소리 밑에 크고 빽빽한 음악이 깔려 있을수록 더 많이 남고, 잔잔한 배경음일수록 적게 남습니다.
주파수마다 목소리 트랙에서 가장 조용한 구간의 크기를 잽니다. 아무도 말하지 않을 때도 깔려 있는 잡음의 바닥입니다. 그리고 소리의 각 부분을 그 바닥에 얼마나 가까운지에 따라 줄입니다. 바닥보다 훨씬 위로 올라오는 말소리는 그대로 두고, 바닥에 머무는 일정한 쉬— 소리와 웅— 소리는 최대 24dB까지 낮춥니다. 판단을 이웃한 주파수와 시간에 걸쳐 부드럽게 이어 주기 때문에 단순한 노이즈 게이트에서 생기는 꾸르륵거리는 소리가 나지 않습니다.
이 도구는 결과물에 아무 제한을 두지 않으며, 모델도 MIT 라이선스로 공개되어 있습니다. 목소리를 써도 되는지는 원본 녹음의 문제입니다. 다른 사람의 영상이나 게임에서 목소리를 분리해 냈다고 해서 그 연기의 권리자가 바뀌지는 않습니다. 직접 녹음했거나 권리를 가진 자료라면 자유롭게 쓰셔도 됩니다.