티스토리 뷰
개요
wav파일을 읽을 때 사용하는 대표적인 라이브러리로는 librosa와 scipy가 있습니다.
본 글에서는 두 방법 간에 어떤 차이가 있는지 알아보겠습니다.
요약
- librosa로 데이터를 읽으면 데이터의 범위가 -1 ~ 1의 범위로 정규화된다
- librosa의 입력에서 sr=None으로 지정하지 않고 임의의 sample_rate를 설정하면 load 할 때 resampling을 수행합니다.
librosa와 scipy 차이점
각 방법으로 wav 파일을 읽고 데이터를 살펴보겠습니다.
wav 파일은 Sample_rate 22050, 30초의 길이를 가지고 있습니다.
librosa에서 파일을 load 할 때 sr=None으로 지정하면 wav파일의 sr이 자동으로 지정됩니다.
from scipy.io import wavfile
import librosa
import numpy as np
import seaborn as sns
wav_file = 'blues.00000.wav'
scipy_sr, scipy_wav = wavfile.read(wav_file)
librosa_wav, librosa_sr = librosa.load(wav_file, sr=None)
# Scipy
print('scipy_wav.shape : ', scipy_wav.shape)
print('scipy_wav[0].type : ', type(scipy_wav[0]))
print('scipy_sr : ', scipy_sr)
print()
# Librosa
print('librosa_wav.shape : ', librosa_wav.shape)
print('librosa_wav[0].type : ', type(librosa_wav[0]))
print('librosa_sr : ', librosa_sr)
--> scipy_wav.shape : (661794,)
--> scipy_wav[0].type : <class 'numpy.int16'>
--> scipy_sr : 22050
--> librosa_wav.shape : (661794,)
--> librosa_wav[0].type : <class 'numpy.float32'>
--> librosa_sr : 22050
결과를 확인해보면 두 방법이 만들어내는 값의 type이 다른 것을 알 수 있습니다.
scipy와 librosa로 가져온 데이터의 분포를 살펴보겠습니다.
sns.distplot(scipy_wav)
sns.distplot(librosa_wav)
두 방법으로 추출한 데이터를 살펴보면 Librosa로 가져온 데이터가 -1 ~ 1의 범위로 정규화가 되어있는 것을 알 수 있습니다.
또한 librosa의 입력에서 sr=None으로 지정하지 않고 임의의 sample_rate를 설정하면 load 할 때 resampling을 수행합니다.
참고
- Difference between load of librosa and read of scipy.io.wavfile
- Source Code librosa.core.load
'Audio Signal Processing > Basics' 카테고리의 다른 글
Tacotron이란? (0) | 2020.07.16 |
---|---|
WaveNet이란? (0) | 2020.07.16 |
MFCC(Mel-Frequency Cepstral Coefficient)란 무엇인가? (0) | 2020.04.23 |
스펙트로그램(Spectrogram)이란? (1) | 2020.04.20 |
스피커 채널(Speaker Channel) (0) | 2020.03.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- tensorflow
- 알고리즘 강의
- MFCC
- 핵심어 검출
- Introduction to Algorithm
- netron
- Tensorflow2.0
- 6.006
- S3
- nlg
- LSTM
- 알고리즘
- keras
- TF2.0
- stft
- librosa
- 인공지능 스피커 호출
- nlp 트렌드
- aws cli
- boto3
- wavenet
- nlp
- AWS
- lambda
- BOJ
- MIT
- RNN
- 시계열
- 오디오 전처리
- 모델 시각화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함