728x90
음성 데이터를 resampling 해야 할 경우가 있다.
예를 들어 44.1kHz 에서 16000으로 변경을 해준다던지, 16000에서 22050으로 변경하여 음성 처리를 해줄 때가 있다.(Downsampling)
python에서 librosa 라이브러리를 이용하여 resampling을 간단히 해줄 수 있는데, 이 때 우분투에서 작업하던 음성 파일이 resampling 되고나서 librosa를 이용하여 그대로 저장을 하고 윈도우에서 그 음성을 다운받아서 확인해볼 때 읽히지 않을때가 있다.
결론적으로 말하자면, librosa 로 resample 이후에 soundfile의 write를 사용하여 저장하면 이 문제를 해결할 수 있다.
librosa.output.write_wav(output_dir+'.wav', data, sr) # 깨지는 현상 존재
sf.write(output_dir, data, sr, format='WAV', endian='LITTLE', subtype='PCM_16') # 깨지지 않음
위의 soundfile write내의 내용을 librosa write_wav의 내용을 그대로 넣어주면 된다.
728x90
'딥러닝 > Speech dataset Processing' 카테고리의 다른 글
flac dataset wav로 변환 및 downsampling (2) | 2019.12.23 |
---|---|
Matlab의 Stft결과와 Python librosa의 Stft결과의 다름 (1) | 2019.08.03 |
Python Mel-Spectrogram(Mel scaled Spectrogram) 얻기 (9) | 2019.05.09 |
Python 음성 신호 Down sampling, Resampling (0) | 2019.05.09 |
음성 데이터 잘라보기 (14) | 2019.03.19 |