Indeks
Speech
(antar muka)RecognitionAudio
(pesan)RecognitionConfig
(pesan)RecognitionConfig.AudioEncoding
(enum)RecognizeRequest
(pesan)RecognizeResponse
(pesan)SpeakerDiarizationConfig
(pesan)SpeechRecognitionAlternative
(pesan)SpeechRecognitionResult
(pesan)StreamingRecognitionConfig
(pesan)StreamingRecognitionResult
(pesan)StreamingRecognizeRequest
(pesan)StreamingRecognizeResponse
(pesan)StreamingRecognizeResponse.SpeechEventType
(enum)WordInfo
(pesan)
Speech
Layanan yang mengimplementasikan Google Cloud Speech API.
Kenali | |
---|---|
Melakukan pengenalan ucapan sinkron: menerima hasil setelah semua audio dikirim dan diproses. |
StreamingRecognize | |
---|---|
Melakukan pengenalan ucapan streaming dua arah: menerima hasil saat mengirimkan audio. Metode ini hanya tersedia melalui gRPC API (bukan REST). |
RecognitionAudio
Berisi data audio dalam encoding yang ditentukan dalam RecognitionConfig
. content
atau uri
harus diberikan. Menyediakan keduanya atau tidak sama sekali akan menampilkan google.rpc.Code.INVALID_ARGUMENT
. Lihat batas konten.
Kolom | ||
---|---|---|
Kolom union audio_source . Sumber audio, yang berupa konten inline atau URI Google Cloud Storage. audio_source hanya ada berupa salah satu diantara berikut: |
||
content |
Byte data audio yang dienkode seperti yang ditentukan dalam |
RecognitionConfig
Memberikan informasi kepada pengenal yang menentukan cara memproses permintaan.
Kolom | |||||
---|---|---|---|---|---|
encoding |
Encoding data audio dikirim ke semua pesan |
||||
sample_rate_hertz |
Frekuensi sampel data audio dalam Hertz yang dikirim di semua pesan |
||||
audio_channel_count |
Jumlah saluran dalam data audio input. HANYA tetapkan ini untuk pengenalan MULTI-CHANNEL. Nilai yang valid untuk LINEAR16 dan FLAC adalah |
||||
enable_separate_recognition_per_channel |
Ini harus disetel ke |
||||
language_code |
Wajib. Bahasa audio yang disediakan sebagai tag bahasa BCP-47. Contoh: "en-US". Buka Dukungan Bahasa untuk melihat daftar kode bahasa yang saat ini didukung. |
||||
enable_automatic_punctuation |
Jika 'true', tambahkan tanda baca ke hipotesis hasil pengenalan. Fitur ini hanya tersedia dalam bahasa tertentu. Menyetel ini untuk permintaan dalam bahasa lain tidak berpengaruh sama sekali. Nilai 'false' (salah) default tidak menambahkan tanda baca untuk membuat hipotesis. |
||||
diarization_config |
Konfigurasi untuk mengaktifkan pemisahan pembicara dan menetapkan parameter tambahan agar diarisasi lebih sesuai untuk aplikasi Anda. Catatan: Jika fitur ini diaktifkan, kami akan mengirim semua kata dari awal audio sebagai alternatif teratas dalam setiap respons STREAMING berturut-turut. Hal ini dilakukan untuk meningkatkan kualitas tag pembicara karena model kami belajar mengidentifikasi pembicara dalam percakapan dari waktu ke waktu. Untuk permintaan non-streaming, hasil diarisasi hanya akan diberikan di alternatif teratas FINAL SpeechRecognitionResult. |
||||
model |
Model yang akan dipilih untuk permintaan tertentu. Pilih model yang paling sesuai dengan domain Anda untuk mendapatkan hasil terbaik. Jika model tidak ditentukan secara eksplisit, kita akan otomatis memilih model berdasarkan parameter di RecognitionConfig.
|
AudioEncoding
Encoding data audio yang dikirim dalam permintaan.
Semua encoding hanya mendukung audio 1 saluran (mono), kecuali jika kolom audio_channel_count
dan enable_separate_recognition_per_channel
disetel.
Untuk hasil terbaik, sumber audio harus diambil dan ditransmisikan menggunakan encoding lossless (FLAC
atau LINEAR16
). Keakuratan pengenalan ucapan dapat dikurangi jika codec lossy digunakan untuk menangkap atau mentransmisikan audio, terutama jika ada suara bising di latar belakang. Codec lossy mencakup MULAW
, AMR
, AMR_WB
, OGG_OPUS
, SPEEX_WITH_HEADER_BYTE
, dan MP3
.
Format file audio FLAC
dan WAV
menyertakan header yang menjelaskan konten audio yang disertakan. Anda dapat meminta pengenalan untuk file WAV
yang berisi audio yang dienkode ke LINEAR16
atau MULAW
. Jika Anda mengirimkan format file audio FLAC
atau WAV
dalam permintaan, Anda tidak perlu menentukan AudioEncoding
; format encoding audio ditentukan dari header file. Jika Anda menentukan AudioEncoding
saat mengirim audio FLAC
atau WAV
, konfigurasi encoding harus cocok dengan encoding yang dijelaskan di header audio; jika tidak, permintaan akan menampilkan kode error google.rpc.Code.INVALID_ARGUMENT
.
Enum | |
---|---|
ENCODING_UNSPECIFIED |
Tidak ditentukan. |
LINEAR16 |
Sampel little-endian bertanda tangan 16-bit yang tidak dikompresi (Linear PCM). |
FLAC |
FLAC (Free Lossless Audio Codec) adalah encoding yang direkomendasikan karena lossless. Oleh karena itu, pengenalan tidak terganggu--dan hanya memerlukan sekitar setengah bandwidth LINEAR16 . Encoding streaming FLAC mendukung sampel 16-bit dan 24-bit, tetapi tidak semua kolom di STREAMINFO didukung. |
MULAW |
Sampel 8-bit yang menggabungkan sampel audio 14-bit menggunakan G.711 PCMU/mu-law. |
OGG_OPUS |
Frame audio yang dienkode Opus dalam penampung Ogg (OggOpus). sample_rate_hertz harus salah satu dari 8000, 12000, 16000, 24000, atau 48000. |
SPEEX_WITH_HEADER_BYTE |
Meskipun penggunaan encoding lossy tidak direkomendasikan, jika encoding dengan kecepatan bit yang sangat rendah diperlukan, OGG_OPUS lebih disukai daripada encoding Speex. Encoding Speex yang didukung oleh Cloud Speech API memiliki byte header di setiap blok, seperti dalam jenis MIME audio/x-speex-with-header-byte . Ini adalah varian encoding RTP Speex yang didefinisikan dalam RFC 5574. {i>Stream<i} adalah urutan blok, satu blok per paket RTP. Setiap blok dimulai dengan satu byte yang berisi panjang blok, dalam byte, diikuti oleh satu atau beberapa {i>frame<i} data Speex, ditambahkan ke sejumlah integral byte (oktet) sebagaimana ditentukan dalam RFC 5574. Dengan kata lain, setiap {i>header<i} RTP diganti dengan satu byte yang berisi panjang blok. Hanya wideband Speex yang didukung. sample_rate_hertz harus 16000. |
RecognizeRequest
Pesan tingkat atas yang dikirim oleh klien untuk metode Recognize
.
Kolom | |
---|---|
config |
Wajib. Memberikan informasi kepada pengenal yang menentukan cara memproses permintaan. |
audio |
Wajib. Data audio yang akan dikenali. |
RecognizeResponse
Satu-satunya pesan yang ditampilkan ke klien oleh metode Recognize
. Class ini berisi hasil sebagai nol atau beberapa pesan SpeechRecognitionResult
berurutan.
Kolom | |
---|---|
results[] |
Daftar hasil transkripsi berurutan yang sesuai dengan bagian audio yang berurutan. |
SpeakerDiarizationConfig
Konfigurasi untuk mengaktifkan pemisahan pembicara.
Kolom | |
---|---|
enable_speaker_diarization |
Jika 'true', akan mengaktifkan deteksi pembicara untuk setiap kata yang dikenali di alternatif atas hasil pengenalan menggunakan speaker_tag yang disediakan di WordInfo. |
min_speaker_count |
Jumlah minimum pembicara dalam percakapan. Rentang ini memberi Anda lebih banyak fleksibilitas dengan memungkinkan sistem menentukan jumlah speaker yang tepat secara otomatis. Jika tidak disetel, nilai defaultnya adalah 2. |
max_speaker_count |
Jumlah maksimum pembicara dalam percakapan. Rentang ini memberi Anda lebih banyak fleksibilitas dengan memungkinkan sistem menentukan jumlah speaker yang tepat secara otomatis. Jika tidak disetel, nilai defaultnya adalah 6. |
SpeechRecognitionAlternative
Hipotesis alternatif (alias daftar n-terbaik).
Kolom | |
---|---|
transcript |
Teks transkrip yang mewakili kata-kata yang diucapkan pengguna. |
confidence |
Estimasi keyakinan antara 0,0 dan 1,0. Angka yang lebih tinggi menunjukkan estimasi kemungkinan yang lebih besar bahwa kata yang dikenali tersebut benar. Kolom ini hanya disetel untuk alternatif teratas hasil non-streaming atau, untuk hasil streaming dengan |
words[] |
Daftar informasi khusus kata untuk setiap kata yang dikenali. Catatan: Jika |
SpeechRecognitionResult
Hasil pengenalan ucapan yang sesuai dengan sebagian audio.
Kolom | |
---|---|
alternatives[] |
Dapat berisi satu atau beberapa hipotesis pengenalan (hingga jumlah maksimum yang ditentukan dalam |
channel_tag |
Untuk audio multi-saluran, ini adalah nomor saluran yang sesuai dengan hasil yang dikenali untuk audio dari saluran tersebut. Untuk audio_channel_count = N, nilai output-nya dapat berkisar dari '1' hingga 'N'. |
language_code |
Hanya output. Tag bahasa BCP-47 dari bahasa dalam hasil ini. Kode bahasa ini terdeteksi memiliki kemungkinan yang paling besar untuk diucapkan dalam audio. |
StreamingRecognitionConfig
Memberikan informasi kepada pengenal yang menentukan cara memproses permintaan.
Kolom | |
---|---|
config |
Wajib. Memberikan informasi kepada pengenal yang menentukan cara memproses permintaan. |
StreamingRecognitionResult
Hasil pengenalan ucapan streaming yang sesuai dengan sebagian audio yang sedang diproses.
Kolom | |
---|---|
alternatives[] |
Dapat berisi satu atau beberapa hipotesis pengenalan (hingga jumlah maksimum yang ditentukan dalam |
is_final |
Jika |
stability |
Estimasi kemungkinan bahwa pengenal tidak akan mengubah tebakannya tentang hasil sementara ini. Rentang nilai dari 0.0 (benar-benar tidak stabil) hingga 1.0 (benar-benar stabil). Kolom ini hanya disediakan untuk hasil sementara ( |
result_end_time |
Offset waktu dari akhir hasil ini relatif terhadap awal audio. |
channel_tag |
Untuk audio multi-saluran, ini adalah nomor saluran yang sesuai dengan hasil yang dikenali untuk audio dari saluran tersebut. Untuk audio_channel_count = N, nilai output-nya dapat berkisar dari '1' hingga 'N'. |
language_code |
Hanya output. Tag bahasa BCP-47 dari bahasa dalam hasil ini. Kode bahasa ini terdeteksi memiliki kemungkinan yang paling besar untuk diucapkan dalam audio. |
StreamingRecognizeRequest
Pesan tingkat atas yang dikirim oleh klien untuk metode StreamingRecognize
. Beberapa pesan StreamingRecognizeRequest
dikirim. Pesan pertama harus berisi pesan streaming_config
dan tidak boleh berisi audio_content
. Semua pesan berikutnya harus berisi audio_content
dan tidak boleh berisi pesan streaming_config
.
Kolom | ||
---|---|---|
Kolom union streaming_request . Permintaan streaming, yang merupakan konfigurasi streaming atau konten audio. streaming_request hanya ada berupa salah satu diantara berikut: |
||
streaming_config |
Memberikan informasi kepada pengenal yang menentukan cara memproses permintaan. Pesan |
|
audio_content |
Data audio yang akan dikenali. Potongan data audio secara berurutan dikirim dalam pesan |
StreamingRecognizeResponse
StreamingRecognizeResponse
adalah satu-satunya pesan yang ditampilkan ke klien oleh StreamingRecognize
. Rangkaian nol atau beberapa pesan StreamingRecognizeResponse
akan di-streaming kembali ke klien. Jika tidak ada audio yang dapat dikenali, dan single_utterance
disetel ke salah (false), tidak ada pesan yang di-streaming kembali ke klien.
Berikut ini contoh serangkaian sepuluh StreamingRecognizeResponse
yang mungkin ditampilkan saat memproses audio:
results { alternatives { transcript: "tube" } stability: 0.01 }
results { alternatives { transcript: "to be a" } stability: 0.01 }
results { alternatives { transcript: "to be" } stability: 0.9 } results { alternatives { transcript: " or not to be" } stability: 0.01 }
results { alternatives { transcript: "to be or not to be" confidence: 0.92 } alternatives { transcript: "to bee or not to bee" } is_final: true }
results { alternatives { transcript: " that's" } stability: 0.01 }
results { alternatives { transcript: " that is" } stability: 0.9 } results { alternatives { transcript: " the question" } stability: 0.01 }
results { alternatives { transcript: " that is the question" confidence: 0.98 } alternatives { transcript: " that was the question" } is_final: true }
Catatan:
Hanya dua dari respons #4 dan #7 di atas yang berisi hasil akhir; yang ditunjukkan oleh
is_final: true
. Menggabungkan ini bersama-sama menghasilkan transkrip lengkap: "to be or not to be that is the question".Lainnya berisi
results
sementara. #3 dan #6 berisi duaresults
sementara: bagian pertama memiliki stabilitas tinggi dan cenderung tidak berubah; bagian kedua memiliki stabilitas rendah dan sangat mungkin berubah. Desainer UI mungkin memilih untuk hanya menampilkanresults
dengan stabilitas tinggi.Nilai
stability
danconfidence
spesifik yang ditampilkan di atas hanya untuk tujuan ilustrasi. Nilai sebenarnya dapat berbeda.Dalam setiap respons, hanya salah satu dari kolom berikut yang akan disetel:
error
,speech_event_type
, atau satu atau beberapa (berulang)results
.
Kolom | |
---|---|
error |
Jika ditetapkan, pesan |
results[] |
Daftar berulang ini berisi nol hasil atau lebih yang berkaitan dengan bagian berturut-turut dari audio yang sedang diproses. Kolom ini berisi nol atau satu hasil |
speech_event_type |
Menunjukkan jenis peristiwa ucapan. |
SpeechEventType
Menunjukkan jenis peristiwa ucapan.
Enum | |
---|---|
SPEECH_EVENT_UNSPECIFIED |
Tidak ada peristiwa ucapan yang ditentukan. |
END_OF_SINGLE_UTTERANCE |
Peristiwa ini menunjukkan bahwa server telah mendeteksi akhir ucapan ucapan pengguna dan tidak mengharapkan ucapan tambahan. Oleh karena itu, server tidak akan memproses audio tambahan (meskipun selanjutnya dapat menampilkan hasil tambahan). Klien akan berhenti mengirim data audio tambahan, menutup setengah koneksi gRPC, dan menunggu hasil tambahan hingga server menutup koneksi gRPC. Peristiwa ini hanya dikirim jika single_utterance ditetapkan ke true , dan tidak digunakan jika sebaliknya. |
WordInfo
Informasi khusus kata untuk kata yang dikenali.
Kolom | |
---|---|
start_time |
Offset waktu relatif terhadap awal audio, dan sesuai dengan awal kata yang diucapkan. Kolom ini hanya ditetapkan jika |
end_time |
Offset waktu relatif terhadap awal audio, dan sesuai dengan akhir kata yang diucapkan. Kolom ini hanya ditetapkan jika |
word |
Kata yang sesuai dengan kumpulan informasi ini. |
speaker_tag |
Hanya output. Nilai bilangan bulat yang berbeda akan ditetapkan untuk setiap speaker dalam audio. Bidang ini menentukan siapa dari pembicara tersebut yang terdeteksi telah mengucapkan kata ini. Rentang nilai mulai dari '1' hingga diarization_speaker_count. speaker_tag ditetapkan jika enable_speaker_diarization = 'true' dan hanya di alternatif teratas. |