오늘 배워 오늘 쓰는 OpenAPI/Quick Start

음성인식(STT) 빨리 시작하기 - ETRI OpenAPI

ai-creator 2020. 3. 6. 17:36
반응형

ETRI 에서 음성인식(STT, Speech-To-Text)를 무료로 제공하고 있습니다.

ㅁ 1일 무료 허용량

하루에 1000건씩 무료로 제공하니 목적에 맞춰 잘 사용한다면, 아주 좋을 것 같네요. 

빨리 시작해 보시죠~

 

<< 순서 >>

Step 1) 키 발급
Step 2) 음성인식 결과 보기

 

Step 1) 키 발급

 : http://aiopen.etri.re.kr/

 

공공 인공지능 오픈 API·DATA 서비스 포털

과학기술정보통신부의 R&D 과제를 통해 개발한 다양한 인공지능 기술 및 데이터를 누구나 사용할 수 있도록 제공

aiopen.etri.re.kr

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) 에서 만든 목소리 입니다.

hello.wav
0.11MB

ㅁ 소스코드

- 개발가이드 > 음성지능 > 구현 예제 > 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'])

두둥~~ 결과가 아주 잘 나오네요~

여러 파일들로 테스트 한번 해보세요^^

 


저작물의 저작권은 작성자에게 있습니다.
공유는 자유롭게 하시되 댓글 남겨주세요~
상업적 용도로는 무단 사용을 금지합니다.
끝까지 읽어주셔서 감사합니다^^

반응형