관리 메뉴

솜씨좋은장씨

[Python]Mac에서 python으로 mp3파일을 wav로 변환하기(feat. homebrew) 본문

Programming/Python

[Python]Mac에서 python으로 mp3파일을 wav로 변환하기(feat. homebrew)

솜씨좋은장씨 2019. 10. 1. 23:50
728x90
반응형

작업 환경은 아래와 같습니다.

- OS : Mac OS Catalina  - jupyter notebook, python3

 

음성파일은 아래의 홈페이지에서 녹음 후 컴퓨터에 저장하였습니다.

 

Online Voice Recorder

 

online-voice-recorder.com

 

ETRI에서 제공하는 open API 중 음성인식 API를 사용하려고 녹음한 음성 mp3파일을 api에 요청변수로 보내니

{"result":0,"return_object":{"recognized":"ASR_NOTOKEN"}}

위와 같이 "ASR_NOTOKEN"이라는 결과를 확인할 수 있었습니다.

 

ETRI 홈페이지를 가보니 해당하는 오류는 파일이 샘플링 주파수(16kHz)가 맞지 않았을때라는 결과를 볼 수 있었습니다.

위를 해결하기 위해서 프로그램을 사용하여 변환할 수도 있겠지만

python 코드를 활용하여 변환하는 방법을 찾아보니 두 줄이면 가능했습니다.

 

 

먼저 pip 명령어를 활용하여 필요한 라이브러리를 설치합니다.

 

1. pydub 설치하기

 $ pip3 install pydub 

위의 명령어를 통하여 pydub를 설치합니다.

 

2. brew를 활용하여 ffmpeg 설치하기

 $ brew install ffmpeg 

위의 명령어를 사용하여 ffmpeg를 설치합니다.

 

위의 명령어를 사용하기 위해서는 brew를 먼저 설치해야합니다.

아래의 링크를 참조하기 바랍니다.

 

[Mac OSX] Brew 설치하기

먼저 Brew 홈페이지로 이동합니다. https://brew.sh/index_ko Homebrew The missing package manager for macOS (or Linux). brew.sh 홈페이지에서 Homebrew 설치하기 아래에 있는 명령어를 복사하여 실행하면된..

somjang.tistory.com

 

3. python 코드 작성하고 mp3파일 wav 형식으로 변환하기

from pydub import AudioSegment

AudioSegment.from_mp3("test.mp3").export("test.wav", format="wav", bitrate="16k")

 

test.mp3 부분은 mp3 파일이 있는 경로를

test.wav는 wav파일을 저장할 경로를

 

넣어주면 끝!

 

위의 방식대로 하니 API가 계속

이렇게 인식하는 문제도 있었습니다.

 

여러 방법을 해보니

위에서 ffmpeg를 brew로 설치한 뒤라 그냥 터미널에서

 $ ffmpeg -i test5.mp3 -acodec pcm_s16le -ac 1 -ar 16000 test_5_test.wav

명령어를 활용해서 변환할 수 있었습니다.

이렇게 해보니 아래의 녹음파일이 잘 인식되었습니다.

test_5_test.wav
0.07MB

 

다들 즐거운 코딩하기바랍니다~

Comments