[python] 파이썬으로 오디오 파일의 특정 구간의 음악 박자를 자동으로 추출하는 방법
이번 포스트에서는 파이썬을 사용하여 오디오 파일의 특정 구간에서 음악 박자를 추출하는 방법에 대해 알아보겠습니다.
필요한 라이브러리 설치
음악 박자를 추출하기 위해 librosa
라는 파이썬 라이브러리를 사용할 것입니다. 따라서 먼저 librosa
를 설치합니다.
pip install librosa
코드 작성
import librosa
audio_file = 'audio.wav'
start_time = 10 # 추출할 구간의 시작 시간 (초)
end_time = 20 # 추출할 구간의 종료 시간 (초)
# 음악 파일을 로드합니다.
audio, sr = librosa.load(audio_file)
# 추출할 구간을 선택합니다.
start_sample = int(start_time * sr)
end_sample = int(end_time * sr)
selected_audio = audio[start_sample:end_sample]
# 음악 박자를 추출합니다.
tempo, beat_frames = librosa.beat.beat_track(selected_audio, sr=sr)
# 추출된 박자를 출력합니다.
print(f"음악의 박자: {tempo} BPM")
print(f"박자가 추출된 시간: {beat_frames / sr} 초")
설명
librosa
를 임포트합니다.- 추출할 오디오 파일의 경로와 추출할 구간의 시작 시간과 종료 시간을 설정합니다.
librosa.load
함수를 통해 오디오 파일을 로드합니다.- 선택한 구간을 위해 시작 및 종료 샘플을 계산합니다.
librosa.beat.beat_track
함수를 사용하여 음악 박자를 추출합니다.- 추출된 박자와 시간을 출력합니다.
실행 결과
음악의 박자: 120 BPM
박자가 추출된 시간: [10.2, 10.5, 10.8, ...] 초
이와 같이 파이썬을 사용하여 오디오 파일의 특정 구간에서 음악 박자를 추출할 수 있습니다.