본문 바로가기
연구/경환 - 서기

[200715]네이버_CSR(Clova Speech Recognition) REST API 사용하기 by Python

by <감귤> 2020. 7. 21.
반응형

네이버의 AI Service 중 음성을 텍스트로 바꿔주는 CSR(Clova Speech Recognition)에서 실시간 음성추출이 아닌

음성파일(60초이하)을 통한 음성추출을 통해 텍스트(STT)로 바꿔주는 REST API를 사용해보았습니다.

구현언어는 Python 3.8.4이구요. Visual Studio Code에서 코드 작성 및 실행이 이루어 졌습니다.

requests 모듈을 요구하기 때문에 pip install requests를 해주셔야 원활히 진행됩니다.

 

<환경설정>

기존 파이썬이 없는 경우 :

https://www.python.org/downloads/ 여기서 Python을 다운 받으시거나

CMD(명령프롬프트)에서 python이라고 입력하면 자동으로 저 사이트로 이동하게 됩니다.

 

다운로드 이후 :

CMD에서

pip install requests 명령어를 통해 "requests"모듈을 다운로드 합니다.

request파일의 저장위치를 알아두셔야합니다.

 

저의 경우 

C:\Users\고경환\AppData\Local\Packages

\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\Scripts

였습니다.

 

<동작원리>

 

 

<문제점>

이렇게 다운로드가 다 진행된 다음 실행했을때 requests 모듈이 없다고 떴습니다.(어쩌라는거지..)

그래서 다운받았던 파일(requests)을 파일 탐색기를 통해 확인하려니

Users(사용자) 밑에 고경환 밑에 AppData파일이 안보이는 것 이었습니다.

<해결책>

CMD에 start appdata(대소문자 상관x)를 입력하면 밑에 창이 뜹니다.

 

 

여기서 이제 위에 있었던  requests 가 설치된 경로로 찾아 들어가서 

이러한 파일들을

앞으로 음성파일을 저장하고 불러올 장소에 옮겨 놓습니다.(저의 경우 CSR테스트)

hi.m4a
0.06MB
yanado.mp3
0.92MB
ma.mp3
1.68MB

<오류>

자세한 내용은 https://apidocs.ncloud.com/ko/ai-naver/clova_speech_recognition/

 

 

<소스코드>

 

import requests

client_id = "발급받은 client_id를 입력하세요."
client_secret = "발급받은 client_secret을 입력하세요."
lang = "Kor" # 언어코드{Kor, Jpn, Eng, Chn}
url = "https://naveropenapi.apigw.ntruss.com/recog/v1/stt?lang=" + lang

#data = open('./yanado.mp3', 'rb')
data = open('./hi.m4a', 'rb')
#data = open('./ma.mp3', 'rb') # 60초넘어서 ST001 Error발생

headers = {
    "X-NCP-APIGW-API-KEY-ID": client_id,
    "X-NCP-APIGW-API-KEY": client_secret,
    "Content-Type" : "application/octet-stream"
}

response = requests.post(url, data=data, headers=headers)

rescode = response.status_code

if(rescode == 200):
    print(response.text)
else :
    print("Error : " + response.text)
반응형