음원 음높이·템포 편집기
반음 이동과 템포 배율을 따로 정하세요. 위상 보코더가 시간 길이를 바꾸고 창 적용 sinc 재표본화가 음높이를 바꾸면서 템포로 정한 길이를 맞춥니다. +12반음·템포1배는 같은 길이에서 한 옥타브 상승, 0반음·템포1.5배는 일정한 음의 높이를 유지하며 짧아지는 결과를 목표로 합니다. 저장 전에 두 버전을 꼭 들어보세요. 기본 알고리즘에는 타격음 위상 고정과 성도 공명 보정이 없어 드럼 소리가 번지거나 목소리가 얇고 인공적으로 들릴 수 있습니다.
주요 기능
- 음높이 −12~+12반음, 템포 0.5~2배를 각각 설정합니다.
- 2048점 위상 보코더와 512샘플 분석 홉, 빈별 위상 진행으로 시간 길이를 바꿉니다.
- 반경16샘플 창 적용 sinc 재표본화를 쓰고 음높이를 올릴 때 저역통과를 적용합니다.
- 음량 정규화 없이 원본·결과를 듣고 출력 프레임·길이·피크를 확인합니다.
- 16비트 PCM WAV와 설정·원본 SHA-256을 담은 JSON을 저장하고 워커 계산을 취소할 수 있습니다.
사용 방법
- 8MiB 이하, 디코딩 후 0.5~20초인 브라우저 지원 음원이나 440Hz WAV 예제를 고릅니다.
- 반음(−12~+12)과 템포 배율(0.5~2)을 입력하고 예상 출력 길이를 확인합니다.
- 변환 후 원본과 결과를 들으며 음높이·길이·위상 번짐·목소리 음색을 살핍니다.
- 잘림 경고가 있다면 다른 편집기에서 원본 음량을 낮추고 WAV 및 선택 사항인 설정 JSON을 저장합니다.
활용 예시
- 연습용 짧은 음악을 몇 반음 올리면서 길이는 비슷하게 유지합니다.
- 일정한 악기 구간을 음높이는 유지한 채 느리게 들어봅니다.
- 효과음의 높이와 길이를 각각 달리한 버전을 만듭니다.
자주 묻는 질문
음높이와 템포가 정말 따로 조절되나요?
출력 프레임 수는 입력 프레임을 템포 배율로 나눈 값을 반올림합니다. 반음 이동은 2^(반음/12)의 높이 배율을 따로 정합니다. 위상 보코더로 먼저 높이배율/템포배율만큼 늘린 뒤 sinc 재표본화로 최종 길이를 맞춥니다. 440·880·220Hz 일정한 톤으로 시험하지만 복잡한 음원에서는 주파수가 조금 달라질 수 있습니다.
템포를 바꿔도 목소리와 드럼이 완벽하게 또렷한가요?
아닙니다. 타격음 위상 고정이 없는 기본 빈별 위상 보코더라 드럼 시작점이 번지거나 플랜저처럼 들릴 수 있고, 목소리에는 위상감이 생길 수 있습니다. 특히 극단 배율은 반드시 들어보세요.
목소리의 성도 공명(포먼트)을 유지하나요?
아닙니다. 포먼트도 음높이 배율과 함께 움직여 목소리가 작거나 크게 느껴질 수 있습니다. 포먼트 보정, 박자 감지, 음원 분리는 제공하지 않습니다.
중립 설정인데 저장 음원이 원본과 다른 이유는 무엇인가요?
0반음·템포1배에서는 디코딩한 부동소수 샘플을 메모리에서 그대로 복사합니다. 그러나 다운로드는 16비트 PCM WAV이므로 손실 압축·고비트 음원은 정밀도가 바뀔 수 있습니다. ±1 밖 샘플은 WAV 작성 시 잘리고 개수를 표시합니다.
입출력 제한은 무엇인가요?
원본 파일은 최대8MiB입니다. 브라우저가 디코딩한 0.5~20초 모노·스테레오를 48kHz로 맞춥니다. 템포0.5배에서는 최대40초 출력이 되며, 보코더 중간 버퍼는 400만 프레임으로 제한합니다.
음원이 서버로 전송되나요?
아닙니다. 디코딩·위상 처리·재표본화·재생이 브라우저 메모리에서 이루어집니다. JSON에는 파일명·바이트 수·SHA-256과 설정이 들어가지만 음원 샘플은 없습니다. WAV는 직접 누를 때 로컬로 다운로드합니다.
개인정보 안내
음원 디코딩·변환·재생은 브라우저 안에서 이루어집니다. 선택 파일이나 PCM을 서버 API로 보내지 않습니다. 선택해 저장하는 JSON은 원본 SHA-256과 설정을 담지만 음원 샘플은 담지 않습니다.
댓글과 질문