파이썬(Python)

[Python]텍스트를 음성으로 변조(변환)하기 (gTTS 모듈)

끄적끄적아무거나 2022. 5. 10. 19:07
반응형

 

목차

     

     

     

    파이썬 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로 음원 파일을 출력합니다.

     

     

    결과>>

    test_en.mp3
    0.01MB
    test_fr.mp3
    0.01MB
    test_ko.mp3
    0.01MB

     

    위에 음원 파일을 틀어보시면 각 외국인이 발음하는 문자를 확인할 수 있습니다.

     

     

     

     

    반응형