data science/signal processing 3

digital filters in Python

1초간 30 샘플링(30Hz)의 노이즈를 가미한 5초간 진폭이 1Hz 인 사인파를 생성한 후iirfilter 함수로 N-order = 4,  고주파수 노이즈(>2.5Hz)를 Butterworth 형태의 lowpass 필터의 계수를 구하여 적용한다.import numpy as npimport scipy.signalnp.random.seed(42)  # for reproducibilityfs = 30  # sampling rate, Hzts = np.arange(0, 5, 1.0 / fs)  # time vector - 5 secondsys = np.sin(2*np.pi * 1.0 * ts)  # signal @ 1.0 Hz, without noiseyerr = 0.5 * np.random.normal(si..

pydub.AudioSegment

Install Package pip install pydub # 내부적으로 ffmpeg 라이브러리를 사용하기에 OS에 맞게 ffmpeg 설치 필요 불러오기 from pydub import AudioSegment wav_audio = AudioSegment.from_wav("input.wav") mp3_audio = AudioSegment.from_mp3("input.mp3") 정보 # 프레임레이트 print(wav_audio.frame_rate) # 채널수 (스테레오=2, 모노=1) print(wav_audio.channels) # 재생시간 print(wav_audio.duration_seconds) frame rate 변경 sound = audio.set_frame_rate(16000) 저장 wav_a..