프로그래밍/Python

[python] 카카오 음성API TTS (feat. Postman)

Beginner:) 2021. 7. 21.
320x100

카카오 TTS는 7월 1일부로 서비스 종료하였습니다.

 

카카오 i Cloud에서 서비스 계획인것 같은데 그떄 업데이트 하도록 하겠습니다 ~

 

api key가 남아있는 분들은 아직 실행되는거같아서 글은 남겨둡니다. 

 


 

TTS란 Text To Speech로 카카오에서 텍스트를 음성으로 변환해주는 기술을 제공한다.

카카오 TTS를 사용하려면 API KEY를 받아와야하는데

API KEY가 없다면 아래의 STT 게시글로 이동하여 상단의 API KEY 받아오기를 먼저 수행해야한다.

2021.07.05 - [프로그래밍] - [python] 카카오 음성API STT (feat. postman)

 

[python] 카카오 음성API  STT (feat. postman)

카카오에서 제공하는 AI 관련해서 음성 API를 사용(REST API만 사용한다) 예상으로는 다른 기업들도 오픈소스나 그걸 인수한 데이터들을 베이스로 하기 때문에 비슷비슷할거라 생각. 아래 관련 링

park-duck.tistory.com



참고로 2번 STT는 Speak to Text로 TTS와 반대기능이다. TTS와는 별개이다.

TTS (Text to Speak) 실행
-- Request

-- Sample

샘플에서 request 부분을 보면 데이터(-d) 부분이 xml, html 구조처럼 <speak></speak>로 감싸져 있다.

카카오 SSML이라고 하는데 아래 링크에 들어가 가이드를 확인하자.

https://developers.kakao.com/assets/guide/kakao_ssml_guide.pdf

반응형


--Postman
-host


-header


-body


-결과


결과물은 위 사진과 같이 음성파일로 날라온다.

다음은 파이썬코드이다.

import os, requests, json, wave
url = "https://kakaoi-newtone-openapi.kakao.com/v1/synthesize"
key = '[REST API KEY]'
headers = {
	"Content-Type": "application/xml",
    "Authorization": "KakaoAK " + key,
}

data = "<speak>하이</speak>"
res = requests.post(url, headers=headers, data=data)
f= open('temp.wav', 'wb')
f.write(res.content)
f.close()


만약 한글부분에서 "latin1 ~~ utf-8" 에러가 뜬다면 한글부분을

"하이".encode('utf-8').decode('latin1')


변환하여 사용해본다.


반응형

댓글