[파이썬] ETRI 음성인식 기술 - STT(Speech-To-Text) API

2020. 11. 3. 18:49응용

728x90

 

 

음성인식 API 는 REST API 이며, 음성인식에 사용하기 위해 샘플링 주파수 16kHz로 녹음된 음성 파일을,

Base64로 Encoding 하여 ETRI Open API 서버에 전달하면 된다.

 

 

 

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

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

aiopen.etri.re.kr

 

▶ REST API의 URI 는http://aiopen.etri.re.kr:8000/WiseASR/Recognition,

    POST 방식으로 호출해야 한다.

 

import urllib3
import json
import base64

openApiURL = "http://aiopen.etri.re.kr:8000/WiseASR/Recognition"
accessKey = " "
audioFilePath = r"C:\temp\STT.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))

data = json.loads(response.data.decode("utf-8", errors='ignore'))    
rec_text= data['return_object']['recognized']
print(rec_text)
  

 

>>  accessKey

: ETRI에서 발급한 사용자 API Key

 

>> languageCode

korean: 한국어 음성인식 코드

english:영어 음성인식 코드

japanese:일본어 음성인식 코드

chinese:중국어 음성인식 코드

spanish:스페인어 음성인식 코드

french:프랑스어 음성인식 코드

german:독일어 음성인식 코드

russian:러시아어 음성인식 코드

vietnam:베트남어 음성인식 코드

 

 

>> 1일 허용량:  1,000건 /일  (60초 이내 /건당)

 


STT.wav
0.18MB

 

 

 

 

반응형