| name | audio-ear |
| description | Compare reference/test WAV files for synth or sampler tuning and produce actionable DSP fixes. Use when asked to diagnose low-end decay mismatch, pitch drift, resonance, ringing, formant shifts, or overall timbre gaps between A and B. Includes a fast ffmpeg/sox profile and a detailed FFT/STFT comparison pipeline. |
Audio Ear Skill
๋ ํผ๋ฐ์ค A์ ๊ตฌํ B์ ์ฌ์ด๋๋ฅผ ์์น ๋น๊ตํด ๊ฐ์ ํฌ์ธํธ๋ฅผ ๋ฝ๋๋ค.
Workflow
- ๋น ๋ฅธ 1์ฐจ ์ง๋จ(FFmpeg/SoX)
- ์ ๋ฐ 2์ฐจ ๋ถ์(FFT/STFT)
- JSON ๊ฒฐ๊ณผ๋ฅผ ํ๋กฌํํธ์ ๋ฃ์ด ์์ ์ฐ์ ์์ ๋์ถ
1) Quick Compare (FFmpeg/SoX)
python3 scripts/ffmpeg_sox_quick_compare.py \
--ref /abs/path/A.wav \
--test /abs/path/B.wav \
--json-out /tmp/quick.json \
--md-out /tmp/quick.md
์ฉ๋:
- ๋ ๋ฒจ/๋ฐ๊ธฐ/ํธ๋์ง์ธํธ ์ฐจ์ด๋ฅผ ๋น ๋ฅด๊ฒ ํ์ธ
- ํฐ ํธ์ฐจ๊ฐ ์๋์ง ๋จผ์ ๊ฑธ๋ฌ๋ด๊ธฐ
2) Detailed Compare (FFT/STFT)
python3 scripts/wav_ear_compare.py \
--ref /abs/path/A.wav \
--test /abs/path/B.wav \
--max-seconds 4.0 \
--fft-size 2048 \
--hop-size 512 \
--json-out /tmp/ear_detail.json \
--md-out /tmp/ear_detail.md
ํต์ฌ ์งํ:
- ์ ์ญ ๊ฐ์(T20/T40)
- ์คํํธ๋ผ ์ค์ฌ(centroid), rolloff, flatness, tilt
- resonance prominence, ring ratio
- median F0, F0 drift
- click/body ๋น์จ(์ด๊ธฐ ์ดํ ๊ฐ๋)
- H2/H1, H3/H1, H1.5/H1(๋ถ๋ถ์/OSC2 ์ ์ฌ ์ฑ๋ถ)
- formant-like peak
3) LLM ๋ฆฌ๋ทฐ ์ฐ๊ฒฐ
references/analysis_prompt_ko.md ํ
ํ๋ฆฟ์ /tmp/quick.json, /tmp/ear_detail.json ๋ด์ฉ์ ๋ฃ๊ณ ๊ฐ์ ์์ ์์ฒญํ๋ค.
4) Preset ์คํจ ๋น๊ต (์ค์)
ํ๋ผ๋ฏธํฐ๊ฐ ๋ฌ๋ผ ๋ณด์ฌ๋ ์์ง ์ฐ์ ์์ ๋๋ฌธ์ ์ค์ ์์ ๋ณํ๊ฐ ๊ฑฐ์ ์์ ์ ์๋ค.
ํนํ pitchEnv๊ฐ ์์ผ๋ฉด startFreq/endFreq/p_decay๋ _schedulePitch()์์ ์ฐ์ ๋์ง ์๋๋ค.
python3 scripts/preset_effective_compare.py \
--a /abs/path/preset_before.json \
--b /abs/path/preset_after.json \
--json-out /tmp/preset_effective.json \
--md-out /tmp/preset_effective.md
์ถ๋ ฅ:
- Effective Changes: ์ค์ ๋ ๋์ ๋ฐ์๋๋ ์ฐจ์ด
- Ignored-Likely Changes: ๋ฐ๋์ด๋ ์ฒญ๊ฐ ์ํฅ์ด ์์/์๋ ํ๋
๊ถ์ฅ ์บก์ฒ ๊ท์น
- A/B๋ฅผ ๋์ผ MIDI, ๋์ผ ๊ธธ์ด, ๋์ผ velocity๋ก ๋ ๋
- ๊ฐ๋ฅํ dry ์ ํธ ๊ธฐ์ค์ผ๋ก ๋จผ์ ๋น๊ต
- ๋ ๋ฒจ ํธ์ฐจ๊ฐ ํฌ๋ฉด gain-match ํ ํด์
- ๊ฐ์ ์ํ๋ ์ดํธ๋ฅผ ๊ถ์ฅ(์ ๋ฐ ์คํฌ๋ฆฝํธ๋ ํ์ ์ ๋ฆฌ์ํ๋ง)
๋น ๋ฅธ ์ผ๊ด ์คํ
bash scripts/run_ear_pipeline.sh /abs/path/A.wav /abs/path/B.wav /tmp/ear-run \
--preset-a /abs/path/preset_before.json \
--preset-b /abs/path/preset_after.json
์ถ๋ ฅ:
quick.md, quick.json
detail.md, detail.json
- (์ต์
)
preset_effective.md, preset_effective.json