Method: speech.recognize

Melakukan pengenalan ucapan sinkron: menerima hasil setelah semua audio dikirim dan diproses.

Permintaan HTTP

POST https://speech.googleapis.com/v1p1beta1/speech:recognize

URL menggunakan sintaks gRPC Transcoding.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "config": {
    object (RecognitionConfig)
  },
  "audio": {
    object (RecognitionAudio)
  }
}
Kolom
config

object (RecognitionConfig)

Wajib. Memberikan informasi ke pengenal yang menentukan cara memproses permintaan.

audio

object (RecognitionAudio)

Wajib. Data audio yang akan dikenali.

Isi respons

Satu-satunya pesan yang ditampilkan ke klien oleh metode speech.recognize. Objek ini berisi hasil sebagai nol atau beberapa pesan SpeechRecognitionResult berurutan.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "results": [
    {
      object (SpeechRecognitionResult)
    }
  ],
  "totalBilledTime": string,
  "speechAdaptationInfo": {
    object (SpeechAdaptationInfo)
  },
  "requestId": string,
  "usingLegacyModels": boolean
}
Kolom
results[]

object (SpeechRecognitionResult)

Daftar hasil transkripsi berurutan yang sesuai dengan bagian audio berurutan.

totalBilledTime

string (Duration format)

Jika tersedia, detik audio yang ditagih untuk permintaan yang sesuai.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

speechAdaptationInfo

object (SpeechAdaptationInfo)

Memberikan informasi tentang perilaku adaptasi dalam respons

requestId

string (int64 format)

ID yang terkait dengan permintaan. Ini adalah ID unik yang khusus untuk permintaan tertentu.

usingLegacyModels

boolean

Apakah permintaan menggunakan model ASR lama (tidak otomatis dimigrasikan untuk menggunakan model conformer).

Cakupan otorisasi

Memerlukan cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.

SpeechRecognitionResult

Hasil pengenalan ucapan yang sesuai dengan sebagian audio.

Representasi JSON
{
  "alternatives": [
    {
      object (SpeechRecognitionAlternative)
    }
  ],
  "channelTag": integer,
  "resultEndTime": string,
  "languageCode": string
}
Kolom
alternatives[]

object (SpeechRecognitionAlternative)

Dapat berisi satu atau beberapa hipotesis pengenalan (hingga maksimum yang ditentukan dalam maxAlternatives). Alternatif ini diurutkan berdasarkan akurasi, dengan alternatif teratas (pertama) adalah yang paling mungkin, sebagaimana diberi peringkat oleh pengenal.

channelTag

integer

Untuk audio multi-saluran, ini adalah nomor saluran yang sesuai dengan hasil yang dikenali untuk audio dari saluran tersebut. Untuk audioChannelCount = N, nilai outputnya dapat berkisar dari '1' hingga 'N'.

resultEndTime

string (Duration format)

Selisih waktu akhir hasil ini relatif terhadap awal audio.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

languageCode

string

Hanya output. Tag bahasa BCP-47 dari bahasa dalam hasil ini. Kode bahasa ini terdeteksi sebagai bahasa yang paling mungkin digunakan dalam audio.

SpeechRecognitionAlternative

Hipotesis alternatif (alias daftar n-terbaik).

Representasi JSON
{
  "transcript": string,
  "confidence": number,
  "words": [
    {
      object (WordInfo)
    }
  ]
}
Kolom
transcript

string

Teks transkrip yang mewakili kata-kata yang diucapkan pengguna. Dalam bahasa yang menggunakan spasi untuk memisahkan kata, transkrip mungkin memiliki spasi di awal jika bukan hasil pertama. Anda dapat menggabungkan setiap hasil untuk mendapatkan transkrip lengkap tanpa menggunakan pemisah.

confidence

number

Perkiraan keyakinan antara 0,0 dan 1,0. Angka yang lebih tinggi menunjukkan estimasi kemungkinan yang lebih besar bahwa kata yang dikenali sudah benar. Kolom ini hanya ditetapkan untuk alternatif teratas dari hasil non-streaming atau hasil streaming dengan isFinal=true. Akurasi kolom ini tidak dijamin dan pengguna tidak boleh mengandalkannya untuk selalu disediakan. Nilai default 0,0 adalah nilai sentinel yang menunjukkan bahwa confidence tidak ditetapkan.

words[]

object (WordInfo)

Daftar informasi khusus kata untuk setiap kata yang dikenali. Catatan: Jika enableSpeakerDiarization benar, Anda akan melihat semua kata dari awal audio.

WordInfo

Informasi khusus kata untuk kata yang dikenali.

Representasi JSON
{
  "startTime": string,
  "endTime": string,
  "word": string,
  "confidence": number,
  "speakerTag": integer,
  "speakerLabel": string
}
Kolom
startTime

string (Duration format)

Selisih waktu relatif terhadap awal audio, dan sesuai dengan awal kata yang diucapkan. Kolom ini hanya ditetapkan jika enableWordTimeOffsets=true dan hanya dalam hipotesis teratas. Ini adalah fitur eksperimental dan akurasi selisih waktu dapat bervariasi.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

endTime

string (Duration format)

Selisih waktu relatif terhadap awal audio, dan sesuai dengan akhir kata yang diucapkan. Kolom ini hanya ditetapkan jika enableWordTimeOffsets=true dan hanya dalam hipotesis teratas. Ini adalah fitur eksperimental dan akurasi selisih waktu dapat bervariasi.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

word

string

Kata yang sesuai dengan kumpulan informasi ini.

confidence

number

Perkiraan keyakinan antara 0,0 dan 1,0. Angka yang lebih tinggi menunjukkan estimasi kemungkinan yang lebih besar bahwa kata yang dikenali sudah benar. Kolom ini hanya ditetapkan untuk alternatif teratas dari hasil non-streaming atau hasil streaming dengan isFinal=true. Akurasi kolom ini tidak dijamin dan pengguna tidak boleh mengandalkannya untuk selalu disediakan. Nilai default 0,0 adalah nilai sentinel yang menunjukkan bahwa confidence tidak ditetapkan.

speakerTag
(deprecated)

integer

Hanya output. Nilai bilangan bulat yang berbeda ditetapkan untuk setiap pembicara dalam audio. Kolom ini menentukan salah satu pembicara yang terdeteksi mengucapkan kata ini. Rentang nilai dari '1' hingga diarizationSpeakerCount. speakerTag ditetapkan jika enableSpeakerDiarization = 'true' dan hanya untuk alternatif teratas. Catatan: Gunakan speakerLabel sebagai gantinya.

speakerLabel

string

Hanya output. Nilai label yang ditetapkan untuk setiap penutur unik dalam audio. Kolom ini menentukan speaker mana yang terdeteksi telah mengucapkan kata ini. Untuk beberapa model, seperti medical_conversation, ini dapat berupa peran penutur yang sebenarnya, misalnya "pasien" atau "penyedia", tetapi umumnya ini adalah angka yang mengidentifikasi penutur. Kolom ini hanya ditetapkan jika enableSpeakerDiarization = 'true' dan hanya untuk alternatif teratas.

SpeechAdaptationInfo

Informasi tentang penggunaan adaptasi ucapan dalam hasil

Representasi JSON
{
  "adaptationTimeout": boolean,
  "timeoutMessage": string
}
Kolom
adaptationTimeout

boolean

Apakah terjadi waktu tunggu saat menerapkan adaptasi ucapan. Jika benar (true), adaptasi tidak berpengaruh pada transkrip respons.

timeoutMessage

string

Jika ditetapkan, menampilkan pesan yang menentukan bagian permintaan adaptasi ucapan yang waktunya habis.