PyDub 소개

Python으로 배우는 음성 언어 처리

Daniel Bourke

Machine Learning Engineer/YouTube Creator

PyDub 설치

$ pip install pydub
  • .wav 외 파일을 쓰면 ffmpeg를 ffmpeg.org{{2}}에서 설치하십시오
Python으로 배우는 음성 언어 처리

PyDub의 주요 클래스, AudioSegment

# PyDub의 주요 클래스 임포트
from pydub import AudioSegment
# 오디오 파일 임포트
wav_file = AudioSegment.from_file(file="wav_file.wav", format="wav")
# 가독성을 위한 format 매개변수일 뿐
wav_file = AudioSegment.from_file(file="wav_file.wav")
type(wav_file)
pydub.audio_segment.AudioSegment
Python으로 배우는 음성 언어 처리

오디오 파일 재생

# wav 재생을 위한 simpleaudio 설치
$pip install simpleaudio
# play 함수 임포트
from pydub.playback import play
# 오디오 파일 임포트
wav_file = AudioSegment.from_file(file="wav_file.wav")

# 오디오 파일 재생
play(wav_file)
Python으로 배우는 음성 언어 처리

오디오 파라미터

# 오디오 파일 임포트
wav_file = AudioSegment.from_file(file="wav_file.wav")
two_speakers = AudioSegment.from_file(file="two_speakers.wav")

# 채널 수 확인 wav_file.channels, two_speakers.channels
1, 2
wav_file.frame_rate
480000
Python으로 배우는 음성 언어 처리

오디오 파라미터

# 샘플당 바이트 수 확인
wav_file.sample_width
2
# 최대 진폭 확인
wav_file.max
8488
Python으로 배우는 음성 언어 처리

오디오 파라미터

# 오디오 파일 길이(밀리초)
len(wav_file)
3284
Python으로 배우는 음성 언어 처리

오디오 파라미터 변경

# AudioSegment의 ATTRIBUTENAME을 x로 변경
changeed_audio_segment = audio_segment.set_ATTRIBUTENAME(x)
# 샘플 폭을 1로 변경
wav_file_width_1 = wav_file.sample_width(1)
wav_file_width_1.sample_width
1
Python으로 배우는 음성 언어 처리

오디오 파라미터 변경

# 샘플레이트 변경
wav_file_16k = wav_file.frame_rate(16000)
wav_file_16k.frame_rate
16000
# 채널 수 변경
wav_file_1_channel = wav_file.set_channels(1)
wav_file_1_channel.channels
1
Python으로 배우는 음성 언어 처리

연습해 봅시다!

Python으로 배우는 음성 언어 처리

Preparing Video For Download...