API를 사용하여 음성을 텍스트로 변환하기

이 페이지에서는 REST 인터페이스curl 명령어를 사용하여 Speech-to-Text에 음성 인식 요청을 보내는 방법을 설명합니다.

Speech-to-Text를 사용하면 Google 음성 인식 기술을 개발자 애플리케이션에 간편하게 통합할 수 있습니다. 오디오 데이터를 Speech-to-Text API로 보내면 Speech-to-Text API가 해당 오디오 파일의 텍스트 스크립트를 반환합니다. 이 서비스에 대한 자세한 내용은 Speech-to-Text 기본사항을 참조하세요.

시작하기 전에

Speech-to-Text API에 요청을 보내려면 먼저 다음 작업을 완료해야 합니다. 자세한 내용은 시작하기 전에 페이지를 참조하세요.

  • GCP 프로젝트에서 Speech-to-Text를 사용 설정합니다.
    1. Speech-to-Text에 결제가 사용 설정되어 있는지 확인합니다.
  • Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

    gcloud init
  • (선택사항) 오디오 데이터를 저장할 새 Google Cloud Storage 버킷을 만듭니다.

오디오 텍스트 변환 요청하기

이제 Speech-to-Text를 사용하여 오디오 파일을 텍스트로 변환할 수 있습니다. 다음 코드 샘플을 사용하여 Speech-to-Text API에 recognize REST 요청을 보냅니다.

  1. 다음 텍스트를 사용하여 JSON 요청 파일을 만들고 sync-request.json이라는 일반 텍스트 파일로 저장합니다.

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

    이 JSON 스니펫은 오디오 파일이 FLAC 인코딩 형식이고, 샘플링 레이트가 16000Hz이며, 오디오 파일이 주어진 URI의 Google Cloud Storage에 저장되어 있음을 나타냅니다. 오디오 파일은 공개적으로 액세스될 수 있으므로, 파일에 액세스하기 위해 사용자 인증 정보를 인증할 필요가 없습니다.

  2. curl을 사용하여 speech:recognize 요청을 실행합니다. 이때 1단계에서 설정한 JSON 요청의 파일 이름을 전달합니다.

    샘플 curl 명령어는 gcloud auth print-access-token 명령어를 사용하여 인증 토큰을 가져옵니다.

    curl -s -H "Content-Type: application/json" \
        -H "Authorization: Bearer "$(gcloud auth print-access-token) \
        https://speech.googleapis.com/v1/speech:recognize \
        -d @sync-request.json
      

    curl에 파일 이름을 전달하려면 -d 옵션('데이터'용)을 사용하고 파일 이름 앞에 @ 기호를 붙입니다. 이 파일은 curl 명령어를 실행하는 디렉터리와 같은 디렉터리에 있어야 합니다.

    다음과 비슷한 응답이 표시됩니다.

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

수고하셨습니다. 첫 번째 요청을 Speech-to-Text에 보냈습니다.

Speech-to-Text에서 오류 또는 빈 응답이 반환되면 문제 해결오류 완화 단계를 살펴보세요.

삭제

이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.

다음 단계