gTTs 한글 에러가 뜨네요 ㅠ



  • 지난번에 주신 답변대로 하니 영어 gtts는 제대로 실행이 되지만 한글 tts가 되지 않네요
    문서에서는 한글도 지원이 된다고 했는데 아래처럼 오류가 뜹니다
    *Exception in Tkinter callback
    Traceback (most recent call last):
    File “/usr/lib/python2.7/lib-tk/Tkinter.py”, line 1545, in call
    return self.func(args)
    File “Background.py”, line 45, in R2
    tts = gTTS(text=“한국어가 선택됬습니다”, lang = ‘ko’)
    File “/home/pi/.local/lib/python2.7/site-packages/gtts/tts.py”, line 94, in init
    if self._len(text) <= self.MAX_CHARS:
    File “/home/pi/.local/lib/python2.7/site-packages/gtts/tts.py”, line 154, in _len
    return len(unicode(text))
    UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xed in position 0: ordinal not in range(128)

    코드가 필요하실 듯해서 아래에 코드도 추가 합니다

    #-- coding: utf-8 --
    from tkinter import *#GUI 모듈 사용
    import os#시스템 명령어 사용
    from gtts import gTTS
    import os

    language = ''
    root = Tk()#GUI 객체 생성
    root.title(“Select language”)#제목
    root.geometry(‘1500x1000+10+10’)#크기지정

    def makeBackground():#함수 선언
    global R1, R2, R3
    label_1 = Label(root, text = “Text translation”)#제목 레이블
    label_1.pack()#레이블 배치
    f = Frame(root)#프레임 생성
    f.pack()#프레임 배치
    btn_OK = Button(root, text = “OK”, font = (None, 20), command = callback)#버튼 생성
    sel = IntVar()#라디오 버튼 내장 값 설정
    R1 = Radiobutton(root, text = ‘EN’, font = (None, 15), variable = sel, value = 1, command = R1)#라디오버튼 생성
    R2 = Radiobutton(root, text = ‘KO’, font = (None, 15), variable = sel, value = 2, command = R2)
    R1.pack()#라디오 버튼 배치
    R2.pack()
    btn_OK.pack()#버튼 매치
    root.mainloop()

    def R1():#영어 선택시 호출되는 함수
    global language#언어값 변수 만들기
    language = ‘en’#언어값 설정하기
    if not os.path.isdir(“EnglishSelect.mp3”):#같은 이름의 파일 존재여부 확인
    tts = gTTS(text=“English Selected”, lang = ‘en’)#mp3파일의 내용 변수 생성
    tts.save(“EnglishSelect.mp3”)#mp3파일로 저장하기
    os.system(“EnglishSelect.mp3”)#mp3파일 실행하기
    os.system(“mpg321 EnglishSelect.mp3”)

    def R2():
    global language
    language = 'ko’
    if not os.path.isdir(“KoreanSelect.mp3”):
    tts = gTTS(text=“한국어가 선택됬습니다”, lang = ‘ko’)
    tts.save(“KoreanSelect.mp3”)
    os.system(“KoreanSelect.mp3”)
    os.system(“mpg321 KoreanSelect.mp3”)

    def callback():#'OK’버튼이 눌렸을 때 실행되는 함수
    root.quit()#창 닫기
    return language#언어 변수 반환하기

    if name == ‘main’:#자제적으로 프로그램을 실행할 때
    makeBackground()#배경화면 생성 함수 실행**

    항상 제 프로젝트에 도움을 주셔서 감사합니다 ^^


답글을 작성하기 위해 로그인
 

Rasplay Forum 사이트로의 연결이 끊어졌습니다. 다시 연결을 시도하는동안 잠시만 기다려 주십시오.