이번에는 03에서 그렸던 파형을 normalization한 데이터로 다시 한번 그려서 비교하고 차이점을 서술하는 문제이다.
import wave
import numpy as np
import matplotlib.pyplot as plt
filepath = './train/bed/004ae714_nohash_1.wav'
sound = wave.open(filepath)
파일은 004ae714_nohash_1.wave를 사용했다.
signal = sound.readframes(-1)
signal = np.fromstring(signal, 'Int16')
fs = sound.getframerate()
Time=np.linspace(0, len(signal)/fs, num=len(signal))
print(signal)
print(signal.shape)
plt.plot(Time,signal)
getframerate()는 샘플링빈도를 반환한다. 이 파일의 샘플링 빈도는 16000이다.
파형은 다음과 같이 그려진다.
normalization을 해보자
식은 (변수-평균)/표준편차이다.
mean = np.mean(signal)
std = np.std(signal)
signal = (signal-mean)/std
print(signal)
print(signal.shape)
정규화하기 전과 signal의 값의 크기가 차이가 있다.
fs = sound.getframerate() # 샘플링 빈도 반환
Time=np.linspace(0, len(signal)/fs, num=len(signal))
plt.plot(Time, signal)
파형을 그려보면
다음과 같이 그려진다.
두 파형의 차이점은 y축이다.
샘플값의 폭이 굉장히 컸었는데 정규화를 통해 작아진 것을 확인할 수 있다.
'DAFIT > 903 - 음성단어 분류 알고리즘' 카테고리의 다른 글
<DAFIT> 03 음성 단어 분류기 알고리즘 구현 03 - 오디오 데이터의 이해과정 문제 (0) | 2019.11.05 |
---|---|
<DAFIT> 03 음성 단어 분류기 알고리즘 구현 02 - 오디오 데이터의 이해 과정 문제 (0) | 2019.11.05 |
<DAFIT> 03 음성 단어 분류기 알고리즘 구현 - 01 데이터 셋 준비 과정 (0) | 2019.10.29 |