본문으로 건너뛰기
|
Web Audio Instrument Tuner & Metronome
Metronome
마디당 박수
리듬 분할:
BPM120
Allegro (120~155)
비트 액센트:
📖상세가이드 ▼

💡1. 도구 개요 및 필요성 (Overview & Purpose)

Every-Forge 오디오 튜너는 Web Audio API의 마이크 스트림을 실시간 자기상관(Autocorrelation) 알고리즘으로 해석하여 기본 주파수(F0)와 센트(Cent) 단위 편차를 100% 인브라우저 환경에서 계측합니다. 또한 고정밀 Web Audio 오실레이터를 활용한 사운드 탭 메트로놈을 함께 제공합니다.

  • 기타, 우쿨렐레, 바이올린 등 어쿠스틱/일렉트릭 악기의 실시간 튜닝을 지원합니다.
  • A4=440Hz 콘서트 피치 표준을 기준으로 반음(Semitone) 및 Cent 단위 미세 편차를 시각화합니다.
  • Web Audio 오실레이터 비프음을 기반으로 정확한 타이밍의 탭 템포 메트로놈을 제공합니다.
  • 서버 전송 없이 100% 클라이언트 브라우저에서 마이크 음성 신호를 분석하여 개인정보를 안전하게 보호합니다.

⚙️2. 계산 공식 및 알고리즘 동작 원리 (Algorithm & Formulation)

자기상관 함수 (Autocorrelation): 주기적인 오디오 파형 신호의 지연 상관성을 계산하여 노이즈 속에서도 정확한 기본 주파수(F0)를 추출합니다.

센트 오차 공식: Cents = 1200 * log2(F / F_target) 공식을 통해 반음의 1/100 단위까지 미세 편차를 계산합니다.

AudioContext 정밀 클럭: JavaScript의 setTimeout 오차를 극복하기 위해 Web Audio의 하드웨어 클럭(currentTime) 기반으로 메트로놈 비트를 스케줄링합니다.

📋3. 단계별 실무 활용 가이드 (Step-by-Step Guide)

  1. 1. 상단의 '마이크 튜너 시작' 버튼을 클릭하고 브라우저 마이크 권한을 허용합니다.
  2. 2. 악기 줄을 튕기면 음정(Note Name)과 주파수(Hz) 및 Cent 바늘이 실시간으로 표시됩니다.
  3. 3. 바늘이 중앙(0 Cent)에 위치하고 초록색으로 표시되면 조율이 완료된 상태입니다.
  4. 4. 메트로놈 영역에서 'TAP BEAT'를 리듬에 맞춰 2회 이상 누르면 현재 연주 템포(BPM)가 자동 계산됩니다.
  5. 5. '메트로놈 시작' 버튼을 누르면 설정된 박자(4/4, 3/4 등)에 맞춰 첫 박 강세 비트 사운드가 재생됩니다.

❓4. 자주 묻는 질문 및 오류 해결 (FAQ & Troubleshooting)

Q.마이크 음성 데이터가 서버로 전송되거나 녹음 파일로 저장되나요?

아닙니다. Web Audio AnalyserNode를 통해 브라우저 메모리 버퍼에서 실시간 수학 연산(FFT/Autocorrelation)만 수행되며 일체의 오디오 데이터가 서버로 전송되거나 저장되지 않습니다.

Q.조율이 잘 잡히지 않거나 음정이 흔들릴 때는 어떻게 해야 하나요?

주변 소음을 줄이고 악기를 마이크에 조금 더 가까이 대거나, 조율하려는 줄 외에 공명하는 다른 줄들을 손으로 가볍게 뮤트(Mute)한 상태에서 튕겨주시면 기본 주파수(F0) 인식률이 크게 상승합니다.

Q.기타 6번줄(E2 ~82.4Hz)이나 베이스(E1 ~41.2Hz)와 같은 극저음도 인식이 가능한가요?

네, Every-Forge 튜너는 2048 샘플 크기의 대형 버퍼와 2차 포물선 보간(Parabolic Interpolation) 기법을 적용하여 저음역대(40Hz~350Hz)에서도 서브 빈 정밀도로 정확한 피치를 검출합니다.

Q.메트로놈 사운드가 재생되지 않거나 마이크 입력이 반응하지 않을 때는 어떻게 해결하나요?

브라우저의 자동 오디오 재생 정책(Autoplay Policy)에 따라 사용자의 최초 클릭(예: 마이크 시작 또는 메트로놈 시작 버튼)이 있어야 AudioContext가 활성화됩니다. 마이크가 동작하지 않는 경우 상단 마이크 선택창에서 실제 사용 중인 하드웨어 마이크를 선택하고 브라우저 마이크 접근 권한을 확인해 주세요.