이번에 학교에서 진행하는 캡스톤 프로젝트에서 Google STT API 를 사용하게 되었는데, 비동기적으로 사용자의 마이크 인풋을 텍스트로 실시간 변화해주는 스크립트를 만들어야 한다. 하지만 동기적으로 구동되는 파이썬에서 비동기 코드를 구현한다는 것이 너무 어려웠고, 이해조차 쉽지 않았다.
때문에, 우선적으로 Google API 를 사용해보는것을 목적으로 동기적 코드라도 작성해보자! 하는 마음으로 공부를 시작해보았다.
우선적으로, googleapis github를 살펴봤다. 리드미에 api 를 사용하기 위해서 가상환경을 사용하라는 말이 있어, venv 를 설치하여 api를 받아보기로 했다.
https://github.com/googleapis/python-speech
pip install virtualenv
virtualenv <your-env>
source <your-env>/bin/activate
<your-env>/bin/pip install google-cloud-speech
pip 을 사용하여 virtualenv 를 다운받고, 가상환경의 이름을 지정해 준다. 3번째 줄 코드가 가상환경을 구동해주는 코드이다. 그 후 해당 가상환경에 google-cloud-speech api 를 받아주면, 구글 api 를 사용할 가장 기본적인 환경이 구축된다. (파이썬3 에서는 기본적으로 제공한다고 한다… 굳이 다운받지 말고 venv 를 사용해도 된다..)
STT API를 사용하기 위해서 추가적으로 해줘야 할 작업이 있는데, 리드미에 나와있으니 하나씩 따라하면된다!
클라우드 플랫폼에 프로젝트를 만들기.
나는 캡스톤 프로젝트를 진행하고 있기 때문에, 구글 팀 계정이 있어서 해당 계정을 사용하기로 했다. 링크를 타고 들어가서, 프로젝트를 생성하거나, 사용하고자 하는 프로젝트를 선택해 주면 된다.
https://console.cloud.google.com/cloud-resource-manager
결제 확인하기
공식문서를 보면, 구글 API 를 사용하는데 있어 기본적으로 300토큰을 제공한다고 나와있다. 300토큰 이후의 API 요청은 한 요청당 0.002 만큼의 비용을 지불하는걸로 나와있다.(확실하지 않음). 때문에 결제에 관한 정보를 입력해 주어야 함! 제대로 입력됐으면 계정에 초록색 체크 표시가 뜬다.
https://cloud.google.com/billing/docs/how-to/modify-project?hl=ko#enable_billing_for_a_project
이건 Cloud-Speech 에 대한 공식문서다.
https://cloud.google.com/speech-to-text/docs/before-you-begin?hl=ko
권한 인증받기
여기서 권한을 인증 받아야 하는데… 나는 잘 되지 않았다. 여기저기 찾아보다가 3번 공식문서의 내용대로 진행했더니 인증을 받을 수 있었다.
https://cloud.google.com/speech-to-text/docs/before-you-begin?hl=ko
이제 Google API 사용을 위한 모든 절차를 완료하였다. 다음 포스트에서는 로컬에 저장된 음성파일을 텍스트로 변환하는 코드를 작성해 보는 방법을 알아보자.