[파이썬] pydub 오디오 파일의 미리 듣기 기능

pydub은 Python으로 오디오 파일을 다루는 데 사용되는 간단하고 강력한 라이브러리입니다. 이 라이브러리를 사용하여 오디오 파일에 미리 듣기 기능을 추가할 수 있습니다. 이 블로그 포스트에서는 pydub을 사용하여 오디오 파일에서 일부를 추출하고 재생하는 방법을 알아보겠습니다.

pydub 설치하기

pydub을 사용하기 위해서는 먼저 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 pydub을 설치합니다.

pip install pydub

오디오 파일에서 일부를 추출하기

pydub을 사용하여 오디오 파일의 특정 부분을 추출하는 것은 매우 간단합니다. 다음은 오디오 파일에서 10초까지의 부분을 추출하는 예제 코드입니다.

from pydub import AudioSegment

audio = AudioSegment.from_file("audio_file.wav")

# 10초까지의 부분을 추출합니다.
preview = audio[:10000]

# 추출한 부분을 파일로 저장합니다.
preview.export("preview.wav", format="wav")

위의 코드에서는 AudioSegment 클래스를 사용하여 오디오 파일을 로드합니다. 그런 다음 [:10000]을 사용하여 오디오 파일의 처음 10초를 추출합니다. 추출한 부분은 export 메소드를 사용하여 새로운 파일로 저장됩니다.

추출한 부분 재생하기

추출한 오디오 부분을 재생하기 위해서는 추가적인 작업이 필요합니다. pydub은 기본적으로 오디오 파일을 저장하여 재생할 수는 없습니다. 하지만 파이썬의 내장 모듈인 subprocess를 사용하여 외부 오디오 플레이어를 실행하여 재생할 수 있습니다. 다음은 VLC 미디어 플레이어를 사용하여 추출한 오디오 부분을 재생하는 예제 코드입니다.

import subprocess

def play_audio(filename):
    subprocess.call(["vlc", filename])

# 추출한 부분을 재생합니다.
play_audio("preview.wav")

위의 코드에서 play_audio 함수를 사용하여 subprocess.call을 호출하여 “vlc”라는 외부 프로그램을 실행합니다. 이 프로그램을 사용하여 “preview.wav” 파일을 재생합니다.

결론

pydub을 사용하여 오디오 파일에서 미리 듣기 기능을 구현하는 방법을 알아보았습니다. pydub은 파이썬으로 오디오 파일을 다루는 데 매우 유용한 도구입니다. 이러한 미리 듣기 기능은 음악 플레이어나 음악 관련 애플리케이션을 개발하는 데 유용하게 활용될 수 있습니다.