Layanan Speech-to-Text Vertex AI di Google Distributed Cloud (GDC) yang terisolasi dari internet mengenali ucapan dari file audio. Speech-to-Text mengonversi audio yang terdeteksi menjadi transkripsi teks menggunakan API yang telah dilatih sebelumnya.
Speech-to-Text menyertakan Chirp, model canggih untuk ucapan yang dilatih dengan data audio berdurasi jutaan jam dan miliaran kalimat teks. Model ini berbeda dengan teknik pengenalan ucapan konvensional karena berfokus pada sejumlah besar data yang diawasi untuk bahasa tertentu. Teknik ini memberi pengguna pengenalan dan transkripsi yang lebih baik untuk aksen dan bahasa yang diucapkan.
Halaman ini menunjukkan cara mentranskripsikan file audio ke dalam teks menggunakan Speech-to-Text API di Distributed Cloud.
Sebelum memulai
Sebelum dapat mulai menggunakan Speech-to-Text API, Anda harus memiliki project dengan Speech-to-Text API yang diaktifkan dan memiliki kredensial yang sesuai. Anda juga dapat menginstal library klien untuk membantu Anda melakukan panggilan ke API. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan project pengenalan ucapan.
Mentranskripsikan audio dengan model default
Speech-to-Text melakukan pengenalan ucapan. Anda mengirim file audio yang ingin Anda kenali ucapannya secara langsung sebagai konten dalam permintaan API. Sistem menampilkan teks yang ditranskripsikan dalam respons API.
Anda harus memberikan objek konfigurasi RecognitionConfig
saat membuat permintaan pengenalan ucapan. Objek ini memberi tahu API cara memproses data audio Anda
dan jenis output yang Anda harapkan. Jika model tidak ditentukan secara eksplisit dalam
objek konfigurasi ini, Speech-to-Text akan memilih model default.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi API Speech
.
Contoh berikut mentranskripsikan ucapan dari file audio menggunakan model Speech-to-Text default:
Python
Ikuti langkah-langkah berikut untuk menggunakan layanan Speech-to-Text dari skrip Python untuk mentranskripsikan ucapan dari file audio:
Tetapkan variabel lingkungan yang diperlukan pada skrip Python.
Tambahkan kode berikut ke skrip Python yang Anda buat:
import base64 from google.cloud import speech_v1p1beta1 import google.auth from google.auth.transport import requests from google.api_core.client_options import ClientOptions audience="https://ENDPOINT:443" api_endpoint="ENDPOINT:443" def get_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return speech_v1p1beta1.SpeechClient(credentials=creds, client_options=opts) def main(): creds = None try: creds, project_id = google.auth.default() creds = creds.with_gdch_audience(audience) req = requests.Request() creds.refresh(req) print("Got token: ") print(creds.token) except Exception as e: print("Caught exception" + str(e)) raise e return creds def speech_func(creds): tc = get_client(creds) content="BASE64_ENCODED_AUDIO" audio = speech_v1p1beta1.RecognitionAudio() audio.content = base64.standard_b64decode(content) config = speech_v1p1beta1.RecognitionConfig() config.encoding= speech_v1p1beta1.RecognitionConfig.AudioEncoding.ENCODING config.sample_rate_hertz=RATE_HERTZ config.language_code="LANGUAGE_CODE" config.audio_channel_count=CHANNEL_COUNT metadata = [("x-goog-user-project", "projects/PROJECT_ID")] resp = tc.recognize(config=config, audio=audio, metadata=metadata) print(resp) if __name__=="__main__": creds = main() speech_func(creds)
Ganti kode berikut:
ENDPOINT
: endpoint Speech-to-Text yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan.PROJECT_ID
: project ID Anda.BASE64_ENCODED_AUDIO
: byte data audio yang dienkode dalam representasi Base64. String ini dimulai dengan karakter yang terlihat mirip denganZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv
. Untuk mengetahui informasi selengkapnya, lihatRecognitionAudio
.ENCODING
: encoding data audio yang dikirim dalam permintaan, sepertiLINEAR16
. Untuk mengetahui informasi selengkapnya, lihatAudioEncoding
.RATE_HERTZ
: frekuensi sampel dalam Hertz dari data audio yang dikirim dalam permintaan, seperti16000
. Untuk mengetahui informasi selengkapnya, lihatRecognitionConfig
.LANGUAGE_CODE
: bahasa audio yang diberikan sebagai tag bahasa BCP-47. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.CHANNEL_COUNT
: jumlah saluran dalam data audio input, seperti1
. Untuk mengetahui informasi selengkapnya, lihatRecognitionConfig
.
Simpan skrip Python.
Jalankan skrip Python untuk mentranskripsikan audio:
python SCRIPT_NAME
Ganti
SCRIPT_NAME
dengan nama yang Anda berikan ke skrip Python, misalnya,speech.py
.
Transkripsikan audio dengan Chirp
Serupa dengan model default Speech-to-Text, Anda
harus memberikan objek konfigurasi RecognitionConfig
saat membuat permintaan
pengenalan ucapan. Untuk menggunakan Chirp,
Anda harus menentukan model ini secara eksplisit dalam objek konfigurasi ini dengan menetapkan
nilai chirp
di kolom model
.
Contoh berikut mentranskripsikan ucapan dari file audio menggunakan model Chirp:
Python
Ikuti langkah-langkah berikut untuk menggunakan Chirp dari skrip Python guna mentranskripsikan ucapan dari file audio:
Tetapkan variabel lingkungan yang diperlukan pada skrip Python.
Tambahkan kode berikut ke skrip Python yang Anda buat:
import base64 # Import the client library. from google.cloud import speech_v1p1beta1 from google.cloud.speech_v1p1beta1.services.speech import client from google.api_core.client_options import ClientOptions api_endpoint="ENDPOINT:443" def get_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return client.SpeechClient(credentials=creds, client_options=opts) # Specify the audio to transcribe. tc = get_client(creds) content = "BASE64_ENCODED_AUDIO" audio = speech_v1p1beta1.RecognitionAudio() audio.content = base64.standard_b64decode(content) config = speech_v1p1beta1.RecognitionConfig( encoding=speech_v1p1beta1.RecognitionConfig.AudioEncoding.ENCODING, sample_rate_hertz=RATE_HERTZ, audio_channel_count=CHANNEL_COUNT, language_code="LANGUAGE_CODE", model="chirp" ) # Detect speech in the audio file. metadata = (("x-goog-user-project", "projects/PROJECT_ID"),) response = tc.recognize(config=config, audio=audio, metadata=metadata) for result in response.results: print("Transcript: {}".format(result.alternatives[0].transcript))
Ganti kode berikut:
ENDPOINT
: endpoint Speech-to-Text yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan.BASE64_ENCODED_AUDIO
: byte data audio yang dienkode dalam representasi Base64. String ini dimulai dengan karakter yang terlihat mirip denganZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv
. Untuk mengetahui informasi selengkapnya, lihatRecognitionAudio
.ENCODING
: encoding data audio yang dikirim dalam permintaan, sepertiLINEAR16
. Untuk mengetahui informasi selengkapnya, lihatAudioEncoding
.RATE_HERTZ
: frekuensi sampel dalam Hertz dari data audio yang dikirim dalam permintaan, seperti16000
. Untuk mengetahui informasi selengkapnya, lihatRecognitionConfig
.CHANNEL_COUNT
: jumlah saluran dalam data audio input, seperti1
. Untuk mengetahui informasi selengkapnya, lihatRecognitionConfig
.LANGUAGE_CODE
: bahasa audio yang diberikan sebagai tag bahasa BCP-47. Lihat daftar bahasa yang didukung dan kode bahasanya masing-masing.PROJECT_ID
: project ID Anda.
Simpan skrip Python.
Jalankan skrip Python untuk mentranskripsikan audio:
python SCRIPT_NAME
Ganti
SCRIPT_NAME
dengan nama yang Anda berikan ke skrip Python, misalnya,speech.py
.