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 리소스에 대한 명령 줄 액세스를 제공합니다.
-
GCP 콘솔의 오른쪽 상단 툴바에서 Open Cloud Shell 버튼을 클릭합니다.
-
계속을 클릭하십시오 .
환경을 프로비저닝하고 연결하는 데 약간의 시간이 걸립니다. 연결되면 이미 인증되었으며 프로젝트는 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