[python] 파이썬을 이용한 음악 트랜스코딩

음악 트랜스코딩은 음악을 한 음정에서 다른 음정으로 변환하는 프로세스를 가리킵니다. 파이썬은 여러가지 라이브러리를 활용하여 이와 같은 작업을 수행할 수 있는데, 오늘은 그 중 몇 가지를 살펴보겠습니다.

음악 트랜스코딩 라이브러리

1. librosa

librosa는 파이썬을 이용한 음악 및 오디오 신호 분석을 위한 라이브러리입니다. 이를 이용하여 음악을 로드하고, 음정 변환 및 오디오 신호 처리를 할 수 있습니다.

예시:

import librosa
import librosa.display
import numpy as np

y, sr = librosa.load('audio.wav')
y_transposed = librosa.effects.pitch_shift(y, sr, n_steps=5)

2. music21

music21은 음악을 다루기 위한 파이썬 라이브러리로, 미디 파일을 읽고 쓰는 등 다양한 음악 이론 작업을 할 수 있습니다.

예시:

from music21 import converter, pitch
s = converter.parse('input.mid')
for element in s.recurse():
    if 'Note' in element.classes:
        halfSteps = element.pitch.pitchClass
        tr = pitch.Pitch(halfSteps=halfSteps+5)
        element.pitch = tr
s.write('midi', 'output.mid')

결론

파이썬을 이용하여 음악 트랜스코딩을 하는 방법을 살펴보았습니다. librosa와 music21은 각각 음악 파일의 오디오 신호나 미디 파일을 다루는 데에 유용한 라이브러리입니다. 이를 응용하여 음악 작곡, 음악 이론 연구 등 다양한 분야에 활용할 수 있습니다.

librosa 공식문서 music21 공식문서