pizzaplanet

[2019 머신러닝 스터디 잼] Google Cloud Speech API: Qwik Start 본문

AI

[2019 머신러닝 스터디 잼] Google Cloud Speech API: Qwik Start

scio 2019. 2. 12. 11:50

[2019 머신러닝 스터디 잼 입문반]을 시작하게 되었다.




입문반의 첫 트랙 Google Cloud Speech API: Qwik Start을 해보자.


GSP119



Overview

Google Cloud Speech API를 사용하면 Google 음성 인식 기술을 어플리케이션에 쉽게 통합 할 수 있습니다.

또한, 오디오를 전송하고 서비스에서 텍스트 사본을 받을 수 있습니다. (자세한 내용은 Google Cloud Speech API 참조)



What you'll do

  • API Key 생성
  • Speech API request 생성
  • Speech API request 호출


Setup and Requirements


1. 'Start Lab'을 눌러 시작하자.




2. 스터디 잼 쿠폰을 등록하였으니 'Use Subscription'으로 진행




3. 이와 같이 Username, Password, GCP Project ID가 부여 된다.

'Open Google Console'을 클릭하자.




4. 콘솔에 로그인 하는 장면이다.

'다른 계정 사용'을 클릭하여 위에서 발급 받은 Username, Password를 입력해주자.





5. 언제부터 이런 걸 읽었나 Accept




6. DONE





Activate Google Cloud Shell


1. 위 단계들을 마무리하면 아래와 같이 GCP 콘솔창이 뜬다. 역시 동의해주고 ACCEPT




2. 우상단 보면 터미널 버튼이 있다. 터미널 버튼을 눌러 Google Cloud Shell을 열어주자. 그리고, START CLOUD SHELL 




3. 다음 명령을 사용하여 계정 확인이 가능하다.


1
2
3
4
5
6
7
google2432592_student@cloudshell:~ (qwiklabs-gcp-5051dcf983a6c6a0)$ gcloud auth list
          Credentialed Accounts
ACTIVE  ACCOUNT
*       google2432592_student@qwiklabs.net
To set the active account, run:
        $ gcloud config set account `ACCOUNT`
 
cs


4. 프로젝트 계정 확인도 가능하다.

1
2
3
4
google2432592_student@cloudshell:~ (qwiklabs-gcp-5051dcf983a6c6a0)$ gcloud config list project
[core]
project = qwiklabs-gcp-5051dcf983a6c6a0
Your active configuration is: [cloudshell-6117]
cs



Create An API Key


1. Navigation menu > APIs & services > Credentials 클릭




2. Create credentials > API Key 클릭




3. Google Cloude Speech API 이용을 위한 API Key 생성 확인




4. API Key를 환경변수에 저장하자. 이후 각 요청 시 간편하게 이용 가능하다. 


1
google2432592_student@cloudshell:~ (qwiklabs-gcp-5051dcf983a6c6a0)$ export API_KEY=AIzaSyAjVg3O8yRAJ_KHJQ1Io5eqAlWM9CXbEa8
cs



Create your Speech API request


참고 : Google Cloud Storage에서 제공되는 미리 녹음 된 파일을 사용한다. gs://cloud-samples-tests/speech/brooklyn.flac.

파일은 이곳에서 직접 들을 수 있다.


1. requset.json 작성

추후에 curl을 이용하여 post 날릴 때 메시지 참고하는 용이다.


1
2
3
4
5
6
7
8
9
10
11
12
google2432592_student@cloudshell:~ (qwiklabs-gcp-5051dcf983a6c6a0)$ vim request.json
{
  "config": {
      "encoding":"FLAC",
      "sample_rate"16000,
      "language_code""en-US"
  },
  "audio": {
      "uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
  }
}
 
cs

config
    • encoding : API로 전송 될 파일의 유형
    • sample_rate : API에 보내는 오디오 데이터 비율
    • language_code : 오디오의 해당 언어. 한국어 : "ko-KR". 모든 지원 언어 리스트
audio
    • uri : 변환 할 오디오 파일 경로


Call the Speech API


1. curl을 이용하여 Speech API를 Call 해보자.


1
2
google2432592_student@cloudshell:~ (qwiklabs-gcp-5051dcf983a6c6a0)$ curl --X POST -"Content-Type: application/json" \
--data-binary @request.json "https://speech.googleapis.com/v1beta1/speech:syncrecognize?key=${API_KEY}"
cs

  • --data-binary @request.json : curl은 POST 시 데이터를 text 취급하므로 binary 데이터가 깨질 수 있다. 제대로 전송하기 위해 --data-binary 옵션을 이용한다.
  • -s : silent mode. 진행 내역이나 메시지 등을 출력하지 않는다. HTTP response code만 가져올 경우 좋다.
  • -X : 기본 값을 POST 형식으로 설정
  • -H : 특정한 HTTP Header를 설정해서 보내야 할 경우(EX: json 등) 사용한다.
  • speech:syncrecognize : 동기식으로 진행. 만약 비동기식을 원할 경우 'asyncrecognize' 사용
  • key=${API_KEY} : 앞서 발급 받았던 API Key를 환경변수에 등록했었다. 그 API Key를 사용하겠다는 뜻.
2. response가 왔다.

1
2
3
4
5
6
7
8
9
10
11
12
{
  "results": [
    {
      "alternatives": [
        {
          "transcript""how old is the Brooklyn Bridge",
          "confidence"0.98267895
        }
      ]
    }
  ]
}
cs

  • transcript : 오디오 파일 속 음성을 text화 하였다.
  • confidence : 결과에 대한 신뢰 스코어 (1==100%)



End


1. 모든 과정을 완료했다. End Lab을 눌러 완료하자.




2. 정상적으로 완료 시 아래와 같은 화면을 볼 수 있다.




진행영상




참고

[구글 머신러닝 스터디잼 가이드라인]

[curl 설치 및 사용법 - HTTP GET/POST, REST API 연계등]

[Google Cloud Speech API: Qwik Start]

Comments