명령줄을 사용하여 음성 텍스트 변환
이 페이지에서는 REST 인터페이스와 curl
명령어를 사용하여 Speech-to-Text에 음성 인식 요청을 보내는 방법을 설명합니다.
Speech-to-Text를 사용하면 Google 음성 인식 기술을 개발자 애플리케이션에 간편하게 통합할 수 있습니다. 오디오 데이터를 Speech-to-Text API로 보내면 Speech-to-Text API가 해당 오디오 파일의 텍스트 스크립트를 반환합니다. 이 서비스에 대한 자세한 내용은 Speech-to-Text 기본사항을 참조하세요.
시작하기 전에
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
-
Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.
-
API Speech-to-Text 사용 설정
-
프로젝트에 다음 역할이 있는지 확인합니다. Cloud Speech Administrator
역할 확인
-
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
IAM으로 이동 - 프로젝트를 선택합니다.
-
주 구성원 열에서 이메일 주소가 있는 행을 찾습니다.
이메일 주소가 열에 없으면 역할이 없는 것입니다.
- 이메일 주소가 있는 행에 대해 역할 열에서 역할 목록에 필요한 역할이 있는지 확인합니다.
역할 부여
-
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
IAM으로 이동 - 프로젝트를 선택합니다.
- 액세스 권한 부여를 클릭합니다.
- 새 주 구성원 필드에 이메일 주소를 입력합니다.
- 역할 선택 목록에서 역할을 선택합니다.
- 역할을 추가로 부여하려면 다른 역할 추가를 클릭하고 각 역할을 추가합니다.
- 저장을 클릭합니다.
-
- Google Cloud CLI를 설치합니다.
-
gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.
gcloud init
-
Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
-
Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.
-
API Speech-to-Text 사용 설정
-
프로젝트에 다음 역할이 있는지 확인합니다. Cloud Speech Administrator
역할 확인
-
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
IAM으로 이동 - 프로젝트를 선택합니다.
-
주 구성원 열에서 이메일 주소가 있는 행을 찾습니다.
이메일 주소가 열에 없으면 역할이 없는 것입니다.
- 이메일 주소가 있는 행에 대해 역할 열에서 역할 목록에 필요한 역할이 있는지 확인합니다.
역할 부여
-
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
IAM으로 이동 - 프로젝트를 선택합니다.
- 액세스 권한 부여를 클릭합니다.
- 새 주 구성원 필드에 이메일 주소를 입력합니다.
- 역할 선택 목록에서 역할을 선택합니다.
- 역할을 추가로 부여하려면 다른 역할 추가를 클릭하고 각 역할을 추가합니다.
- 저장을 클릭합니다.
-
- Google Cloud CLI를 설치합니다.
-
gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.
gcloud init
인증 설정
클라이언트 라이브러리는 애플리케이션 기본 사용자 인증 정보를 사용하여 간편하게 Google API를 인증하고 API에 요청을 보낼 수 있습니다. 애플리케이션 기본 사용자 인증 정보를 사용하면 애플리케이션을 로컬에서 테스트하고 기본 코드를 변경하지 않은 상태로 배포할 수 있습니다. 코드 샘플을 포함한 자세한 내용은 Google Cloud 인증 가이드를 참조하세요.
Google 계정의 인증 사용자 인증 정보를 만듭니다.
gcloud auth application-default login
인식기 만들기
인식 요청을 보내려면 먼저 인식기를 만들어야 합니다. 인식기를 만들려면 다음 명령어를 사용합니다.
PROJECT_ID
를 Google Cloud 프로젝트 ID로 바꾸고 RECOGNIZER_ID
를 인식기의 식별자로 바꿉니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{\"languageCodes\": \"en-US\", \"model\": \"latest_long\"}" \ https://speech.googleapis.com/v2/projects/PROJECT_ID/locations/global/recognizers?recognizer_id=RECOGNIZER_ID
오디오 텍스트 변환 요청하기
이제 Speech-to-Text를 사용하여 오디오 파일을 텍스트로 변환할 수 있습니다. 다음 코드 샘플을 사용하여 Speech-to-Text API에 recognize
REST 요청을 보냅니다.
-
다음 텍스트를 사용하여 JSON 요청 파일을 만들고
sync-request.json
이라는 일반 텍스트 파일로 저장합니다./full/path/to/audio/file.wav
를 텍스트 변환을 수행할 오디오 파일의 경로로 바꿉니다.{ \"config\": { \"auto_decoding_config": {} }, \"content\": \"$(base64 -w 0 /full/path/to/audio/file.wav | sed 's/+/-/g; s/\//_/g')\" }
-
curl
을 사용하여speech:recognize
요청을 실행합니다. 이때 1단계에서 설정한 JSON 요청의 파일 이름을 전달합니다.curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ https://speech.googleapis.com/v2/projects/PROJECT_ID/locations/global/recognizers/RECOGNIZER_ID:recognize \ -d @sync-request.json
curl
에 파일 이름을 전달하려면-d
옵션('데이터'용)을 사용하고 파일 이름 앞에@
기호를 붙입니다. 이 파일은curl
명령어를 실행하는 디렉터리와 같은 디렉터리에 있어야 합니다.다음과 비슷한 응답이 표시됩니다.
{ "results": [ { "alternatives": [ { "transcript": "how old is the Brooklyn Bridge", "confidence": 0.98267895 } ] } ] }
수고하셨습니다. 첫 번째 요청을 Speech-to-Text에 보냈습니다.
삭제
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.
-
선택사항: 생성된 인증 사용자 인증 정보를 취소하고 로컬 사용자 인증 정보 파일을 삭제합니다.
gcloud auth application-default revoke
-
선택사항: gcloud CLI에서 사용자 인증 정보를 취소합니다.
gcloud auth revoke
콘솔
gcloud CLI
클라우드 프로젝트를 삭제합니다.
gcloud projects delete PROJECT_ID
다음 단계
- 짧은 오디오 파일의 스크립트 작성 연습
- 마이크 입력과 같은 스트리밍 오디오의 텍스트 변환 방법 알아보기
- Speech-to-Text 클라이언트 라이브러리를 사용하여 원하는 언어로 Speech-to-Text 시작
- 권장사항 문서에서 최상의 성능, 정확도, 기타 팁 참조