ETRI 에서 음성인식(STT, Speech-To-Text)를 무료로 제공하고 있습니다.
ㅁ 1일 무료 허용량
하루에 1000건씩 무료로 제공하니 목적에 맞춰 잘 사용한다면, 아주 좋을 것 같네요.
빨리 시작해 보시죠~
<< 순서 >>
Step 1) | 키 발급 |
Step 2) | 음성인식 결과 보기 |
Step 1) 키 발급
Step 2) 구현 (Quick Start)
ㅁ 음성 파일 준비
음성인식 API는 REST API이며, 음성인식에 사용하기 위해 샘플링 주파수(sampling rate 또는 sampling frequency) 16kHz로 녹음된 음성 파일을 Base64로 Encoding 하여 HTTP 통신으로 ETRI Open API 서버에 전달하면 됩니다.
=> 이런 내용이 있는데, 파일 준비가 어렵다면 일단 준비해둔 .wav 파일로 사용해보자.
제공된 hello.wav 파일은 typecast(https://typecast.ai/create-v2) 에서 만든 목소리 입니다.
ㅁ 소스코드
– 개발가이드 > 음성지능 > 구현 예제 > python 선택 > 소스코드 copy
#-*- coding:utf-8 -*-
import urllib3
import json
import base64
import json
openApiURL = "http://aiopen.etri.re.kr:8000/WiseASR/Recognition"
accessKey = "이곳에 인증키를 넣어주세요"
audioFilePath = "./hello.wav"
languageCode = "korean"
file = open(audioFilePath, "rb")
audioContents = base64.b64encode(file.read()).decode("utf8")
file.close()
requestJson = {
"access_key": accessKey,
"argument": {
"language_code": languageCode,
"audio": audioContents
}
}
http = urllib3.PoolManager()
response = http.request(
"POST",
openApiURL,
headers={"Content-Type": "application/json; charset=UTF-8"},
body=json.dumps(requestJson)
)
print("[responseCode] " + str(response.status))
print("[responBody]")
print("===== 결과 확인 ====")
data = json.loads(response.data.decode("utf-8", errors='ignore'))
print(data['return_object']['recognized'])
두둥~~ 결과가 아주 잘 나오네요~
여러 파일들로 테스트 한번 해보세요^^