[python] 파이썬으로 오디오 파일에 임의의 잡음을 추가하는 방법

소개

오디오 파일에 잡음을 추가하는 것은 음악, 음성 및 오디오 처리와 관련된 다양한 애플리케이션에서 유용한 작업입니다. 파이썬은 이러한 작업을 수행하는 데 매우 편리한 도구를 제공합니다. 이번 튜토리얼에서는 파이썬을 사용하여 오디오 파일에 임의의 잡음을 추가하는 방법을 알아보겠습니다.

필요한 라이브러리

  1. pydub: 오디오 처리에 유용한 기능을 제공하는 라이브러리입니다.
  2. numpy: 잡음을 생성하기 위해 배열을 사용할 때 유용한 라이브러리입니다.

위의 라이브러리를 설치하려면 다음 명령을 사용할 수 있습니다.

pip install pydub numpy

코드 예시

아래는 파이썬을 사용하여 오디오 파일에 임의의 잡음을 추가하는 예시 코드입니다.

from pydub import AudioSegment
import numpy as np
import random

def add_noise_to_audio(audio_path, noise_level):
    # 오디오 파일 로드
    audio = AudioSegment.from_file(audio_path)

    # 오디오 파일의 샘플링 레이트와 임의의 잡음 생성
    sample_rate = audio.frame_rate
    noise = np.random.random_sample(len(audio.get_array_of_samples())) * noise_level

    # 잡음을 오디오에 추가
    audio_with_noise = audio.overlay(noise)

    # 잡음이 추가된 오디오를 저장
    audio_with_noise.export("output_with_noise.wav", format="wav")

# 파일 경로와 잡음 레벨을 설정하여 오디오에 잡음 추가
audio_path = "input_audio.wav"
noise_level = 0.1  # 잡음 레벨은 0에서 1 사이의 값으로 조정 가능
add_noise_to_audio(audio_path, noise_level)

위의 코드는 pydub 라이브러리를 사용하여 주어진 오디오 파일을 로드합니다. 그런 다음 numpy를 사용하여 임의의 잡음을 생성하고 이를 원본 오디오 파일에 추가합니다. 마지막으로 잡음이 추가된 오디오 파일을 저장합니다.

결론

파이썬을 사용하여 오디오 파일에 임의의 잡음을 추가하는 방법을 알아보았습니다. 이로써 우리는 음악, 음성 또는 오디오 처리 프로젝트에서 다양한 작업을 수행할 수 있습니다. 따라서 이 기술을 응용하여 음악 흑백화, 음성 변조 등 다양한 응용 프로그램을 개발할 수 있습니다.

참고 자료