Install Package
pip install pydub # 내부적으로 ffmpeg 라이브러리를 사용하기에 OS에 맞게 ffmpeg 설치 필요 |
불러오기
from pydub import AudioSegment wav_audio = AudioSegment.from_wav("input.wav") mp3_audio = AudioSegment.from_mp3("input.mp3") |
정보
# 프레임레이트 print(wav_audio.frame_rate) # 채널수 (스테레오=2, 모노=1) print(wav_audio.channels) # 재생시간 print(wav_audio.duration_seconds) |
frame rate 변경
sound = audio.set_frame_rate(16000) |
저장
wav_audio.export("wav.mp3", format="mp3") mp3_audio.export("mpthree.wav", format="wav") |
Slice audio
# 단위는 밀리세컨드 ten_seconds = 10 * 1000 first_10_seconds = song[:ten_seconds] # 맨끝자락 5초 last_5_seconds = song[-5000:] |
데시벨 올리기 내리기
# boost volume by 6dB beginning = first_10_seconds + 6 # reduce volume by 3dB end = last_5_seconds - 3 |
합치기
without_the_middle = beginning + end |
numpy 변경
# 일단 스테레오를 모노로 변경 -> 각 채널값들을 평균화 audio = audio.set_channels(1) samples = np.array(audio.get_array_of_samples()) |
numpy 를 audio 로 변경
re_audio = AudioSegment( samples.tobytes(), frame_rate=audio.frame_rate, sample_width=audio.sample_width, channels=audio.channels ) |