Bagian ini menjelaskan cara mentranskripsikan audio streaming, seperti input dari mikrofon, menjadi teks.
Pengenalan ucapan streaming memungkinkan Anda mengalirkan audio ke Cloud Speech-to-Text dan menerima hasil pengenalan ucapan streaming secara real time saat audio diproses. Lihat juga batas audio untuk permintaan pengenalan ucapan streaming. Pengenalan ucapan streaming hanya tersedia melalui gRPC.
Sebelum memulai
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Speech-to-Text APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Make sure that you have the following role or roles on the project: Cloud Speech Administrator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Buka IAM - Pilih project.
- Klik Grant access.
-
Di kolom New principals, masukkan ID pengguna Anda. Biasanya, ini adalah ID untuk pengguna dalam workforce identity pool. Untuk mengetahui detailnya, lihat Merepresentasikan pengguna workforce pool dalam kebijakan IAM, atau hubungi administrator Anda.
- Di daftar Select a role, pilih peran.
- Untuk memberikan peran tambahan, klik Add another role, lalu tambahkan setiap peran tambahan.
- Klik Save.
Install the Google Cloud CLI.
Konfigurasi gcloud CLI agar menggunakan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Login ke gcloud CLI dengan identitas gabungan Anda.
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud initLibrary klien dapat menggunakan Kredensial Default Aplikasi untuk dengan mudah melakukan autentikasi dengan Google API dan mengirim permintaan ke API tersebut. Dengan Kredensial Default Aplikasi, Anda dapat menguji aplikasi secara lokal dan men-deploy aplikasi tanpa mengubah kode yang mendasarinya. Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan library klien.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Selain itu, pastikan Anda telah menginstal library klien.
Menjalankan pengenalan ucapan streaming pada file lokal
Blok kode berikut berisi contoh cara melakukan pengenalan ucapan streaming pada file audio lokal. Ada batas 25 KB untuk audio yang dikirim dalam permintaan streaming. Batas ini berlaku baik untuk permintaan
StreamingRecognizeawal maupun ukuran setiap pesan individu dalam streaming. Jika batas ini terlampaui, error akan muncul.Python
import os from google.cloud.speech_v2 import SpeechClient from google.cloud.speech_v2.types import cloud_speech as cloud_speech_types PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT") def transcribe_streaming_v2( stream_file: str, ) -> cloud_speech_types.StreamingRecognizeResponse: """Transcribes audio from an audio file stream using Google Cloud Speech-to-Text API. Args: stream_file (str): Path to the local audio file to be transcribed. Example: "resources/audio.wav" Returns: list[cloud_speech_types.StreamingRecognizeResponse]: A list of objects. Each response includes the transcription results for the corresponding audio segment. """ # Instantiates a client client = SpeechClient() # Reads a file as bytes with open(stream_file, "rb") as f: audio_content = f.read() # In practice, stream should be a generator yielding chunks of audio data chunk_length = len(audio_content) // 5 stream = [ audio_content[start : start + chunk_length] for start in range(0, len(audio_content), chunk_length) ] audio_requests = ( cloud_speech_types.StreamingRecognizeRequest(audio=audio) for audio in stream ) recognition_config = cloud_speech_types.RecognitionConfig( auto_decoding_config=cloud_speech_types.AutoDetectDecodingConfig(), language_codes=["en-US"], model="chirp_3", ) streaming_config = cloud_speech_types.StreamingRecognitionConfig( config=recognition_config ) config_request = cloud_speech_types.StreamingRecognizeRequest( recognizer=f"projects/{PROJECT_ID}/locations/global/recognizers/_", streaming_config=streaming_config, ) def requests(config: cloud_speech_types.RecognitionConfig, audio: list) -> list: yield config yield from audio # Transcribes the audio into text responses_iterator = client.streaming_recognize( requests=requests(config_request, audio_requests) ) responses = [] for response in responses_iterator: responses.append(response) for result in response.results: print(f"Transcript: {result.alternatives[0].transcript}") return responsesMeskipun Anda dapat mengalirkan file audio lokal ke Speech-to-Text API, sebaiknya jalankan pengenalan audio sinkron.
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan di halaman ini, ikuti langkah-langkah berikut.
-
Optional: Revoke the authentication credentials that you created, and delete the local credential file.
gcloud auth application-default revoke
-
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke
Konsol
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
gcloud
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Langkah berikutnya
- Lihat dokumentasi referensi untuk pengenalan streaming.
- Pelajari cara mentranskripsikan file audio panjang.
- Pelajari cara mentranskripsikan file audio panjang.
- Untuk performa terbaik, akurasi, dan tips lainnya, lihat dokumentasi praktik terbaik.
-