Text to Speech
Last updated
Last updated
TTS는 컴퓨터 프로그램이나 기기가 텍스트를 인간의 음성처럼 들리는 오디오로 변환하는 과정입니다.
이 기술은 음성 합성을 통해 텍스트 데이터를 자연스러운 음성으로 바꿉니다.
사용 예시: 오디오북, 음성 안내 시스템, 음성 기반 가상 어시스턴트 등.
[참고]
공식문서: https://platform.openai.com/docs/guides/text-to-speech
주요 파라미터
model
: 사용 가능한 TTS 모델 중 하나를 지정합니다. tts-1
또는 tts-1-hd
.
최신 지원모델 확인: https://platform.openai.com/docs/models/tts
input
: 오디오를 생성할 텍스트입니다. 최대 길이는 4096자입니다.
voice
: 오디오를 생성할 때 사용할 음성입니다. 지원되는 음성은 alloy
, echo
, fable
, onyx
, nova
, and shimmer
입니다. 음성의 미리듣기는 에서 확인할 수 있습니다.
response_format
: 오디오를 입력할 형식입니다. 지원되는 형식은 mp3
, opus
, aac
및 flac
입니다.
speed
: 생성된 오디오의 속도입니다. 0.25
에서 4.0
사이의 값을 선택합니다. 기본값은 1.0
입니다.
client
는 OpenAI 모듈로 생성된 인스턴스 입니다.
[주의] 아래의 코드에서 오류가 난다면 API 키의 오류일 가능성이 높습니다.
Your browser does not support the audio element.
STT는 사람의 말소리를 텍스트로 변환하는 기술입니다.
이는 음성 인식을 통해 구어체 언어를 캡처하고 이를 기록 가능한 형태의 텍스트로 변환합니다.
사용예시: 음성 명령 입력, 자동 회의록 작성, 음성 기반 검색 시스템 등.
[참고]
공식문서: https://platform.openai.com/docs/guides/speech-to-text
파일 업로드는 현재 25MB로 제한되어 있으며, 지원되는 입력 파일 형식은 mp3
, MP4
, MPEG
, MPGA
, M4A
, WAV
, WEBM
입니다.
지원언어
아프리칸스어, 아랍어, 아르메니아어, 아제르바이잔어, 벨라루스어, 보스니아어, 불가리아어, 카탈로니아어, 중국어, 크로아티아어, 체코어, 덴마크어, 네덜란드어, 영어, 에스토니아어, 핀란드어, 프랑스어, 갈리시아어, 독일어, 그리스어, 히브리어, 힌디어, 헝가리어, 아이슬란드어, 인도네시아어, 이탈리아어, 일본어, 인도네시아어, 칸나다어, 카자흐어, 한국어, 라트비아어, 리투아니아어, 마케도니아어, 말레이어, 마라티어, 마오리어, 네팔어, 노르웨이어, 페르시아어, 폴란드어, 포르투갈어, 루마니아어, 러시아어, 세르비아어, 슬로바키아어, 슬로베니아어, 스페인어, 스와힐리어, 스웨덴어, 타갈로그어, 타밀어, 태국어, 터키어, 우크라이나어, 우르두어, 베트남어 및 웨일스어.
주요 파라미터
file
: 변환할 오디오 파일 개체(파일 이름이 아님)로, 다음 형식 중 하나입니다: FLAC
, MP3
, MP4
, MPEG
, MPGA
, M4A
, OGG
, WAV
또는 WEBM
.
model
: 현재는 whisper-1
모델만 지정 가능합니다.
language
: 입력 오디오의 언어입니다. 입력 언어를 ISO-639-1 형식으로 제공하면 정확도와 지연 시간이 개선됩니다.
prompt
: (선택 사항) 모델의 스타일을 안내하거나 이전 오디오 세그먼트를 계속하기 위한 텍스트입니다. 프롬프트는 오디오 언어와 일치해야 합니다.
response_format
: 변환된 결과물 출력 형식입니다. 가능한 지정 옵션은 json
, text
, srt
, verbose_json
또는 vtt
입니다.
temperature
: 0에서 1 사이의 샘플링 temperature
입니다. 0.8과 같이 값이 높을수록 출력은 더 무작위적이고, 0.2와 같이 값이 낮을수록 출력은 더 집중적이고 결정론적입니다. 0으로 설정하면 모델은 로그 확률을 사용하여 특정 임계값에 도달할 때까지 자동으로 temperature
을 높입니다.
기본적으로 Whisper API는 25MB 미만의 파일 만 지원
이보다 긴 오디오 파일이 있는 경우 25MB 이하의 청크로 나누거나 압축된 오디오 형식을 사용
최상의 성능을 얻으려면 문장 중간에 오디오를 분할하면 일부 문맥이 손실될 수 있으므로 가급적 분할 사용에 주의
이를 처리하는 한 가지 방법은 PyDub
오픈 소스 Python 패키지를 사용하여 오디오를 분할
샘플 데이터셋(채용면접 인터뷰 데이터)
링크: https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=data&dataSetSn=71592