[python] 파이썬으로 오디오 파일의 앞서 듣기를 자동으로 추출하는 방법

오디오 파일에서 앞서 듣기를 추출하는 것은 특히 음악 플레이어나 오디오 스트리밍 서비스에서 많이 사용되는 기능입니다. 이번 글에서는 파이썬을 사용하여 오디오 파일의 처음 몇 초의 음성을 추출하는 방법에 대해 알아보겠습니다.

필요한 패키지 설치하기

먼저, 오디오 파일을 다루기 위해 pydub 패키지를 설치해야 합니다. pydub 패키지는 파이썬에서 오디오 파일을 처리하고 변환하는 데 사용됩니다. 다음 명령을 사용하여 패키지를 설치합니다:

pip install pydub

앞서 듣기 추출하기

이제 파이썬으로 앞서 듣기를 추출하는 방법을 살펴보겠습니다.

from pydub import AudioSegment

def extract_preview(audio_path, preview_duration):
    # 오디오 파일을 읽어옵니다.
    audio = AudioSegment.from_file(audio_path)

    # 원하는 길이만큼 앞서 듣기를 추출합니다.
    preview = audio[:preview_duration * 1000]

    return preview

# 앞서 듣기를 추출할 오디오 파일 경로와 추출할 길이를 지정합니다.
audio_path = "audio.mp3"
preview_duration = 10  # 10초 예시

# 앞서 듣기 추출 함수를 호출하여 결과를 받아옵니다.
preview = extract_preview(audio_path, preview_duration)

# 추출한 앞서 듣기를 파일로 저장합니다.
preview.export("preview.mp3", format="mp3")

위의 코드에서 extract_preview() 함수는 오디오 파일의 경로와 앞서 듣기로 추출할 길이를 매개변수로 받습니다. 함수는 AudioSegment를 사용하여 오디오 파일을 읽어온 다음, 원하는 길이만큼 앞서 듣기를 추출하여 반환합니다.

앞서 듣기를 추출하는 부분에서 길이를 1000으로 곱하는 이유는 pydub에서 시간 단위를 밀리초(ms)로 사용하기 때문입니다.

위의 코드를 실행하면, 지정한 길이의 앞서 듣기가 preview.mp3 파일로 저장됩니다.

결론

파이썬을 사용하여 오디오 파일에서 앞서 듣기를 추출하는 방법에 대해 알아보았습니다. pydub 패키지를 사용하여 간단하게 오디오 파일을 처리하고 원하는 부분만 추출할 수 있습니다. 이를 응용하면 음악 플레이어나 오디오 서비스에서 유용한 기능을 개발할 수 있습니다.

참고 자료