Google Cloud Speech-to-Text gRPC API를 호출하여 오디오를 텍스트로 전사하는 형식화된 인터페이스입니다.
Google Cloud Speech-to-Text는 Google의 음성 인식 모델을 사용하여 오디오를 텍스트로 변환합니다. gRPC API는 google.cloud.speech.v1.Speech 서비스를 통해 제공되며, TLS를 통해 speech.googleapis.com:443에서 접근하고, 주요 메서드는 동기 인식을 위한 Recognize입니다.
요청은 TsgcGRPCSpeechRecognizeRequest로 작성되며, 여기서 Config는 Encoding, SampleRateHertz, LanguageCode 및 EnableAutomaticPunctuation을 설정하고, Audio.Uri는 오디오를 가리킵니다. 응답은 TsgcGRPCSpeechRecognizeResponse로 반환되며, 그 Results에는 Transcript와 Confidence를 가진 Alternatives가 포함됩니다.
아래 예제는 서비스 계정 JWT로 인증하고, Speech 호스트에 대해 TsgcHTTP2Client 위에 TsgcGRPCClient를 연결하고, authorization Bearer 메타데이터를 설정한 후, gs:// URI에 저장된 LINEAR16 16000 Hz en-US 오디오 스트림에 대해 Recognize를 호출합니다.
TsgcHTTP2Client *oHTTP2 = new TsgcHTTP2Client();
oHTTP2->Host = "speech.googleapis.com";
oHTTP2->Port = 443;
oHTTP2->TLS = true;
TsgcGRPCClient *oGRPC = new TsgcGRPCClient();
oGRPC->Client = oHTTP2;
// service-account JWT authentication
oGRPC->GoogleCloudOptions->JWT->KeyFile = "service-account.json";
oGRPC->GoogleCloudOptions->JWT->API_Endpoint = "https://speech.googleapis.com/";
oGRPC->DefaultMetadata->AddValue("authorization", "Bearer " + oGRPC->GoogleCloudOptions->JWT->Token);
// build the typed request and call the method
TsgcGRPCSpeechRecognizeRequest *oRequest = new TsgcGRPCSpeechRecognizeRequest();
oRequest->Config->Encoding = "LINEAR16";
oRequest->Config->SampleRateHertz = 16000;
oRequest->Config->LanguageCode = "en-US";
oRequest->Config->EnableAutomaticPunctuation = true;
oRequest->Audio->Uri = "gs://my-bucket/audio.wav";
TsgcGRPCResponse *oResponse = oGRPC->Call("google.cloud.speech.v1.Speech", "Recognize", oRequest->ToBytes());
ShowMessage(oResponse->DataString);
delete oRequest;
| Name | 설명 |
|---|---|
| Recognize | 동기식 음성 인식을 수행합니다: 오디오 구성과 오디오 데이터를 보내고, 신뢰도 점수와 함께 전사된 텍스트를 반환합니다. |
작동하는 샘플은 데모 폴더 Demos/21.GRPC/11.Speech_to_Text에서 제공되며, Recognize 메서드로 인증하고 오디오 파일을 전사하는 방법을 보여줍니다.