| name | processing-audio |
| description | Converts and processes audio files using ffmpeg. Supports format conversion, sample rate changes, mono/stereo conversion, and segment splitting. Use for "์ค๋์ค ๋ณํ", "wav ๋ณํ", "์ํ๋ ์ดํธ", "ffmpeg" requests. |
Audio Processor ์คํฌ
Overview
ffmpeg์ ํ์ฉํ ์ค๋์ค ํ์ผ ๋ณํ ๋ฐ ์ฒ๋ฆฌ ์๋ํ ์คํฌ์
๋๋ค.
์ค์: ์ด ์คํฌ์ด ํ์ฑํ๋๋ฉด Claude๊ฐ ์๋์ผ๋ก ์คํฌ๋ฆฝํธ๋ฅผ ์คํํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ์ง์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ ํ์๊ฐ ์์ต๋๋ค.
ํต์ฌ ๊ธฐ๋ฅ:
- ํฌ๋งท ๋ณํ: wav, m4a, opus, mp3 ๋ฑ ์ํธ ๋ณํ
- ์ํ๋ ์ดํธ ๋ณํ: 8kHz, 16kHz, 22.05kHz, 44.1kHz, 48kHz
- ์ฑ๋ ๋ณํ: ์คํ
๋ ์ค โ ๋ชจ๋
ธ, ๋ชจ๋
ธ โ ์คํ
๋ ์ค
- ์ธ๊ทธ๋จผํธ ๋ถํ : ๊ณ ์ ์๊ฐ ๋๋ ํ์์คํฌํ ๊ธฐ๋ฐ ๋ถํ
- ๋ฐฐ์น ์ฒ๋ฆฌ: ๋๋ ํ ๋ฆฌ ๋ด ์ฌ๋ฌ ํ์ผ ์ผ๊ด ์ฒ๋ฆฌ
Script Location
SCRIPT: ./scripts/audio-process.sh
Claude๋ ์ด ์คํฌ๋ฆฝํธ๋ฅผ Bash ๋๊ตฌ๋ก ์ง์ ์คํํฉ๋๋ค.
When to Use
์ด ์คํฌ์ ๋ค์ ์ํฉ์์ ํ์ฑํ๋ฉ๋๋ค:
๋ช
์์ ์์ฒญ:
- "์ค๋์ค ๋ณํํด์ค", "wav๋ก ๋ฐ๊ฟ์ค"
- "์ํ๋ ์ดํธ 16kHz๋ก ๋ณ๊ฒฝํด์ค"
- "๋ชจ๋
ธ๋ก ๋ณํํด์ค"
- "10์ด ๋จ์๋ก ๋ถํ ํด์ค"
- "ffmpeg์ผ๋ก ์ฒ๋ฆฌํด์ค"
์๋ ํ์ฑํ:
- ์ค๋์ค ํ์ผ ์ฒ๋ฆฌ ์์ฒญ ์ (.wav, .mp3, .m4a, .opus ๋ฑ)
- ์์ฑ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ์์ฒญ ์
Prerequisites
ffmpeg -version
chmod +x /path/to/agt/ml/audio-processor/scripts/audio-process.sh
Workflow
Claude ์คํ ์ ์ฐจ
Step 1: ์ฌ์ฉ์ ์์ฒญ ๋ถ์
- ์
๋ ฅ ํ์ผ ๊ฒฝ๋ก ํ์ธ
- ์ํ๋ ๋ณํ ์ ํ ํ์
(ํฌ๋งท/์ํ๋ ์ดํธ/์ฑ๋/๋ถํ )
- ์ถ๋ ฅ ๊ฒฝ๋ก ๊ฒฐ์ (๋ช
์๋์ง ์์ผ๋ฉด ์
๋ ฅ ํ์ผ๊ณผ ๊ฐ์ ๋๋ ํ ๋ฆฌ)
Step 2: ์คํฌ๋ฆฝํธ ์คํ
SCRIPT=./scripts/audio-process.sh
$SCRIPT convert <input> <output> [--sr <rate>] [--mono|--stereo]
$SCRIPT segment <input> <output_dir> --duration <sec>
$SCRIPT batch <input_dir> <output_dir> --format <fmt> [--sr <rate>] [--mono]
$SCRIPT info <file>
Step 3: ๊ฒฐ๊ณผ ๋ณด๊ณ
- ์คํฌ๋ฆฝํธ ์ถ๋ ฅ์ ์ฌ์ฉ์์๊ฒ ์ ๋ฌ
- ๋ณํ ์ฑ๊ณต/์คํจ ์ฌ๋ถ ํ์ธ
๋ช
๋ น์ด ๋ ํผ๋ฐ์ค
| ์์
| ๋ช
๋ น์ด |
|---|
| ํฌ๋งท ๋ณํ | $SCRIPT convert in.mp3 out.wav |
| 16kHz mono ๋ณํ | $SCRIPT convert in.mp3 out.wav --sr 16000 --mono |
| 8kHz ์ ํ ํ์ง | $SCRIPT convert in.mp3 out.wav --sr 8000 --mono |
| 10์ด ๋ถํ | $SCRIPT segment in.wav segs/ --duration 10 |
| ๋ฐฐ์น ์ฒ๋ฆฌ | $SCRIPT batch raw/ out/ --format wav --sr 16000 --mono |
| ์ ๋ณด ์กฐํ | $SCRIPT info file.wav |
์์ฃผ ์ฌ์ฉํ๋ ๋ณํ ์กฐํฉ
| ์ฉ๋ | ๋ช
๋ น์ด |
|---|
| ML ํ์ต์ฉ (16kHz mono) | audio-process.sh convert in.mp3 out.wav --sr 16000 --mono |
| ์ ํ ํ์ง (8kHz mono) | audio-process.sh convert in.mp3 out.wav --sr 8000 --mono |
| ๊ณ ํ์ง (48kHz stereo) | audio-process.sh convert in.mp3 out.wav --sr 48000 |
| 10์ด ์ฒญํฌ ๋ถํ | audio-process.sh segment in.wav out/ --duration 10 |
Examples
์์ 1: ๊ธฐ๋ณธ ํฌ๋งท ๋ณํ
์ฌ์ฉ์: test.mp3๋ฅผ wav๋ก ๋ณํํด์ค
Claude: ์ค๋์ค ๋ณํ์ ์ํํฉ๋๋ค.
$ audio-process.sh convert test.mp3 test.wav
โ
๋ณํ ์๋ฃ
- ์
๋ ฅ: test.mp3 (44.1kHz, stereo, 3:25)
- ์ถ๋ ฅ: test.wav (44.1kHz, stereo, 3:25)
์์ 2: ML ์ ์ฒ๋ฆฌ (16kHz mono)
์ฌ์ฉ์: ์ด ์ค๋์ค ํ์ผ์ ์์ฑ์ธ์ ๋ชจ๋ธ์ฉ์ผ๋ก ๋ณํํด์ค
Claude: ML ํ์ต์ ์ ํฉํ ํ์์ผ๋ก ๋ณํํฉ๋๋ค.
$ audio-process.sh convert input.m4a output.wav --sr 16000 --mono
โ
๋ณํ ์๋ฃ
- ์
๋ ฅ: input.m4a (48kHz, stereo, 5:30)
- ์ถ๋ ฅ: output.wav (16kHz, mono, 5:30)
- ํ์ผ ํฌ๊ธฐ: 48MB โ 10.5MB
์์ 3: ์ธ๊ทธ๋จผํธ ๋ถํ
์ฌ์ฉ์: ๊ธด ์ค๋์ค๋ฅผ 10์ด ๋จ์๋ก ๋๋ ์ค
Claude: 10์ด ๋จ์๋ก ์ธ๊ทธ๋จผํธ๋ฅผ ๋ถํ ํฉ๋๋ค.
$ audio-process.sh segment long_audio.wav segments/ --duration 10
โ
๋ถํ ์๋ฃ
- ์
๋ ฅ: long_audio.wav (2:30)
- ์ถ๋ ฅ: 15๊ฐ ์ธ๊ทธ๋จผํธ
- segments/seg_000.wav (10s)
- segments/seg_001.wav (10s)
...
- segments/seg_014.wav (10s)
์์ 4: ๋ฐฐ์น ์ฒ๋ฆฌ
์ฌ์ฉ์: recordings ํด๋์ ๋ชจ๋ mp3๋ฅผ 16kHz mono wav๋ก ๋ณํํด์ค
Claude: ๋ฐฐ์น ๋ณํ์ ์ํํฉ๋๋ค.
$ audio-process.sh batch recordings/ converted/ --format wav --sr 16000 --mono
โ
๋ฐฐ์น ๋ณํ ์๋ฃ
- ์ฒ๋ฆฌ: 25๊ฐ ํ์ผ
- ์ฑ๊ณต: 25๊ฐ
- ์ถ๋ ฅ ๋๋ ํ ๋ฆฌ: converted/
Configuration
๊ธฐ๋ณธ๊ฐ ์ค์
์คํฌ๋ฆฝํธ ์๋จ์์ ๊ธฐ๋ณธ๊ฐ ์์ ๊ฐ๋ฅ:
DEFAULT_SAMPLE_RATE=16000
DEFAULT_CHANNELS=1
DEFAULT_FORMAT="wav"
DEFAULT_SEGMENT_DURATION=10
์ถ๋ ฅ ํฌ๋งท๋ณ ๊ถ์ฅ ์ค์
| ํฌ๋งท | ์ฝ๋ฑ | ํ์ง ์ต์
|
|---|
| wav | pcm_s16le | (๋ฌด์์ค) |
| mp3 | libmp3lame | -b:a 192k |
| opus | libopus | -b:a 128k |
| m4a | aac | -b:a 192k |
Best Practices
DO:
- ๋ณํ ์
info ๋ช
๋ น์ผ๋ก ์๋ณธ ํ์ผ ํ์ธ
- ML์ฉ ์ค๋์ค๋ 16kHz mono PCM ์ฌ์ฉ
- ๋ฐฐ์น ์ฒ๋ฆฌ ์ ์ถ๋ ฅ ๋๋ ํ ๋ฆฌ ๋ฏธ๋ฆฌ ํ์ธ
- ๊ธด ํ์ผ ๋ถํ ์ ์ ์ ํ ์ธ๊ทธ๋จผํธ ๊ธธ์ด ์ ํ
DON'T:
- ์์ค ํฌ๋งท(mp3, opus)์ผ๋ก ์ฌ๋ฌ ๋ฒ ์ฌ์ธ์ฝ๋ฉ
- ์
์ํ๋ง์ผ๋ก ํ์ง ํฅ์ ๊ธฐ๋ (8kHz โ 48kHz)
- ์๋ณธ ํ์ผ ๋ฎ์ด์ฐ๊ธฐ (ํญ์ ์ ํ์ผ๋ก ์ถ๋ ฅ)
Troubleshooting
ffmpeg not found
sudo apt install ffmpeg
brew install ffmpeg
์ฝ๋ฑ ์ง์ ์๋จ
ffmpeg -codecs | grep -i opus
sudo apt install libopus-dev
๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ (๋์ฉ๋ ํ์ผ)
audio-process.sh convert large.wav output.wav --streaming
Resources
| ํ์ผ | ์ค๋ช
|
|---|
scripts/audio-process.sh | ์ค๋์ค ์ฒ๋ฆฌ ํตํฉ ์คํฌ๋ฆฝํธ |