728x90
gtts 패키지를 사용하여 텍스트를 음성으로 변환시켜보겠습니다.
https://happylie.tistory.com/137
1. gtts 패키지 다운 받기
pip3 install gtts
전 미리 설치되어 있어서 already satisfied가 나왔네요
이렇게 되었다면 라즈베리파이 Thonny로 이동합니다
2. gtts 패키지를 사용하여 텍스트를 음성으로 변환
- 문자열을 넣어서 음성 파일 만들기
from gtts import gTTS
tts = gTTS(text = "안녕하세요", lang = 'ko')
filename = "hello.mp3"
tts.save(f"/home/kimlab/Music/{filename}")
"안녕하세요"라는 텍스트를 음성으로 변환하는 파일을 Music 폴더에 넣었습니다.
저는 filename을 한글로 했을 때 오류가 떴습니다. (코랩에서는 괜찮았음)
한글로도 될 수 있겠지만, 저는 오류 방지를 위해 영어로 저장해주겠습니다.
lang은 생략하면 영어가 default입니다.
- 텍스트 입력 받아서 음성 파일 만들기
from gtts import gTTS
tt = input("음성으로 변환하고픈 말을 입력하세요: ")
tts = gTTS(text = tt, lang = 'ko')
filename = "music1.mp3"
tts.save(f"/home/kimlab/Music/{filename}")
- 딕셔너리로 입력 받아서 음성 파일 만들기 (파일 이름과 텍스트가 다를 때)
from gtts import gTTS
p_type={'snack':'과자','beverage':'음료','ramen':'라면'}
def speak(dict):
for eng in dict:
tts = gTTS(text =f"{dict[i]}", lang = 'ko') #한글
filename =f"{eng}.mp3" #영어
tts.save(f"/home/kimlab/Music/{filename}")
speak(p_type)
- 리스트로 입력 받아서 음성 파일 만들기 (파일 이름과 텍스트가 같을 때)
from gtts import gTTS
arr = ['hello', 'hi', 'good morning', 'good bye', 'see you']
def speak(arr):
for tt in arr:
tts = gTTS(text = tt)
#tt = tt.replace(" ", "") #띄어쓰기 오류를 위해
filename =f"{tt}.mp3"
tts.save(f"/home/kimlab/Music/{filename}")
speak(arr)
저는 이렇게 코드를 만들어봤습니다.
그랬더니 Music 폴더에 음성 파일이 만들어졌어요~!
'라즈베리파이4' 카테고리의 다른 글
[라즈베리파이4] GPIO를 이용하여 버튼 입력 받기 (0) | 2023.11.03 |
---|---|
[라즈베리파이4] python-vlc를 사용하여 파이썬으로 음성 출력 (2) | 2023.10.31 |
[라즈베리파이4] 라즈베리파이4에 yolov5 설치하기 업데이트 (0) | 2023.10.28 |
[라즈베리파이4] 라즈베리파이 모니터를 이용하여 VNC 접속하기 (2) | 2023.10.24 |
[라즈베리파이4] 라즈베리파이4에 yolov5 설치하기 (1) | 2023.09.11 |