23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
Python에서 음성 파일을 만들고 작성하는 것은 재미있고 유용한 기술이 될 수 있습니다.
특히 오디오 피드백이 필요한 앱을 구축하거나 프로젝트의 접근성을 높이는 데 더욱 그렇습니다.
이를 달성하는 가장 쉬운 방법 중 하나는 gTTS(Google Text-to-Speech) 라이브러리를 사용하는 것입니다.
수행 방법에 대한 초보자 친화적인 가이드는 다음과 같습니다.
파이썬이 설치되어 있다는 가정하에, 먼저 gTTS 라이브러리를 설치해야 합니다. 터미널이나 명령 프롬프트를 열고 다음 명령을 입력하십시오.
pip install gtts이제 텍스트를 음성으로 변환하고 MP3 파일로 저장하는 간단한 스크립트를 작성해 보겠습니다.
from gtts import gTTS
tts=gTTS(text="안녕하세요, Python 음성 변환 테스트입니다.", lang="ko")
tts.save("output.mp3")함수를 이용하려면 아래와 같이 작성합니다.
from gtts import gTTS
def text_to_speech(text, filename):
tts = gTTS(text, lang="ko") # Create a gTTS object
tts.save(filename) # Save the speech to an MP3 file
# Example usage
input_text = "안녕하세요, Python 음성 변환 테스트입니다."
output_file = 'output.mp3'
text_to_speech(input_text, output_file)gTTS 가져오기: gtts 모듈에서 gTTS 클래스를 가져오는 것부터 시작합니다.
lang="ko" 을 넣지 않으면 외국인이 한국말을 하는 것처럼 들리니 반드시 추가해야 합니다.
함수 정의: text_to_speech 함수는 **text**와 **filename**을 인수로 사용합니다. 입력된 텍스트는 음성으로 변환됩니다.
음성 생성 및 저장: 함수 내에서 텍스트를 전달하여 gTTS 인스턴스를 생성합니다. 그런 다음 save 메소드를 사용하여 **filename**으로 지정된 MP3 파일로 음성을 출력합니다.
IDE를 통해 또는 터미널에서 다음을 입력하여 Python 스크립트를 실행합니다.
python gTTSOutput.py이렇게 하면 스크립트에 작성한 텍스트를 재생하는 MP3 파일이 디렉토리에 생성됩니다.
이러한 단계를 통해 Python 및 gTTS를 사용하여 간단한 텍스트 음성 변환 애플리케이션을 만들었습니다.
이는 텍스트 파일 읽기 또는 다른 응용 프로그램과의 통합과 같은 더 복잡한 기능으로 확장될 수 있습니다.
다음에는 5분이상 길이의 스크립트를 음성으로 만든다면 어떻게 해야 할까요?
기존에는 웹스크랩핑으로 텍스트를 긁어와서 파일을 만들었다면 이제는 ChatGPT에게 요청하여 만들 수 있습니다.
ChatGPT를 이용하면 스크립트의 주제나 내용을 구체적으로 요청할 수 있는 장점이 있습니다.
5 분 정도 회사 과장님과 거래처 사장님의 대화를 아래 처럼 만들어줘. 한국어로 하고 내용은
샴푸관련 광고에 대한 사업이야기로 만들어줘. txt 파일로 만들어서 다운받을 수 있도록 만들어줘
---
회사 과장님:
거래처 사장님:요청에 결과는 아래처럼 파일로 작성되었습니다. (버전 4로 만든내용입니다.)
이제 만들어진 'Shampoo_Advertisement_Conversation.txt' 파일을 읽어서 mp3로 만들어봅니다.
from gtts import gTTS
def create_voice_from_file(text_file, output_file):
# Open and read the text file
with open(text_file, 'r', encoding='utf-8') as file:
text = file.read()
# Convert text to speech
tts = gTTS(text, lang="ko")
tts.save(output_file)
# Specify your text file and output file
text_file_path = 'Shampoo_Advertisement_Conversation.txt'
output_file_path = 'output.mp3'
# Generate the voice file
create_voice_from_file(text_file_path, output_file_path)Python에서 MP3 파일을 재생하려면 'playsound' 모듈을 사용하면 됩니다.
이는 오디오 재생을 처리하는 간단하고 직접적인 방법입니다. 방법은 다음과 같습니다.
우선 playsound를 설치합니다.
pip install playsound만약 설치할때 오류가 발생한다면 아래 2개도 함께 설치합니다.
pip install --upgrade wheel
pip3 install PyObjC위의 코드에 playsound를 추가합니다.
from gtts import gTTS
from playsound import playsound
def create_voice_from_file(text_file, output_file):
# Open and read the text file
with open(text_file, 'r', encoding='utf-8') as file:
text = file.read()
# Convert text to speech
tts = gTTS(text, lang="ko")
tts.save(output_file)
# Specify your text file and output file
text_file_path = 'Shampoo_Advertisement_Conversation.txt'
output_file_path = 'output4.mp3'
# Generate the voice file
create_voice_from_file(text_file_path, output_file_path)
# Play the mp3 file
playsound(output_file_path)이렇게 하면 음성파일을 만들어서 매번 만들어졌는지 실행할 필요없이 바로 확인이 가능합니다.
play를 종료하고자 한다면 실행 터미널에서 crtl +C 를 누릅니다.
chatGPT를 이용하여 다시 코드로 복귀하는 불편함은 바로 api key를 이용하여 openai api 를 사용할 수 있습니다.
그런데 chatgpt 비용과 platform 비용이 별도라 비용이 두배로 든다는 것은 참고해야 합니다.
from gtts import gTTS
from playsound import playsound
import openai
import os
# Set your API key for OpenAI
os.environ['OPENAI_API_KEY'] = "sk-" #사용자키 입력
def create_and_play_audio_from_prompt(prompt):
client = openai.OpenAI()
response = client.completions.create(
model="gpt-3.5-turbo-instruct", # Text generation model
prompt=prompt, # Input prompt
temperature=0.7, # Creativity level
max_tokens=500,
seed=8673
)
output = response.choices[0].text
print(output) # Print output for verification
# Convert text to speech and save to an MP3 file
tts = gTTS(output, lang="ko")
output_file_path = 'script_work.mp3'
tts.save(output_file_path)
# Play the mp3 file
playsound(output_file_path)
# Example prompt
prompt = '''
5 분 정도 회사 과장님과 거래처 사장님의 대화를 아래 처럼 만들어줘. 한국어로 하고 내용은
샴푸관련 광고에 대한 사업이야기로 만들어줘. txt 파일로 만들어서 다운받을 수 있도록 만들어줘
---
회사 과장님:
거래처 사장님:
'''
create_and_play_audio_from_prompt(prompt)이렇게 하면 바로 mp3 파일이 생성되고 실행도 됩니다. 여기에 스크립트 파일도 따로 갖고 싶다면 아래처럼 합니다.
from gtts import gTTS
from playsound import playsound
import openai
import os
# Set your API key for OpenAI
os.environ['OPENAI_API_KEY'] ="sk-" #사용자키 입력
def create_and_play_audio_from_prompt(prompt):
client = openai.OpenAI()
response = client.completions.create(
model="gpt-3.5-turbo-instruct", # Text generation model
prompt=prompt, # Input prompt
temperature=0.7, # Creativity level
max_tokens=500,
seed=8673
)
output = response.choices[0].text
print(output) # Print output for verification
# Save the generated text to a file
text_file_path = 'output_text.txt'
with open(text_file_path, 'w', encoding='utf-8') as file:
file.write(output)
# Convert text to speech and save to an MP3 file
tts = gTTS(output, lang="ko")
output_file_path = 'script_work.mp3'
tts.save(output_file_path)
# Play the mp3 file
playsound(output_file_path)
# Example prompt
prompt = '''
5 분 정도 회사 과장님과 거래처 사장님의 대화를 아래 처럼 만들어줘. 한국어로 하고 내용은
샴푸관련 광고에 대한 사업이야기로 만들어줘. txt 파일로 만들어서 다운받을 수 있도록 만들어줘
---
회사 과장님:
거래처 사장님:
'''
create_and_play_audio_from_prompt(prompt)QA 업무를 할때 다양한 테스트 데이터가 필요합니다.
오늘은 그 중 음성 데이터를 만드는 방법을 ChatGPT와 파이썬 모듈인 gTTS와 playsound를 이용해서 알아보았습니다.
업무에 많은 도움 되길 바래봅니다.
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.