본문 바로가기
IT/CHATGPT

[ChatGPT] Audio API : 음성 대화하기 (Text to Speech)

by Tony Jung 2024. 11. 13.
반응형

Text to Speech 

ChatGPT의 Audio API 는 Speech를 위해 6개의 내장 음성을 가지고 있는 TTS (Text -to -Speech)모델을 제공합니다. 기본적으로는 GPT로 입력한 Text를 음성으로 읽어주는 기능인데 조금만 활용하면 다양한 방면에서 활용이 가능할 것입니다. 

예를 들어 Whisper 모델 기반의 음성을 텍스트로 변환해주는 Voice to Text 기능을 활용하여 사용자의 음성을 인식하여 텍스트로 변환 후 GPT에게 질문을 하고 GPT가 답변한 내용을 Text to Speech모델을 이용하여 음성으로 출력한다면 실제 gpt와 대화를 하는 모델을 쉽게 구현하실 수 있답니다. 또한, 약간의 프롬프트 수정만으로 시간 번역기도 구현할 수 있을 것입니다. 

ChatGPT에서 주어진 음성 옵션으로는 "Alloy","Echo","Fable","Onyx","Nova","Shimmer"가 존재하며 한번씩 직접 들어보시고 원하는 음성을 선택하여 활용하시면 됩니다. 음성 나레이션 목적이라면 gpt말고도 많은 음성 ai 서비스가 있으니 참고 하여 활용 하시면 됩니다.

1. 음성 파일 생성하기 

from pathlib import Path
import openai
openai.api_key=''

File_Path=Path("tts1.mp3")
#생성될 파일의 위치와 파일명을 지정하여야 합니다.

response=openai.audio.speech.create(
    model="tts-1",
    voice="alloy",
    input="당신이 여기 살면 여기가 현실이 되는 거에요. 그럼 당신은 또 다른 세계를 동경하게 돼요. 진짜 황금기를요. 현실은 그런거죠.인생은 좀 불만족스럽고 그런 거니깐요 "​

)

response.stream_to_file(File_Path)
#지정한 경로에 지정한 파일명으로 음성파일이 생성됩니다.

자.. 저는 Alloy 음성으로 영화 "미드나잇 인 파리" 의 명대사를 음성파일로 만들어 봤습니다. 우리가 그동안 접했던 ARS의 음성에서 그나마 나은 정도의 음성 수준을 기대했는데... 깜짝 놀랄 만한 결과가 나오네요. 

영어는 어찌어찌 발전 수준을 이해한다고 쳐도 한글의 억양과 강조부분을 정확히 표현을 하고 있답니다. 꼭 한번 직접 만들어서 AI의 발전현황을 확인 해보시기 바랍니다. 

현재의 모델에서는 사용자의 음성을 학습하여 같은 음성으로 생성하는 기능은 제공하지 않습니다. 아마 부작용 때문일 듯하지만 곧 출시되는 것은 막을 수 없는 현실 일듯 합니다. 

반응형

 

2. 실시간 오디오 스트리밍 

실시간 오디오 스트리밍은 텍스트가 오디오로 다 만들어지기 전에도 오디오 파일에 엑세스 하여 실행 시킬 수 있는 방식입니다. 10분짜리 텍스트 파일이 있다면  실시간으로 음성 플레이 되면서 지속적으로 음성 파일이 생성되는 방식입니다. 

기본적으로 응답형식은 MP3 이지만 인터넷 스트리밍 및 짧은 대기 시간을 필요로 하는 서비스에 맞는 "Opus" 형식, You Tube, Android, iOS에서 선호하는 "AAC", 및 "flac", "wav","pcm" 과 같은 형식을 사용할 수 있답니다.

import openai

openai.api_key='Your Key'
response=openai.audio.speech.create(

    model="tts-1",

    voice="alloy",

    input="Actually, Paris is the most beautiful in the Rain"

)

response.stream_to_file("output.mp3")

 

자.. 두개의 코드를 직접 실행해 활용 용도에 맞게 다양한 방식으로 응용하여 사용하시기 바랍니다.~

 

 

반응형

댓글