[python] 파이썬을 사용하여 음악의 키 변환

음악을 만들거나 연주할 때, 때로는 특정 음악의 키를 변경해야 할 때가 있습니다. 이때 파이썬을 사용하면 간단하게 음악의 키를 변환할 수 있습니다. 이번 포스트에서는 파이썬으로 음악의 키를 변환하는 방법을 알아보겠습니다.

음악의 키 변환을 위한 라이브러리 설치

음악 처리를 위한 파이썬 라이브러리인 librosa를 설치해야 합니다. 다음 명령을 사용하여 librosa를 설치할 수 있습니다.

pip install librosa

음악의 키 변환 코드 작성

이제 음악의 키 변환을 위한 파이썬 코드를 작성해보겠습니다.

import librosa

def key_transpose(input_file, output_file, semitones):
    # 오디오 파일 불러오기
    audio, sr = librosa.load(input_file)

    # 키 변환
    transposed_audio = librosa.effects.pitch_shift(audio, sr, n_steps=semitones)

    # 키 변환된 오디오 파일 저장
    librosa.output.write_wav(output_file, transposed_audio, sr)

# 키 변환할 오디오 파일 경로
input_file = 'input.wav'
# 키 변환된 오디오 파일 저장 경로
output_file = 'output.wav'
# 키 변환할 세미톤 수
semitones = 2

# 키 변환 수행
key_transpose(input_file, output_file, semitones)

위 코드에서는 librosapitch_shift 함수를 사용하여 음악의 키를 변환합니다. n_steps 매개변수를 사용하여 변환할 세미톤 수를 지정할 수 있습니다. 변환된 오디오는 write_wav 함수를 사용하여 파일로 저장됩니다.

예제 실행

위의 코드를 사용하여 음악의 키를 변환해보겠습니다. input.wav 파일을 2 세미톤 올리고, output.wav 파일로 저장해보겠습니다.

input_file = 'input.wav'
output_file = 'output.wav'
semitones = 2

key_transpose(input_file, output_file, semitones)

위의 코드를 실행하면 input.wav 파일의 키가 2 세미톤 올라간 output.wav 파일이 생성됩니다.

마무리

이번 포스트에서는 파이썬을 사용하여 음악의 키를 변환하는 방법을 알아보았습니다. librosa 라이브러리의 pitch_shift 함수를 사용하여 간단하게 키 변환을 할 수 있습니다. 이를 응용하여 음악 제작이나 연주에 자유롭게 활용해보세요.

참고 자료