๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

SW/Python

Python์œผ๋กœ ๋งํ•˜๊ธฐ (TTS)

์š”์ฆ˜ chatGPT๋•Œ๋ฌธ์— ์ฝ”๋”ฉ์˜ ํ•„์š”์„ฑ์ด ์ ์  ์•ˆ์ค‘์š”ํ•ด์ ธ ๋ณด์—ฌ๊ฐ€๊ธด ํ•œ๋‹ค.

ํ˜„ํƒ€๊ฐ€ ์ž์ฃผ ์˜ค๊ธด ํ•˜๋Š”๋ฐ,,, ์ผ๋‹จ ๊ณต๋ถ€ํ•œ๊ฑฐ๋‹ˆ ์˜ฌ๋ ค๋ณธ๋‹ค

 

 

 

TTS : Text To Speech

๋Œ€์ถฉ ์šฐ๋ฆฌ๋ง๋กœ ํ•˜๋ฉด.. "๊ธ€๋กœ ์”จ๋ถ€๋ฆฌ๊ธฐ" ์ •๋„๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ๋ง๋กœ ์”จ๋ถ€๋ฆฌ๋Š”๊ฒŒ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” TTS๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋…น์Œํ•œ๊ฑธ ์ผœ๋Š”์ˆ˜๋ฐ–์— ์—†๋‹ค.

์•„์‰ฝ๊ฒŒ๋„ Python์œผ๋กœ TTS๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ์—”, "TTS์Œ์„ฑํŒŒ์ผ"์„ ๋งŒ๋“ค๊ณ  "๋…น์Œํ•œ๊ฑธ ์ผœ๋Š”"๊ณผ์ •์ด ์ „๋ถ€ ํ•„์š”ํ•˜๋‹ค.

 

์ฝ”๋”ฉํ•˜๊ธฐ์— ์•ž์„œ ๋‹ค์–‘ํ•œ ๋ชจ๋“ˆ๋“ค์ด ํ•„์š”ํ•˜๋‹ค.

pip install speechrecognition
pip install gTTs
pip install playsound==1.2.2

์™€ ๊ฐ™์ด ์ž…๋ ฅํ•œ๋‹ค.

 

playsound์˜ ๋ฒ„์ „์„ ์ผ๋ถ€ํ„ฐ ๋‚ฎ์ถ”๋Š” ์ด์œ ๋Š”, ์—…๋ฐ์ดํŠธ๋˜๋ฉด์„œ ์˜ค๋ฅ˜๊ฐ€ ๋œจ๋Š”๋ฐ, ๋‚˜๋Š” ์ด๊ฑฐ ์žก์„์ค„ ๋ชฐ๋ผ์„œ๋‹ค. ํ•œ์ฐธ ๊ณ ์ณ๋ณด๋‹ค๊ฐ€ ๊ทธ๋ƒฅ ๋ฒ„์ „์„ ๋‚ฎ์ท„๋‹ค.

 

์•„๋ž˜๋Š” ๋‚ด๊ฐ€ ์ง  ์ฝ”๋“œ ์ „๋ฌธ์ด๋‹ค.

### ์ˆœ์„œ๋Œ€๋กœ ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ ### ๋‹คํšŒ์šฉ์ž„ ###
import speech_recognition as sr
from gtts import gTTS
import playsound
import os

def make_sound(directory, lan, contents) :
    len_dir = len(os.listdir(directory))
    tts = gTTS(text=contents, lang=lan)
    tts.save(f'{directory}/voice{len_dir}.mp3')
    
    return len_dir

    
def speak(len_dir) :
    playsound.playsound(len_dir)
    
def main() :
    ### ์—ฌ๊ธฐ๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋จ ###
    directory = './voices' # mp3์ €์žฅ๋  ํด๋” ์ด๋ฆ„
    lan = 'ko'	# ํ•œ์ฟธ์–ด๋Š” ko, ์˜์–ด๋Š” en-us
    contents = '์•ˆ๋…•'
    ### ์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ###
    
    len_dir = make_sound(directory, lan, contents)
    speak(f'{directory}/voice{len_dir}.mp3')
    
    
if __name__ == '__main__' :
    main()

๋…น์ŒํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ๊ทธ ๋…น์ŒํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—, ํŒŒ์ผ ์ด๋ฆ„์ด ๊ฒน์น˜๋ฉด ์•ˆ๋œ๋‹ค.

์ด์—, ๋…น์ŒํŒŒ์ผ๋งŒ ์Œ“์ด๋Š” ํด๋”๋ฅผ ๋งŒ๋“ค์—ˆ๊ณ , make_soundํ•จ์ˆ˜์—์„œ ๋…น์ŒํŒŒ์ผ์ด ์Œ“์ด๋Š” ํด๋” ๋‚ด ํŒŒ์ผ ๊ฐœ์ˆ˜๋ฅผ ์ฝ์–ด n+1์˜ ํŒŒ์ผ๋ช…์ด ๋˜๋„๋ก ํ•˜์—ฌ ๋…น์ŒํŒŒ์ผ์„ ์ €์žฅํ–ˆ๋‹ค.