그림으로 소리 만들기
시간과 주파수에 밝기를 그린 뒤 그림을 소리로 들어 보세요. 격자의 각 행은 로그 간격의 80~4000Hz 연속 사인파입니다. 각 열은 시간에 따라 그 사인파의 크기를 정하고 이웃 열 사이 값을 보간합니다. 브라우저에서 신호를 합치고 최대 음량 상한과 짧은 양 끝 페이드를 적용하므로 선 하나는 톤, 선 여러 개는 겹친 소리가 됩니다. 이는 공개한 방식의 가산 합성이며 업로드한 스펙트로그램을 역변환하거나 원본 녹음을 복원하지 않습니다.
주요 기능
- 포인터로 64열×32행 시간·주파수 캔버스의 칸을 칠하거나 지웁니다.
- 키보드로 열·행·강도를 입력해 정확한 한 칸을 편집할 수 있습니다.
- 0.5~8초 길이, 22.05·44.1kHz 샘플률, 상한 있는 주 음량을 선택합니다.
- 합성 음원을 들어 보고 16비트 모노 PCM WAV와 축이 표시된 그림 PNG를 저장합니다.
- 전체 칸 값과 합성 설정을 버전이 있는 JSON으로 저장하거나 다시 불러옵니다.
사용 방법
- 440→880Hz 예제를 불러오거나 포인터로 칠합니다. 키보드는 정확한 칸 입력을 이용하세요.
- 길이·샘플률·붓 강도·주 음량을 정합니다.
- 소리를 합성해 듣고 필요하면 칸을 다시 고칩니다.
- WAV·그림 PNG·편집 가능한 JSON을 저장하고 JSON으로 나중에 이어서 편집합니다.
활용 예시
- 주파수 줄을 그려 짧은 상승음이나 겹친 전자음을 만듭니다.
- 그림의 주파수 선이 시간별 음높이를 어떻게 바꾸는지 가르칩니다.
- 소리 아이디어를 로컬에서 스케치하고 정확한 그림을 JSON으로 보관합니다.
자주 묻는 질문
역 스펙트로그램 변환인가요?
아니요. 칠한 각 행이 고정된 로그 주파수의 연속 사인파를 만듭니다. 이웃 시간 열의 강도를 직선 보간하고 모든 행 신호를 합칩니다. 위상 복원·역 STFT·음원 가져오기·악기 음색 복원은 하지 않습니다.
칸의 밝기는 소리 크기에 어떻게 반영되나요?
칸의 0~100 밝기가 각 사인파의 진폭입니다. 합계를 활성 강도 합계 또는 1 중 큰 값으로 나눈 뒤 주 음량을 곱하고 시작·끝에 5ms 페이드를 씁니다. 출력이 주 음량을 넘지 않지만 체감 음량 정규화는 아닙니다.
어떤 주파수를 그릴 수 있나요?
32행이 80~4000Hz를 로그 간격으로 덮습니다. 원하는 주파수에 가까운 행이 실제 값과 몇 퍼센트 다를 수 있습니다. 80Hz 아래·4kHz 위 주파수, 잡음·배음·스테레오 위치는 만들지 않습니다.
길이를 바꾸면 음높이도 달라지나요?
아니요. 행의 발진 주파수는 고정됩니다. 길이는 칠한 64개 시간 열을 통과하는 속도만 바꿉니다. 출력은 22050 또는 44100Hz의 모노 16비트 PCM WAV입니다.
마우스 없이 편집할 수 있나요?
네. 시간 열 0~63, 주파수 행 0~31과 붓 강도를 입력하고 선택 칸 칠하기 또는 지우기를 누르세요. 선택한 칸의 주파수와 시각은 글로도 표시됩니다.
그림이나 소리가 서버로 전송되나요?
아니요. 그림·합성·재생·내보내기는 브라우저에서 수행합니다. JSON에는 격자 값과 설정, WAV에는 만든 소리가 담깁니다. 초기화하면 메모리의 결과가 지워집니다.
개인정보 안내
그림과 소리 합성은 이 브라우저 탭에서만 수행하며 파일이나 만든 음원을 서버 API로 보내지 않습니다. 사용자가 명시적으로 요청한 다운로드만 기기에 저장됩니다.
댓글과 질문