본문 바로가기
IT/파이썬

[파이썬] 텍스트를 음성으로 변환

by 뉴스킹덤 2022. 6. 22.

최근 제가 블로그를 운영하면서 가장 관심을 가지고 있는 부분은 자동화입니다. 

 

최근 다양한 미디어를 통해서 정보를 제공하는 사람들이 많고 이를 소비하는 사람들도 정말 많습니다.

 

이렇게 경쟁이 치열한 환경속에서 살아남아 양질의 정보를 제공하기 위해서 가장 필요한 것은 물론 창작자의 능력이겠지만 한 사람의 창작능력은 한계를 가지기 마련이기 때문에 내가 창작한 콘텐츠를 다양한 방식으로 확산할 수 있는 방법을 찾는 것이 경쟁력이 될 것입니다.

 

이를 위해서 가장 필요한 것은 자동화입니다. 

 

이러한 이유로 비전공자임에도 불구하고 html, css, javascript, python, c# 등 다양한 프로그램 언어를 공부하고 있습니다.

 

가능하면 웹개발을 목적으로 공부하고 있지만 관련 언어의 프레임워크까지 눈독을 들이게 되면서 정말 방대한 양의 지식을 느끼고 약간의 좌절을 맛보고 있습니다.

 

그래서 최근에 어느정도 실습을 겸해서 목표로 하는 기능의 라이브러리나 모듈을 활용해 보고 있는데요~

 

우선 저의 최종 목표는 티스토리를 통해서 발행된 글을 자동으로 유튜브 발행까지 이어지게 하는 것입니다. 

 

최근 유튜브 api의 사용에 제약이 있다고 들어서 완전 자동은 어렵게 느껴지지만 반자동이라도 포스팅을 동영상으로 자동 제작할 수 있는 방법을 찾아보고 있습니다.

 

이러한 노력의 일환으로 오늘 다룰 부분은 텍스트를 음성으로 전환하는 gtts 모듈을 활용하는 방법에 관한 것입니다.

 

파이썬을 활용해서 텍스트를 음성으로 변환하는 방법

 

텍스를 음성으로 변환하는 방법을 파이썬으로 구현하기 위해서는 간단한 아래 코드를 활용하면 된다.

 

from gtts import gTTS
from playsound import playsound

textfile="text.txt"

with open(textfile, 'rt', encoding='UTF8') as f:
    read_file = f.read()

tts = gTTS(text = read_file, lang="ko")

tts.save("test.mp3")

playsound("test.mp3")

 

<코드 해설>

 

# TTS 기능을 사용하기 위해서 gtts 모듈을 임포트합니다.

from gtts import gTTS 
 
# 음성파일을 실행하기 위해서 playsound 모듈을 임포트 합니다.
 
from playsound import playsound
 
위 2가지 모듈 gtts와 playsound는 다음과 같은 명령어를 파이썬이 실행된 환경의 터미널에서 실행하여 설치할 수 있습니다.

pip install gtts

 

pip install playsound

 

별도의 text.txt 파일을 만들어서 음성으로 변환할 텍스트를 입력하고 저장해 줍니다.

 

저장된 text.txt 파일명을 textfile 변수에 입력합니다.

textfile="text.txt"
with as 구문을 이용하여 text.txt 파일을 읽기전용('rt')으로 열어줍니다. 
읽어드린 파일을 gTTs 함수를 활용하여 음성으로 변환하고 test.mp3 파일로 저장해 줍니다. 

with open(textfile, 'rt', encoding='UTF8') as f:
read_file = f.read()

tts = gTTS(text = read_file, lang="ko")

tts.save("test.mp3")
 
 
저장된 text.mp3 파일을 실행해 줍니다. 

playsound("test.mp3")
 

여러분도 한번 따라해 보시면 아주 재미있습니다.

 

테스트한 text.txt 파일과 생성된 mp3 파일은 다음과 같구요..

 

test.mp3
0.24MB
text.txt
0.00MB

내용은 9월에 개편되는 건강보험료 2단계 개편안에 대한 내용 서두입니다. 

 

관련 포스팅이 궁금하신 분은 아래 배너를 참고하세요~!!

 

 

건강보험료 2단계 개편 9월 시행 58만명 피부양자격 박탈 건보료 폭탄

건강보험료 2단계 개편방안이 당초 7월에 시행할 예정이었으나 정부에서 준비기간을 갖고 9월부터 시행하는 것으로 확정하였습니다. 오늘은 건강보험료 2단계 개편 방안에 대해서 자세하게 알

newskingdom.tistory.com

유튜브도 운영하면서 느끼는 가장 큰 어려움이라면 더빙, 컷편집, 자막이 아닐까 생각합니다.

 

이 3가지 중 더빙을 해결할 수 있는 좋은 방법입니다.

 

실수 없이 녹음을 할 수 있는 방법이닌까요.

 

영상 제작 시간도 상당히 절약할 수 있습니다.

 

하지만 문제는 더빙음성이 로보트가 읽는 것처럼 자연스럽지 않아서 유튜브로 제작하더라도 시청자에게 큰 호응을 얻기 어려울 것으로 보입니다.

 

물론 웹상에서 유료로 제공되는 더빙시스템인 타입캐스트, 네이버의 클로바 더빙을 활용하면 좀 더 자연스러운 결과를 얻을 수 있습니다.

 

파이썬 텍스트를 음성으로 변환 gtts, playsound