[python] 파이썬을 사용하여 음색 조작하기

음색은 음악에 중요한 요소 중 하나입니다. 음색을 조작하여 원하는 효과를 얻을 수 있습니다. 파이썬을 사용하면 음색을 조작할 수 있습니다. 이번 포스트에서는 파이썬을 사용하여 음색을 조작하는 방법에 대해 알아보겠습니다.

필요한 패키지 설치하기

음색 조작을 위해 다음과 같은 패키지를 설치해야 합니다.

pip install librosa
pip install soundfile

음성 파일 불러오기

음색 조작을 위해 먼저 음성 파일을 불러와야 합니다. 다음과 같이 librosa 패키지를 사용하여 wav 형식의 음성 파일을 불러올 수 있습니다.

import librosa

# 음성 파일 경로 설정
audio_file = 'audio.wav'

# 음성 파일 불러오기
audio, sr = librosa.load(audio_file, sr=None)

음색 조작하기

음색을 조작하기 위해 다양한 효과를 적용할 수 있습니다. 예를 들어, 음높이를 조절하거나 속도를 변경할 수 있습니다. 다음은 간단한 예시입니다.

음높이 조절

음높이를 조절하려면 librosa.effects.pitch_shift 함수를 사용하면 됩니다. 이 함수는 음성 파일과 음높이 변화량을 입력받아 음높이를 조절한 결과를 리턴합니다.

import librosa.effects

# 음높이 변화량 설정 (음수 값은 음높이를 낮추고, 양수 값은 음높이를 높입니다)
pitch_shift = 2  # 예시로 음높이를 2 옥타브 높임

# 음높이 조절
audio_pitch_shifted = librosa.effects.pitch_shift(audio, sr, n_steps=pitch_shift)

속도 조절

속도를 조절하려면 librosa.effects.time_stretch 함수를 사용하면 됩니다. 이 함수는 음성 파일과 속도 변화량을 입력받아 속도를 조절한 결과를 리턴합니다.

import librosa.effects

# 속도 변화량 설정 (음수 값은 속도를 느리게 하고, 양수 값은 속도를 빠르게 합니다)
speed_change = 0.8  # 예시로 속도를 0.8배로 느리게 함

# 속도 조절
audio_speed_changed = librosa.effects.time_stretch(audio, speed_change)

결과 저장하기

음색을 조작한 결과를 파일로 저장할 수 있습니다. 다음은 soundfile 패키지를 사용하여 음성 파일로 저장하는 예시입니다.

import soundfile

# 저장할 파일 경로 설정
output_file = 'output.wav'

# 결과 저장
soundfile.write(output_file, audio_pitch_shifted, sr)

결론

파이썬을 사용하여 음색을 조작할 수 있습니다. librosa 패키지를 사용하여 음성 파일을 불러오고, 음색 조작을 할 수 있는 다양한 효과를 적용할 수 있습니다. 음색 조작이 음악에 어떤 영향을 주는지 실험해보면 재미있을 것입니다.