728x90
안녕하세요 오늘은 파이썬에서 제공하는 오디오 처리 라이브러리인 librosa 를 활용해 wav 파일 앞뒤의 무음 제거를 해보도록 하겠습니다.
WAV 파일이란
Waveform Audio File Format 의 약자로 무손실(raw) 방식의 오디오 파일 포맷을 의미합니다.
단순한 PCM (펄스 부호 변조) 데이터로 오디오 처리에 작관적이며 원본에 가까운 소리를 보존하고 프레임 단위 접근이 가능하다는 장점이 있습니다. 단점으로는 용량이 일반적인 MP3 파일에 비해 훨씬 큽니다.
WAV 파일의 사용 용도
- 음악 제작/편집: DAW(Logic, Cubase, Ableton 등)에서 작업 시 기본 포맷
- 방송/미디어: 무손실 퀄리티 필요할 때
- AI/머신러닝:
- 음성 인식(ASR)
- 텍스트-음성 변환(TTS)
- 스피커 인식/감정 인식
AI 모델 학습에 활용되는 음성 데이터의 경우 보통 이 WAV 형식 파일을 사용합니다.
이 WAV 파일에는 앞뒤로 잡음이나 무음(silence) 이 길게 붙어 있는 경우가 많습니다. 특히 사람이 직접 녹음한 데이터에는 버튼 누르는 소리, 입 열기 전 공백 등이 자주 들어가는데요
이번 게시글에서는 librosa 를 사용해 WAV 파일의 앞뒤 무음을 자동으로 제거(trim) 하는 방법을 소개하고자 합니다.
1. 라이브러리 설치
pip install librosa soundfile
2. 파이썬 파일 작성
import librosa
import soundfile as sf
from pathlib import Path
# 입력/출력 경로 설정
INPUT_DIR = "input_wav"
OUTPUT_DIR = "trimmed_wav"
Path(OUTPUT_DIR).mkdir(exist_ok=True)
for wav_file in Path(INPUT_DIR).glob("*.wav"):
# 1. 파일 로드
audio, sr = librosa.load(wav_file, sr=None)
# 2. 앞뒤 무음 제거 (top_db=30 기준)
trimmed, _ = librosa.effects.trim(audio, top_db=30)
# 3. 저장
out_path = Path(OUTPUT_DIR) / wav_file.name
sf.write(out_path, trimmed, sr)
print(f"✅ {wav_file.name} → {out_path}")'Python' 카테고리의 다른 글
| [Python] Pytorch에서 벡터 합치기 (임베딩 결합 방식) (0) | 2025.08.19 |
|---|---|
| [Python] JSONL 포맷으로 음성 데이터셋 정리하기 (1) | 2025.08.18 |
| [Python] PyTorch 활용해서 손글씨 데이터를 숫자로 분류하기 (2) | 2025.08.13 |
| [Python] 오디오 데이터 전처리 하기 (1) | 2025.08.12 |
| [Python] nn.Embedding 사용해보기 (3) | 2025.08.07 |