2019년 하반기 [머신러닝 통합반] 코세라 & 퀵랩

개요

Google Cloud Speech API를 사용하면 Google 음성 인식 기술을 개발자 응용 프로그램에 쉽게 통합 할 수 있습니다. Speech API를 사용하면 서비스에서 오디오를 보내고 텍스트를받을 수 있습니다 (자세한 내용은 Google Cloud Speech API 란 무엇입니까? 참조).

당신이 할 일

  • API 키 생성

  • 음성 API 요청 만들기

  • 음성 API 요청을 호출

설정 및 요구 사항

Google Cloud Shell

Google Cloud Shell 활성화

Google Cloud Shell은 개발 도구가로드 된 가상 머신입니다. 영구적 인 5GB 홈 디렉토리를 제공하며 Google 클라우드에서 실행됩니다. Google Cloud Shell은 GCP 리소스에 대한 명령 줄 액세스를 제공합니다.

  1. GCP 콘솔의 오른쪽 상단 툴바에서 Open Cloud Shell 버튼을 클릭합니다.

  1. 계속을 클릭하십시오 . 

환경을 프로비저닝하고 연결하는 데 약간의 시간이 걸립니다. 연결되면 이미 인증되었으며 프로젝트는 PROJECT_ID 로 설정됩니다 . 예를 들면 다음과 같습니다.

gcloud 는 Google Cloud Platform 용 명령 줄 도구입니다. Cloud Shell에 사전 설치되어 제공되며 탭 완성을 지원합니다.

 

API 키 생성

curlSpeech API에 요청을 보내는 데 사용하므로 요청 URL을 전달할 API 키를 생성해야합니다.

API 키를 작성하려면 탐색 메뉴 > API 및 서비스 > 신뢰 정보를 클릭하십시오 .

그런 다음 신뢰 정보 작성을 클릭 하십시오 .

드롭 다운 메뉴에서 API 키를 선택하십시오 .

방금 생성 한 키를 복사하십시오.

이제 API 키가 있으므로 각 요청에 API 키 값을 삽입하지 않아도되도록 환경 변수로 저장합니다.

다음 단계를 수행하려면 ssh를 통해 프로비저닝 된 인스턴스에 연결하십시오. 탐색 메뉴를 열고 Compute Engine을 선택하십시오 . 다음과 같은 프로비저닝 된 Linux 인스턴스가 표시되어야합니다.

SSH 버튼을 클릭하십시오. 대화식 쉘로 이동합니다. 명령 행에 <YOUR_API_KEY>방금 복사 한 키로 다음을 입력하십시오 .

export API_KEY=<YOUR_API_KEY>

나머지 실습을 위해이 SSH 세션을 유지하십시오.

Speech API 요청 만들기

참고 : Google Cloud Storage에서 사용 가능한 사전 기록 된 파일을 사용합니다 gs://cloud-samples-tests/speech/brooklyn.flac. 당신은 음성 API로 전송하기 전에이 파일을들을 수 있습니다 여기에 .

request.jsonSSH 명령 행에서 작성하십시오 . 이를 사용하여 음성 API에 대한 요청을 작성합니다.

touch request.json

이제 열 request.json사용하여 원하는 명령 줄 편집기 ( nano, vim, emacs) 또는 gcloud. 샘플 원시 오디오 파일 request.json의 uri값을 사용 하여 파일에 다음을 추가 하십시오.

{
  "config": {
      "encoding":"FLAC",
      "languageCode": "en-US"
  },
  "audio": {
      "uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
  }
}

요청 본문에는 config및 audio객체가 있습니다.

에서 config, 당신은 어떻게 요청을 처리 할 수있는 음성 API 알려주기 :

  •  encoding매개 변수는 파일이 API로 전송되는 동안 사용중인 오디오 인코딩 유형을 API에 알려줍니다. FLAC.raw 파일의 인코딩 유형입니다 (자세한 내용은 인코딩 유형에 대한 설명서 ).

config객체에 추가 할 수있는 다른 매개 변수 encoding가 있지만 유일한 매개 변수 입니다.

에서 audio객체, 당신은 API를 클라우드 스토리지에있는 오디오 파일의 URI를 전달합니다.

이제 Speech API를 호출 할 준비가되었습니다!

Speech API 호출

다음 curl명령 을 사용하여 API 키 환경 변수와 함께 요청 본문을 Speech API로 전달합니다 (모두 하나의 명령 줄에 모두 있음).

curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \
"https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"

응답은 다음과 같아야합니다.

{
  "results": [
    {
      "alternatives": [
        {
          "transcript": "how old is the Brooklyn Bridge",
          "confidence": 0.98267895
        }
      ]
    }
  ]
}

 transcript값은 음성 파일의 오디오 파일 텍스트 녹음을 반환하며 confidenceAPI가 오디오를 정확하게 녹음했는지 확인합니다.

syncrecognize위 요청 에서 메소드 를 호출했음을 알 수 있습니다 . Speech API는 동기식 및 비동기식 음성 텍스트 변환을 모두 지원합니다. 이 예제에서는 완전한 오디오 파일을 보냈지 만 syncrecognize, 사용자가 여전히 말하고있는 동안이 방법을 사용하여 텍스트 음성을 텍스트 음성으로 스트리밍 할 수 있습니다 .

Speech API 요청을 만든 다음 Speech API를 호출했습니다. 다음 명령을 실행하여 응답을 result.json파일 에 저장 하십시오.

curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \
"https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}" > result.json

 

 

 

 

 

 

+ Recent posts