파이썬 실습/GUI, 음성파일 텍스트 추출기

파이썬 GUI 음성파일 텍스트 추출기 - 2. 파일 변환

파기차차 2023. 3. 19. 20:36
728x90
반응형
SMALL

ㅁ 개요

 

O 프로그램 소개

 

- 이번 글은 이전글(파이썬 GUI 음성파일 텍스트 추출기 - 1. 소개)에 이은 2번째 글로 소개편에서 말씀드린바와 같이 mp3, m4a 등 구글의 speech_recognition 모듈이 인식할 수 있는 wav 형식이 아닌 다른 타입의 음성파일을 wav파일로 변환하는 방법에 대하여 알아보겠습니다.

 

 

O 완성된 프로그램 실행 화면

 

 

 - 최종 완성된 프로그램의 결과화면은 아래와 같습니다.

 

 

1. mp3->wav변환 프로그램을 실행하면 에러 없이 잘 실행되었으며,

 

 

 

 

 

2.mp3파일을 wav파일로 잘 변환한 것을 확인할 수 있습니다.

 

 

 

3.wav파일을 더블클릭하여 실행하면 녹음된 내용('안녕하세요')이 잘 나오는 것을 볼 수 있습니다.

 

 

 

 

 

4. 다시 휴대전화 녹음파일형식인 m4a파일을 변환하기 위해서 m4a->wav변환 프로그램을 실행하면

 

 

 

5.아래와 같이 wav파일이 잘 생성된 것을 볼 수 있으며,

 

 

 

 

 

6. 생성된 파일을 실행하면 녹음된 내용('안녕, 반가워. 어 그래 고마워')이 잘 실행되는 것을 볼 수 있습니다.

 

 

 

 

 

 

 

 

 


 

ㅁ 세부 내용

 

O 완성된 소스

 

 

- 실행전 아래 pip명령으로 관련된 모듈을 설치해 주시기 바랍니다.

pip install pydub
pip install ffmpeg-downloader
ffdl install --add-path

 

 

 

소스1 : mp3ToWav.py

from pydub import AudioSegment
mp3_file = 'bbb.mp3' 
wav_filename = 'bbb.wav' 
track = AudioSegment.from_mp3(mp3_file)
print(track)
file_handle = track.export(wav_filename, format='wav')
print(file_handle)
 

소스2 : m4aToWav.py

 
from pydub import AudioSegment
m4a_file = 'aa.m4a'
wav_filename = 'aa.wav'
track = AudioSegment.from_file(m4a_file,  format= 'm4a')
file_handle = track.export(wav_filename, format='wav')
 

 

 - 소스파일을 cmd, 파워쉘 또는 vscode 등에서 아래와 같이 실행하시기 바랍니다.
 
 > python mp3ToWav.py

 > python m4aToWav.py

 


 
 

 

O 주요 내용

관련된 소스를 살펴보겠습니다.

 

1.아래와 같이 소스는 10줄도 안되는 매우 간단한 코드로 되어 있으며,

갖고 있는 mp3파일명을 지정하고, 변환할 wav 파일명을 지정해 줍니다. (line 3~4)

AudioSegment객체의 from_mp3()함수로 mp3파일에 대한 트랙을 만들어 준 후 (line 5)

export() 함수를 이용하여 wav파일로 변환해 줍니다.(line 7)

 

 

 

 

1.m4a파일의 변환과정도 거의 유사하며,

AudioSegment객체의 from_file()함수로 m4a파일에 대한 트랙을 만들어 준다는 것만 위의 mp3->wav변환 과정과 다릅니다.(line 5)

 

 

 

 

 

 

 

 

 

 

다음 변환된 wav파일을 구글의 음성인식 모듈을 이용하여 음성을 텍스트로 변환하는 방법에 대하여 알아보겠습니다.

 

 

 

 


 

ㅁ 정리

 

O 우리가 배운 내용

 
 - 오늘은  mp3, m4a 등 구글의 speech_recognition 모듈이 인식할 수 있는 wav 형식이 아닌 다른 타입의 음성파일을 wav파일로 변환하는 방법에 대하여 알아보았습니다.
 
 
 - 오늘 우리가 배운 내용을 두줄로 정리해 보면 아래와 같습니다.
 
 
 > 1.mp3->wav 파일로 변환시 다음과 같이 코딩합니다.
track = AudioSegment.from_mp3(mp3_file)
file_handle = track.export(wav_filename, format='wav')
 
 > 2.m4a->wav 파일로 변환시 다음과 같이 코딩합니다.
track = AudioSegment.from_file(m4a_file,  format= 'm4a')
file_handle = track.export(wav_filename, format='wav')

 

오늘은 여기까지이며, 댓글하트는 제가 이글을 지속할 수 있게 해주는 힘이 됩니다.

 

 

감사합니다.

 

 

 

※ 추가적인 정보는 아래 유튜브 영상에서 해당 내용을 더욱 자세히 보실 수 있습니다.

 

 

728x90
반응형
LIST