- JSON 표현
- AudioEncoding
- SpeechAdaptation
- ABNFGrammar
- TranscriptNormalization
- Entry
- SpeechContext
- SpeakerDiarizationConfig
- RecognitionMetadata
- InteractionType
- MicrophoneDistance
- OriginalMediaType
- RecordingDeviceType
인식기에 요청 처리 방식을 지정하는 정보를 제공합니다.
| JSON 표현 |
|---|
{ "encoding": enum ( |
| 필드 | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
encoding |
모든 |
||||||||||||||||||
sampleRateHertz |
모든 |
||||||||||||||||||
audioChannelCount |
입력 오디오 데이터의 채널 수입니다. MULTI-CHANNEL 인식에만 이 값을 설정합니다. LINEAR16, OGG_OPUS, FLAC의 유효한 값은 |
||||||||||||||||||
enableSeparateRecognitionPerChannel |
각 채널을 별도로 인식하려면 이 값을 명시적으로 |
||||||||||||||||||
languageCode |
필수 항목입니다. 제공된 오디오의 언어로서 BCP-47 언어 태그입니다. 'en-US'를 예로 들 수 있습니다. 현재 지원되는 언어 코드 목록은 언어 지원을 참조하세요. |
||||||||||||||||||
alternativeLanguageCodes[] |
최대 3개의 추가 BCP-47 언어 태그 목록으로, 제공된 오디오의 가능한 대체 언어를 나열합니다. 현재 지원되는 언어 코드 목록은 언어 지원을 참조하세요. 대체 언어가 나열되면 인식 결과에 기본 languageCode를 포함하여 감지된 가장 가능성이 큰 언어 인식이 포함됩니다. 인식 결과에는 오디오에서 감지된 언어의 언어 태그가 포함됩니다. 참고: 이 기능은 음성 명령 및 음성 검색 사용 사례에만 지원되며 다른 사용 사례(예: 전화 통화 텍스트 변환)에서는 성능이 다를 수 있습니다. |
||||||||||||||||||
maxAlternatives |
반환되는 인식 가설의 최대 수입니다. 구체적으로 각 |
||||||||||||||||||
profanityFilter |
|
||||||||||||||||||
adaptation |
음성 적응 구성은 음성 인식의 정확도를 향상시킵니다. 자세한 내용은 음성 적응 문서를 참고하세요. 음성 적응이 설정되면 |
||||||||||||||||||
transcriptNormalization |
(선택사항) 스크립트 작성 정규화를 사용하여 스크립트의 일부를 선택한 구문으로 자동으로 바꿉니다. StreamingRecognize의 경우 이 정규화는 안정적인 부분 스크립트(안정성 > 0.8)와 최종 스크립트에만 적용됩니다. |
||||||||||||||||||
speechContexts[] |
|
||||||||||||||||||
enableWordTimeOffsets |
|
||||||||||||||||||
enableWordConfidence |
|
||||||||||||||||||
enableAutomaticPunctuation |
'true'인 경우 인식 결과 가설에 구두점이 추가됩니다. 이 기능은 특정 언어에서만 사용할 수 있습니다. 다른 언어에서는 요청에 이 값을 설정해도 효과가 없습니다. 기본값인 'false' 값은 결과 가설에 구두점을 추가하지 않습니다. |
||||||||||||||||||
enableSpokenPunctuation |
호출의 음성 구두점 동작입니다. 설정되지 않은 경우 선택한 모델에 따라 기본 동작을 사용합니다. 예를 들어 command_and_search는 기본적으로 음성 구두점을 사용 설정합니다. 'true'인 경우 요청에서 음성 구두점을 해당 기호로 바꿉니다. 예를 들어 '안녕하세요 물음표'는 '안녕하세요?'로 바뀝니다. 지원이 필요하면 https://cloud.google.com/speech-to-text/docs/spoken-punctuation를 참고하세요. 'false'인 경우 음성 구두점이 대체되지 않습니다. |
||||||||||||||||||
enableSpokenEmojis |
호출의 음성 이모티콘 동작입니다. 설정되지 않은 경우 선택한 모델에 따라 기본 동작이 사용됩니다. 'true'인 경우 요청에 음성 이모티콘 형식이 추가됩니다. 최종 스크립트에서는 음성 이모티콘이 해당 유니코드 기호로 바뀝니다. 'false'인 경우 말로 표현된 그림 이모티콘이 대체되지 않습니다. |
||||||||||||||||||
enableSpeakerDiarization |
'true'인 경우 WordInfo에 제공된 speakerLabel을 사용하여 인식 결과의 상위 대체 항목에 있는 인식된 각 단어에 대해 화자 감지를 사용 설정합니다. 참고: 대신 diarizationConfig를 사용하세요. |
||||||||||||||||||
diarizationSpeakerCount |
설정된 경우 대화의 예상 화자 수를 지정합니다. 기본값은 '2'입니다. enableSpeakerDiarization이 true로 설정되지 않으면 무시됩니다. 참고: 대신 diarizationConfig를 사용하세요. |
||||||||||||||||||
diarizationConfig |
애플리케이션에 더 적합하게 분할하기 위해 화자 분할을 사용 설정하고 추가 파라미터를 설정하는 구성입니다. 참고: 이 구성이 사용 설정되면 모든 연속 스트리밍 응답에서 최상위 대안의 오디오 시작부터 모든 단어를 전송합니다. 그 이유는 시간이 지남에 따라 모델이 대화에서 화자를 구별하는 방법을 학습하므로 화자 태그를 개선하기 위함입니다. 스트리밍이 아닌 요청의 경우 최종 SpeechRecognitionResult의 최상위 대안에만 분할 결과가 제공됩니다. |
||||||||||||||||||
metadata |
이 요청에 관한 메타데이터입니다. |
||||||||||||||||||
model |
특정 요청에 선택할 수 있는 모델입니다. 최상의 결과를 얻으려면 도메인에 가장 적합한 모델을 선택합니다. 모델을 명시적으로 지정하지 않으면 RecognitionConfig의 매개변수를 기반으로 모델을 자동 선택합니다.
|
||||||||||||||||||
useEnhanced |
음성 인식에 고급 모델을 사용하려면 true로 설정합니다.
|
||||||||||||||||||
AudioEncoding
요청에서 전송한 오디오 데이터의 인코딩입니다.
audioChannelCount 및 enableSeparateRecognitionPerChannel 필드가 설정되지 않은 경우 모든 인코딩은 단일 채널 (모노) 오디오만 지원합니다.
최상의 결과를 얻으려면 오디오 소스를 무손실 인코딩(FLAC 또는 LINEAR16)으로 캡처하고 전송해야 합니다. 특히 주변 소음이 있는 경우 손실 코덱을 사용하여 오디오를 캡처하거나 전송하는 경우 음성 인식의 정확도가 떨어질 수 있습니다. 손실 코덱에는 MULAW, AMR, AMR_WB, OGG_OPUS, SPEEX_WITH_HEADER_BYTE, MP3, WEBM_OPUS 등이 있습니다.
FLAC 및 WAV 오디오 파일 형식에는 포함된 오디오 콘텐츠를 설명하는 헤더가 포함됩니다. LINEAR16 또는 MULAW 인코딩 오디오가 포함된 WAV 파일에 대한 인식을 요청할 수 있습니다. 요청에 FLAC 또는 WAV 오디오 파일 형식을 전송하는 경우 AudioEncoding를 지정할 필요가 없습니다. 오디오 인코딩 형식은 파일 헤더에서 결정됩니다. FLAC 또는 WAV 오디오를 보낼 때 AudioEncoding을 지정하는 경우 인코딩 구성은 오디오 헤더에 설명된 인코딩과 일치해야 합니다. 그렇지 않으면 요청은 google.rpc.Code.INVALID_ARGUMENT 오류 코드를 반환합니다.
| 열거형 | |
|---|---|
ENCODING_UNSPECIFIED |
지정되지 않음 |
LINEAR16 |
압축되지 않은 16비트 부호 Little Endian 샘플(리니어 PCM)입니다. |
FLAC |
FLAC(무료 무손실 오디오 코덱)은 손실이 발생하지 않아 인식 성능이 저하되지 않고 필요한 대역폭이 LINEAR16의 약 절반에 불과하므로 이 인코딩이 권장됩니다. FLAC 스트림 인코딩은 16비트와 24비트 샘플을 지원하지만 STREAMINFO의 모든 필드가 지원되지는 않습니다. |
MULAW |
G.711 PCMU/mu-law를 사용하여 14비트 오디오 샘플을 압축하는 8비트 샘플입니다. |
AMR |
적응형 다중 속도 협대역 코덱입니다. sampleRateHertz는 8,000이어야 합니다. |
AMR_WB |
적응형 다중 속도 광대역 코덱입니다. sampleRateHertz는 16,000이어야 합니다. |
OGG_OPUS |
Ogg 컨테이너의 Opus 인코딩 오디오 프레임(OggOpus)입니다. sampleRateHertz는 8,000, 12,000, 16,000, 24,000, 48,000 중 하나여야 합니다. |
SPEEX_WITH_HEADER_BYTE |
손실이 발생한 인코딩을 사용하지 않는 것이 좋습니다만, 매우 낮은 비트 전송률 인코딩이 필요한 경우 Speex 인코딩보다 OGG_OPUS를 사용하는 것이 좋습니다. Cloud Speech API에서 지원하는 Speex 인코딩에는 MIME 유형 audio/x-speex-with-header-byte의 경우와 같이 각 블록에 헤더 바이트가 있습니다. 이는 RFC 5574에 정의된 RTP Speex 인코딩의 변이입니다. 스트림은 RTP 패킷당 하나의 블록으로 연속된 블록입니다. 각 블록은 블록 길이가 바이트 단위로 포함된 바이트로 시작되며 RFC 5574에 지정된 정수 바이트 수(옥텟)로 패딩된 하나 이상의 Speex 데이터 프레임이 뒤따릅니다. 즉, 각 RTP 헤더는 블록 길이를 포함하는 단일 바이트로 바뀝니다. Speex 광대역만 지원되며, sampleRateHertz는 16,000이어야 합니다. |
MP3 |
MP3 오디오. MP3 인코딩은 베타 기능이며 v1p1beta1에서만 사용할 수 있습니다. 32~320kbps 범위의 모든 표준 MP3 비트 전송률을 지원합니다. 이 인코딩을 사용할 때 sampleRateHertz는 사용 중인 파일의 샘플링 레이트와 일치해야 합니다. |
WEBM_OPUS |
WebM 컨테이너의 Opus 인코딩 오디오 프레임입니다 (WebM). sampleRateHertz는 8000, 12000, 16000, 24000, 48000 중 하나여야 합니다. |
ALAW |
G.711 PCMU/a-law를 사용하여 13비트 오디오 샘플을 압축하는 8비트 샘플입니다. |
SpeechAdaptation
음성 적응 구성입니다.
| JSON 표현 |
|---|
{ "phraseSets": [ { object ( |
| 필드 | |
|---|---|
phraseSets[] |
구문 세트의 모음입니다. 힌트를 인라인으로 지정하려면 문구 세트의 |
phraseSetReferences[] |
사용할 구문 세트 리소스 이름의 컬렉션입니다. |
customClasses[] |
맞춤 클래스의 컬렉션입니다. 클래스를 인라인으로 지정하려면 클래스의 |
abnfGrammar |
증강된 Backus-Naur 형식 (ABNF)은 일련의 파생 규칙으로 구성된 표준화된 문법 표기법입니다. 사양은 https://www.w3.org/TR/speech-grammar를 참고하세요. |
ABNFGrammar
| JSON 표현 |
|---|
{ "abnfStrings": [ string ] } |
| 필드 | |
|---|---|
abnfStrings[] |
연결되는 여러 문자열로 분할된 ABNF 문법의 모든 선언과 규칙입니다. |
TranscriptNormalization
스크립트 작성 정규화 구성입니다. 스크립트 작성 정규화를 사용하여 스크립트의 일부를 선택한 구문으로 자동으로 바꿉니다. StreamingRecognize의 경우 이 정규화는 안정적인 부분 스크립트(안정성 > 0.8)와 최종 스크립트에만 적용됩니다.
| JSON 표현 |
|---|
{
"entries": [
{
object ( |
| 필드 | |
|---|---|
entries[] |
대체 항목 목록입니다. 한 번에 하나의 항목으로 교체됩니다. 예를 들어 ["cat" => "dog", "mountain cat" => "mountain dog"] 의 두 번째 항목은 항상 첫 번째 항목이 먼저 처리되기 때문에 적용되지 않습니다. 최대 100개 항목. |
항목
단일 대체 구성.
| JSON 표현 |
|---|
{ "search": string, "replace": string, "caseSensitive": boolean } |
| 필드 | |
|---|---|
search |
교체할 대상. 최대 길이는 100자(영문 기준)입니다. |
replace |
무엇으로 바꿀지. 최대 길이는 100자(영문 기준)입니다. |
caseSensitive |
검색 시 대소문자를 구분하는지 여부입니다. |
SpeechContext
결과에서 특정 단어나 구문을 우선시하도록 음성 인식기에 '힌트'를 제공합니다.
| JSON 표현 |
|---|
{ "phrases": [ string ], "boost": number } |
| 필드 | |
|---|---|
phrases[] |
음성 인식에서 인식할 수 있도록 단어 및 구문 '힌트'가 포함된 문자열 목록입니다. 예를 들어 사용자가 특정 명령을 자주 사용하는 경우 해당 단어와 구문의 정확성을 높이는 데 사용할 수 있습니다. 인식기의 어휘에 단어를 추가하는 데 사용할 수도 있습니다. 사용량 한도를 참조하세요. 목록 항목은 자연어에서 발생하는 일반적인 개념을 나타내는 단어 그룹의 클래스로 설정할 수도 있습니다. 예를 들어 연중 각 월에 대한 구문 힌트를 제공하는 대신 $MONTH 클래스를 사용하면 월이 포함된 오디오를 올바르게 변환할 가능성이 높아집니다. |
boost |
힌트 부스트. 양수 값을 사용하면 특정 구문이 발음이 유사한 다른 구문보다 인식될 가능성이 높아집니다. 부스트가 높을수록 거짓양성을 인식할 가능성도 높아집니다. 음수 부스트 값은 편향 방지에 해당합니다. 편향 방지가 사용 설정되어 있지 않으므로 음수 부스트는 무시됩니다. |
SpeakerDiarizationConfig
화자 분할을 사용 설정하는 구성입니다.
| JSON 표현 |
|---|
{ "enableSpeakerDiarization": boolean, "minSpeakerCount": integer, "maxSpeakerCount": integer, "speakerTag": integer } |
| 필드 | |
|---|---|
enableSpeakerDiarization |
'true'인 경우 WordInfo에 제공된 speakerLabel을 사용하여 인식 결과의 상위 대체 항목에 있는 인식된 각 단어에 대해 화자 감지를 사용 설정합니다. |
minSpeakerCount |
대화의 최소 화자 수입니다. 범위를 지정하면 시스템에서 올바른 화자 수를 자동으로 확인할 수 있어 유연성이 늘어납니다. 설정하지 않으면 기본값은 2입니다. |
maxSpeakerCount |
대화의 최대 화자 수입니다. 범위를 지정하면 시스템에서 올바른 화자 수를 자동으로 확인할 수 있어 유연성이 늘어납니다. 설정하지 않으면 기본값은 6입니다. |
speakerTag |
출력 전용입니다. 사용되지 않습니다. |
RecognitionMetadata
인식할 오디오 데이터에 대한 설명입니다.
| JSON 표현 |
|---|
{ "interactionType": enum ( |
| 필드 | |
|---|---|
interactionType |
인식할 오디오 콘텐츠를 가장 잘 설명하는 사용 사례입니다. |
industryNaicsCodeOfAudio |
이 음성 인식 요청이 가장 잘 적용되는 업종 카테고리입니다. 오디오에 포함된 주제를 가장 잘 나타냅니다. 6자리 NAICS 코드를 사용하여 업종 카테고리를 식별합니다. https://www.naics.com/search/를 참조하세요. |
microphoneDistance |
인식되는 오디오를 가장 잘 설명하는 오디오 유형입니다. |
originalMediaType |
음성이 녹음된 원본 미디어입니다. |
recordingDeviceType |
음성을 녹음한 기기의 유형입니다. |
recordingDeviceName |
녹음에 사용된 기기입니다. 'Nexus 5X', 'Polycom SoundStation IP 6000', 'POTS', 'VoIP', 'Cardioid Microphone' 등을 예로 들 수 있습니다. |
originalMimeType |
원본 오디오 파일의 Mime 유형입니다. 예를 들면 |
obfuscatedId |
서비스를 사용하는 고유 사용자의 번호를 식별하는 난독화(개인정보 보호)된 사용자 ID입니다. |
audioTopic |
콘텐츠에 대한 설명입니다. 예: '2012년 연방 대법원 청문회 녹음 파일' |
InteractionType
오디오 인식 요청을 설명할 수 있는 사용 사례 카테고리입니다.
| 열거형 | |
|---|---|
INTERACTION_TYPE_UNSPECIFIED |
사용 사례를 알 수 없거나 아래의 다른 값 중 어느 것에도 해당하지 않습니다. |
DISCUSSION |
여러 사람이 대화 또는 토론에 참여하고 있습니다. 한 예로 두 명 이상이 적극적으로 참여하고 있는 회의를 들 수 있습니다. 일반적으로 말하는 모든 주요 화자가 같은 장소에 있을 것입니다. 그렇지 않은 경우 PHONE_CALL을 참조하세요. |
PRESENTATION |
한 명 이상의 사람이 다른 사람들에게 강의 또는 발표를 하며, 다른 사람이 거의 끼어들지 않습니다. |
PHONE_CALL |
같은 장소에 있지 않은 두 명 이상의 사람들이 전화 통화 또는 화상회의에 참석하여 말하고 있습니다. |
VOICEMAIL |
다른 사람에게 들려주고자 녹음된 메시지입니다. |
PROFESSIONALLY_PRODUCED |
전문적으로 제작된 오디오입니다(예: TV 프로그램, 팟캐스트). |
VOICE_SEARCH |
음성 질문 및 쿼리를 텍스트로 변환합니다. |
VOICE_COMMAND |
기기 제어와 같은 음성 명령을 텍스트로 변환합니다. |
DICTATION |
음성을 텍스트로 변환하여 SMS, 이메일, 보고서 등의 문서를 만듭니다. |
MicrophoneDistance
오디오 파일을 설명하는 녹음 설정 유형을 열거합니다.
| 열거형 | |
|---|---|
MICROPHONE_DISTANCE_UNSPECIFIED |
오디오 유형을 알 수 없습니다. |
NEARFIELD |
가까운 위치의 마이크에서 녹음된 오디오입니다. 전화, 딕터폰, 휴대용 마이크 등을 예로 들 수 있습니다. 일반적으로 화자가 마이크에서 1미터 이내에 있는 경우입니다. |
MIDFIELD |
화자가 마이크에서 3미터 이내에 있는 경우입니다. |
FARFIELD |
화자가 마이크에서 3미터 이상 떨어져 있는 경우입니다. |
OriginalMediaType
음성이 녹음된 원본 미디어입니다.
| 열거형 | |
|---|---|
ORIGINAL_MEDIA_TYPE_UNSPECIFIED |
알 수 없는 원본 미디어 유형입니다. |
AUDIO |
오디오 녹음 음성 데이터입니다. |
VIDEO |
원래 동영상에 녹음된 음성 데이터입니다. |
RecordingDeviceType
음성을 녹음한 기기의 유형입니다.
| 열거형 | |
|---|---|
RECORDING_DEVICE_TYPE_UNSPECIFIED |
녹음 기기를 알 수 없습니다. |
SMARTPHONE |
음성이 스마트폰에서 녹음되었습니다. |
PC |
음성이 개인용 컴퓨터 또는 태블릿을 사용하여 녹음되었습니다. |
PHONE_LINE |
음성이 유선 전화를 통해 녹음되었습니다. |
VEHICLE |
음성이 차량에서 녹음되었습니다. |
OTHER_OUTDOOR_DEVICE |
음성이 실외에서 녹음되었습니다. |
OTHER_INDOOR_DEVICE |
음성이 실내에서 녹음되었습니다. |