파이썬 gTTS 사용법
조회수 4000회
파이썬에서 gtts 모듈을 사용하려고 하는데
import os from gtts import gTTS
text_to_read = "안녕"
language = 'ko'
slow_audio_speed = False
filename = "my_file.mp3"
def reading_from_user():
user_input = input("뭐라할까?\n")
audio_created =gTTS(text=user_input, lang=language, slow=slow_audio_speed)
audio_created.save(filename)
os.system(f'start {filename}')
if __name__ == '__main__':
reading_from_user()
질문
gTTS에서는 꼭 mp3 파일로 저장을 한후에 읽어 와야하나요??
그냥 input에 write 한 글을 바로 play 할수는 없을까요?
2 답변
-
사실 윈도우 사용자라면 더 간단한 방법도 있습니다.
윈도우의 sapi( https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms723627(v%3Dvs.85) ) 을 이용하는 겁니다.
COM 객체이니 pywin32(pip install pywin32) 모듈을 사용하면 됩니다.
import win32com.client tts = win32com.client.Dispatch("SAPI.SpVoice") tts.Speak("해시코드는 답변 검색 기능이 필요합니다.")
-
안 그래도 공식문서를 보시면 "바로 소리 재생"이라고 항목이 따로 있네요.
이걸 가능하게 해 줄 라이브러리가 꽤 있습니다. 파일 리소스 오브젝트에 "Hello"라고 쓰고 추가 작업을 해 보세요.
도움말: 이슈 #26을 보시면 바로 소리를 재생하는 방법에 대한 토론과 예제를 보실 수 있습니다.
from gtts import gTTS from io import BytesIO mp3_fp = BytesIO() tts = gTTS('hello', 'en') tts.write_to_fp(mp3_fp) # 이제 `mp3_fp`를 원하시는 오디오 라이브러리에서 mp3로 취급하여 열면 됩니다.
댓글 입력