본문 바로가기

IT/개발

OpenAI Audio API를 이용한 TTS 구현 기초(tts-1, tts-1-hd)

반응형

1.1     Audio Models

 

1.1.1  tts-1, tts-1-hd 모델 설명

 

https://platform.openai.com/docs/models/tts

 

텍스트를 음성으로 변환하는 AI 모델

-       tts-1 : 스피드에 최적화

-       tts-1-hd : 품질에 최적화

 

MODEL DESCRIPTION
tts-1 Text-to-speech 1
The latest text to speech model, optimized for speed.
tts-1-hd Text-to-speech 1 HD
The latest text to speech model, optimized for quality.

 

 

6개의 빌트인 음성 제공

alloy, echo, fable, onyx, nova, and shimmer

 

-       작성된 블로그 게시물 내레이션

-       여러 언어로 음성 오디오 제작

-       스트리밍을 사용하여 실시간 오디오 출력 제공

 

지원되는 출력 형식

-       기본 응답 형식은 "mp3"

-       Opus: 인터넷 스트리밍 및 통신의 경우 지연 시간 짧음

-       AAC: 디지털 오디오 압축용이며 YouTube, Android, iOS에서 선호

-       FLAC: 무손실 오디오 압축으로, 저장용으로 선호

 

스트리밍도 지원

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding

 

 

 

2.1     문자열로 음성 생성 (TTS, Text to Speech)

 

2.1.1  API 설명

기능 :

입력 텍스트에서 오디오를 생성

 

사용법 :

response = openai.audio.speech.create(

  model="tts-1",

  voice="alloy",

  input="The quick brown fox jumped over the lazy dog."

)

 

파라메터 :

 

 

2.1.2  TTS 사용해보기

 속도 우선 모델과 품질 우선 모델로 테스트 

 

from pathlib import Path

from openai import OpenAI

client = OpenAI()

 

speech_file_path = Path(__file__).parent / "speech_speed_tts-1.mp3"

response = client.audio.speech.create(

  model="tts-1",

  voice="alloy",

  input="더불어민주당이 9 이동관 방송통신위원장 탄핵을 추진하기로 결정했다. 전날 논의를 미뤘던 검사 탄핵은 손준성 대구고검 차장검사와 이정섭 수원지검 2차장검사 명으로 대상을 축소했다."

)

 

response.stream_to_file(speech_file_path)

 

speech_file_path = Path(__file__).parent / "speech_quality_tts-1.mp3"

response = client.audio.speech.create(

  model="tts-1-hd",

  voice="alloy",

  input="더불어민주당이 9 이동관 방송통신위원장 탄핵을 추진하기로 결정했다. 전날 논의를 미뤘던 검사 탄핵은 손준성 대구고검 차장검사와 이정섭 수원지검 2차장검사 명으로 대상을 축소했다."

)

 

response.stream_to_file(speech_file_path)

 

 

 

참고 : 

https://platform.openai.com/docs/api-reference/audio

 

 

반응형