목차
파이썬 gTTS, playsound 설치
파이썬(Python)에서 제공하는 모듈 중에 gTTS라는 모듈이 있습니다. gTTS는 Google Translate’s Text-to-Speech API 의 약자로 구글 번역에서 만든 text to speech 를 연결해주는 API 입니다.
텍스트(Text)를 소리나게 출력하기 위해 우선 텍스트에서 음성 파일로 변환할 수 있는 gTTS를 아래와 같이 설치 합니다.
pip install gtts
다음으로 음악 파일을 읽어주는 playsound 라는 라이브러리(Library)를 설치합니다.
pip install playsound
파이썬 텍스트 음성 파일로 저장하고 출력하기
gtts 함수는 사용법이 간단합니다. 인자 값(Parameter)으로 아래와 같은 값을 입력하는데 주로 사용하는 것은 빨간색으로 표기된 입력 값입니다.
- text
- tld
- lang
- slow
- lang_check
- pre_processor_funcs
- tokenizer_func
text에 음성으로 저장할 문자를 입력합니다. tld는 동일 언어일 경우 지역에 따라 분류 합니다.
lang 은 언저 종류를 선택 합니다. slow는 음성을 천천히 말하게 설정 합니다.
lang과 tld 값은 아래 테이블을 참조하시면 됩니다.
Local accent | Language code (lang) | Top-level domain (tld) |
English (Australia) | en | com.au |
English (United Kingdom) | en | co.uk |
English (United States) | en | com (default) |
English (Canada) | en | ca |
English (India) | en | co.in |
English (Ireland) | en | ie |
English (South Africa) | en | co.za |
French (Canada) | fr | ca |
French (France) | fr | fr |
Mandarin (China Mainland) | zh-CN | any |
Mandarin (Taiwan) | zh-TW | any |
Portuguese (Brazil) | pt | com.br |
Portuguese (Portugal) | pt | pt |
Spanish (Mexico) | es | com.mx |
Spanish (Spain) | es | es |
Spanish (United States) | es | com (default) |
아래 예제 코드를 보시면 어떻게 사용하는지에 대해 쉽게 이해할 수 있습니다.
예제 코드>>
from gtts import gTTS
from playsound import playsound
comment = "제 블로그에 온것을 환영 합니다"
comment_to_voice = gTTS(text=comment, lang="ko")
comment_to_voice.save("test_ko.mp3")
comment_to_voice = gTTS(text=comment, lang="en")
comment_to_voice.save("test_en.mp3")
comment_to_voice = gTTS(text=comment, lang="fr")
comment_to_voice.save("test_fr.mp3")
playsound("test_ko.mp3")
playsound("test_en.mp3")
playsound("test_fr.mp3")
4번 라인: 텍스트 값을 comment 변수에 저장합니다.
6~13번 라인: lang을 다르게 설정해서 한글을 한국 사람이 읽었을 때와 미국 사람 프랑스 사람이 읽었을 때의 발음이 mp3로 저장됩니다. 확장자는 mp3외에 wav로 저장하셔도 됩니다.
15~17번 라인: playsound로 음원 파일을 출력합니다.
결과>>
위에 음원 파일을 틀어보시면 각 외국인이 발음하는 문자를 확인할 수 있습니다.
'파이썬(Python)' 카테고리의 다른 글
[Python]GPS파일(nmea)에서 위도, 경도, 속도, 시간 정보 읽어서 csv에 저장하기(Latitude, Longitude, Speed, Time) (0) | 2022.11.10 |
---|---|
[Python] 피보나치(Fibonacci) 수열이란? 파이썬으로 구현하기 (0) | 2022.06.22 |
[Python]파이썬으로 PDF 자르기, 붙이기, 편집하기 (0) | 2022.04.02 |
[주파수] Octave 계산 방법(Calculation), 파이썬으로 구현하기 (0) | 2022.03.24 |
log함수란? 파이썬으로 계산, 그래프 그리기 (예제로 이해) (2) | 2021.10.07 |