How it works

뮤담은 음원을 브라우저에서 처리합니다.

파일을 선택한 뒤 어떤 과정으로 디코딩하고 편집하며 WAV 또는 MP3 파일을 만드는지 정리했습니다.

1. 파일 선택

사용자가 선택한 음원은 브라우저의 File API로 읽습니다. 편집을 위해 파일 내용을 별도 업로드 API로 전송하지 않습니다.

2. 음원 디코딩

브라우저의 Web Audio API가 지원하는 코덱이면 AudioBuffer로 디코딩합니다. 같은 확장자라도 내부 코덱과 브라우저 조합에 따라 지원 여부가 달라질 수 있습니다.

3. 편집

합치기는 여러 트랙의 클립을 시작 시점에 맞춰 배치합니다. 같은 시간에 놓인 클립은 함께 들리고, 클립이 이어진 구간은 순서대로 재생됩니다. 트랙별 게인은 겹치는 구간의 합산 음량에 영향을 줍니다. 자르기는 파형에서 선택한 여러 구간을 원본 시간 순서대로 배치하고, 볼륨·페이드·속도 변경은 게인과 재생률을 사용하고, 피치 조절은 브라우저 내 피치 시프트 DSP를 사용해 재생 길이를 유지하는 방향으로 음높이를 변환합니다. 큰 폭으로 바꾸면 음색 왜곡이나 아티팩트가 생길 수 있으며 결과는 음원에 따라 달라집니다.

4. WAV 또는 MP3 저장

WAV는 렌더링한 PCM 데이터를 16비트 WAV 구조로 만듭니다. MP3를 선택하면 브라우저에서 LAME 기반 JavaScript 인코더(lamejs)를 불러와 선택한 128·192·256·320 kbps 중 하나로 MP3를 인코딩합니다. 음원 데이터 자체는 별도 서버로 업로드하지 않습니다. lamejs 프로젝트를 확인할 수 있습니다.

페이지 요청과 파일 처리는 다릅니다

사이트를 열 때 HTML, CSS, JavaScript, 광고 같은 웹 리소스는 네트워크에서 요청될 수 있습니다. 반면 편집 대상으로 선택한 음원 데이터는 현재 핵심 도구 흐름에서 서버 업로드를 거치지 않습니다.

로컬 처리의 제한

긴 음원이나 여러 개의 큰 파일은 브라우저 메모리를 많이 사용할 수 있습니다. 또한 지원 코덱은 운영체제와 브라우저에 따라 달라질 수 있습니다. 중요한 작업은 결과 파일을 내려받은 뒤 재생 상태를 확인하세요.