티스토리 뷰
개발/python
librosa.util.exceptions.ParameterError: data must be floating-point
Jaeyeon Baek 2019. 6. 13. 18:49librosa를 이용해서 load, write 하는 방법은 아래처럼 간단합니다.
from librosa.core import load
from librosa.output import write_wav
y, sr = load('/tmp/test.wav', sr=44100)
write_wav('/tmp/new.wav', y, sr)
그런데 write_wav() 하는 과정에서 에러가 발생하는 경우가 있는데요.
librosa.util.exceptions.ParameterError: data must be floating-point
원본 파일에 따라 에러가 발생되는 경우가 있는 것 같습니다. 일단 상세한 원인은 librosa쪽 코드를 열어봐야겠지만 가장 간단한 해결방법은 librosa를 다시 설치하는 겁니다. 기본 패키지로 설치하는 경우 요즘(2019년 기준)은 0.6.x 버전이 설치되고 있는데 0.5.1로 설치해줍니다. 당장 최신 버전을 꼭 사용해야 하는 이유가 없다면 말이죠. 우선 아래와 같이 기존에 설치된 librosa를 제거해줍니다.
pip uninstall librosa
그리고 0.5.1 버전으로 설치해줍니다.
pip install librosa==0.5.1
이제 다시 write_wave() 함수를 호출해보면 정상적으로 동작하는 것을 확인 할 수 있습니다. 급한대로 나름 꽤 유용한 해결 방법입니다. 혹시 같은 오류 때문에 고생하시는 분이 계셨다면 도움이 되셨기를 바랍니다.
'개발 > python' 카테고리의 다른 글
Hello Poetry (Dependency Management for Python) (0) | 2021.02.06 |
---|---|
FastAPI 톺아보기 - 부제: python 백엔드 봄은 온다 (12) | 2021.01.30 |
다시쓰는 Flask unittest (하편) (2) | 2019.06.10 |
다시쓰는 Flask unittest (상편) (0) | 2019.06.07 |
[python] FileNotFoundError: [Errno 2] No such file or directory: 'avconv': 'avconv' (0) | 2019.05.30 |
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday