Transkripsi Chirp 3: Akurasi multibahasa yang ditingkatkan

Chirp 3 adalah model generatif khusus Pengenalan Ucapan Otomatis (ASR) multilingual generasi terbaru dari Google, yang dirancang untuk memenuhi kebutuhan pengguna berdasarkan masukan dan pengalaman. Chirp 3 memberikan akurasi dan kecepatan yang lebih baik dibandingkan model Chirp sebelumnya serta menyediakan diarisasi dan deteksi bahasa otomatis.

Detail model

Chirp 3: Transkripsi, hanya tersedia dalam Speech-to-Text API V2.

ID model

Anda dapat menggunakan Chirp 3: Transkripsi seperti model lainnya dengan menentukan ID model yang sesuai dalam permintaan pengenalan saat menggunakan API atau nama model saat berada di konsol Google Cloud . Tentukan ID yang sesuai dalam pengenalan Anda.

Model Pengenal model
Chirp 3 chirp_3

Metode API

Tidak semua metode pengenalan mendukung set ketersediaan bahasa yang sama. Karena Chirp 3 tersedia di Speech-to-Text API V2, Chirp 3 mendukung metode pengenalan berikut:

Versi API Metode API Dukungan
V2 Speech.StreamingRecognize (cocok untuk streaming dan audio real-time) Didukung
V2 Speech.Recognize (cocok untuk audio yang berdurasi kurang dari satu menit) Didukung
V2 Speech.BatchRecognize (cocok untuk audio berdurasi panjang 1 menit hingga 1 jam) Didukung

Ketersediaan regional

Chirp 3 tersedia di Google Cloud wilayah berikut, dan akan segera hadir di wilayah lainnya:

Google Cloud Zona Kesiapan Peluncuran
us(multi-region) GA
eu(multi-region) GA
asia-southeast1 GA
asia-northeast1 GA

Dengan menggunakan API lokasi seperti yang dijelaskan di sini, Anda dapat menemukan daftar terbaru Google Cloud wilayah, bahasa, dan lokalitas, serta fitur yang didukung untuk setiap model transkripsi.

Ketersediaan bahasa untuk transkripsi

Chirp 3 mendukung transkripsi dalam StreamingRecognize, Recognize, dan BatchRecognize dalam bahasa berikut:

Bahasa BCP-47 Code Kesiapan Peluncuran
Katala (Spanyol)ca-ESGA
China (Aksara Sederhana, China)cmn-Hans-CNGA
Kroasia (Kroasia)hr-HRGA
Denmark (Denmark)da-DKGA
Belanda (Belanda)nl-NLGA
Inggris (Australia)en-AUGA
Inggris (Inggris Raya)en-GBGA
Inggris (India)en-INGA
Inggris (Amerika Serikat)en-USGA
Finlandia (Finlandia)fi-FIGA
Prancis (Kanada)fr-CAGA
Prancis (Prancis)fr-FRGA
Jerman (Jerman)de-DEGA
Yunani (Yunani)el-GRGA
Hindi (India)hi-INGA
Italia (Italia)it-ITGA
Jepang (Jepang)ja-JPGA
Korea (Korea)ko-KRGA
Polandia (Polandia)pl-PLGA
Portugis (Brasil)pt-BRGA
Portugis (Portugal)pt-PTGA
Rumania (Rumania)ro-ROGA
Rusia (Rusia)ru-RUGA
Spanyol (Spanyol)es-ESGA
Spanyol (Amerika Serikat)es-USGA
Swedia (Swedia)sv-SEGA
Turki (Turki)tr-TRGA
Ukraina (Ukraina)uk-UAGA
Vietnam (Vietnam)vi-VNGA
Arabar-XAPratinjau
Arab (Aljazair)ar-DZPratinjau
Arab (Bahrain)ar-BHPratinjau
Arab (Mesir)ar-EGPratinjau
Arab (Israel)ar-ILPratinjau
Arab (Yordania)ar-JOPratinjau
Arab (Kuwait)ar-KWPratinjau
Arab (Lebanon)ar-LBPratinjau
Arab (Mauritania)ar-MRPratinjau
Arab (Maroko)ar-MAPratinjau
Arab (Oman)ar-OMPratinjau
Arab (Qatar)ar-QAPratinjau
Arab (Arab Saudi)ar-SAPratinjau
Arab (Palestina)ar-PSPratinjau
Arab (Suriah)ar-SYPratinjau
Arab (Tunisia)ar-TNPratinjau
Arab (Uni Emirat Arab)ar-AEPratinjau
Arab (Yaman)ar-YEPratinjau
Armenia (Armenia)hy-AMPratinjau
Bengali (Bangladesh)bn-BDPratinjau
Bengali (India)bn-INPratinjau
Bulgaria (Bulgaria)bg-BGPratinjau
Burma (Myanmar)my-MMPratinjau
Kurdi Tengah (Irak)ar-IQPratinjau
China, Kanton (Hong Kong Tradisional)yue-Hant-HKPratinjau
China, Mandarin (Tradisional, Taiwan)cmn-Hant-TWPratinjau
Ceko (Republik Ceko)cs-CZPratinjau
Inggris (Filipina)en-PHPratinjau
Esti (Estonia)et-EEPratinjau
Filipino (Filipina)fil-PHPratinjau
Gujarati (India)gu-INPratinjau
Ibrani (Israel)iw-ILPratinjau
Magyar (Hungaria)hu-HUPratinjau
Indonesia (Indonesia)id-IDPratinjau
Kannada (India)kn-INPratinjau
Khmer (Kamboja)km-KHPratinjau
Lao (Laos)lo-LAPratinjau
Latvia (Latvia)lv-LVPratinjau
Lituania (Lituania)lt-LTPratinjau
Melayu (Malaysia)ms-MYPratinjau
Malayalam (India)ml-INPratinjau
Marathi (India)mr-INPratinjau
Nepali (Nepal)ne-NPPratinjau
Norwegia (Norwegia)no-NOPratinjau
Farsi (Iran)fa-IRPratinjau
Serbia (Serbia)sr-RSPratinjau
Slovak (Slovakia)sk-SKPratinjau
Slovenia (Slovenia)sl-SIPratinjau
Spanyol (Meksiko)es-MXPratinjau
SwahiliswPratinjau
Tamil (India)ta-INPratinjau
Telugu (India)te-INPratinjau
Thai (Thailand)th-THPratinjau
Uzbek (Uzbekistan)uz-UZPratinjau

Ketersediaan bahasa untuk pemisahan pembicara

Chirp 3 mendukung transkripsi dan diarisasi hanya dalam BatchRecognize dan Recognize dalam bahasa berikut:

Bahasa Kode BCP-47
China (Aksara Sederhana, China) cmn-Hans-CN
Jerman (Jerman) de-DE
Inggris (Inggris Raya) en-GB
Inggris (India) en-IN
Inggris (Amerika Serikat) en-US
Spanyol (Spanyol) es-ES
Spanyol (Amerika Serikat) es-US
Prancis (Kanada) fr-CA
Prancis (Prancis) fr-FR
Hindi (India) hi-IN
Italia (Italia) it-IT
Jepang (Jepang) ja-JP
Korea (Korea) ko-KR
Portugis (Brasil) pt-BR

Dukungan dan batasan fitur

Chirp 3 mendukung fitur berikut:

Fitur Deskripsi Tahap peluncuran
Tanda baca otomatis Dibuat secara otomatis oleh model dan dapat dinonaktifkan secara opsional. GA
Kapitalisasi otomatis Dibuat secara otomatis oleh model dan dapat dinonaktifkan secara opsional. GA
Stempel Waktu Tingkat Ucapan Dibuat secara otomatis oleh model. GA
Diarisasi Speaker Otomatis mengidentifikasi pembicara yang berbeda dalam sampel audio satu saluran. Hanya tersedia di BatchRecognize GA
Adaptasi ucapan (Penyesuaian) Memberikan petunjuk kepada model dalam bentuk frasa atau kata untuk meningkatkan akurasi pengenalan istilah atau nama diri tertentu. GA
Transkripsi audio yang tidak bergantung pada bahasa Secara otomatis menyimpulkan dan mentranskripsikan dalam bahasa yang paling umum digunakan. GA

Chirp 3 tidak mendukung fitur berikut:

Fitur Deskripsi
Stempel Waktu Tingkat Kata Dibuat secara otomatis oleh model dan dapat diaktifkan secara opsional, yang menyebabkan penurunan kualitas transkripsi.
Skor keyakinan tingkat kata API menampilkan nilai, tetapi bukan sepenuhnya skor keyakinan.

Mentranskripsikan menggunakan Chirp 3

Cari tahu cara menggunakan Chirp 3 untuk tugas transkripsi.

Menjalankan pengenalan ucapan streaming

Python

import os

from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech
from google.api_core.client_options import ClientOptions

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
REGION = "us"

def transcribe_streaming_chirp3(
   audio_file: str
) -> cloud_speech.StreamingRecognizeResponse:
   """Transcribes audio from audio file stream using the Chirp 3 model of Google Cloud Speech-to-Text v2 API.

   Args:
       audio_file (str): Path to the local audio file to be transcribed.
           Example: "resources/audio.wav"

   Returns:
       cloud_speech.RecognizeResponse: The response from the Speech-to-Text API V2 containing
       the transcription results.
   """

   # Instantiates a client
   client = SpeechClient(
       client_options=ClientOptions(
           api_endpoint=f"{REGION}-speech.googleapis.com",
       )
   )

   # Reads a file as bytes
   with open(audio_file, "rb") as f:
       content = f.read()

   # In practice, stream should be a generator yielding chunks of audio data
   chunk_length = len(content) // 5
   stream = [
       content[start : start + chunk_length]
       for start in range(0, len(content), chunk_length)
   ]
   audio_requests = (
       cloud_speech.StreamingRecognizeRequest(audio=audio) for audio in stream
   )

   recognition_config = cloud_speech.RecognitionConfig(
       auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
       language_codes=["en-US"],
       model="chirp_3",
   )
   streaming_config = cloud_speech.StreamingRecognitionConfig(
       config=recognition_config
   )
   config_request = cloud_speech.StreamingRecognizeRequest(
       recognizer=f"projects/{PROJECT_ID}/locations/{REGION}/recognizers/_",
       streaming_config=streaming_config,
   )

   def requests(config: cloud_speech.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 responses

Melakukan pengenalan ucapan sinkron

Python

import os

from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech
from google.api_core.client_options import ClientOptions

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
REGION = "us"

def transcribe_sync_chirp3(
   audio_file: str
) -> cloud_speech.RecognizeResponse:
   """Transcribes an audio file using the Chirp 3 model of Google Cloud Speech-to-Text V2 API.
   Args:
       audio_file (str): Path to the local audio file to be transcribed.
           Example: "resources/audio.wav"
   Returns:
       cloud_speech.RecognizeResponse: The response from the Speech-to-Text API containing
       the transcription results.
   """

   # Instantiates a client
   client = SpeechClient(
       client_options=ClientOptions(
           api_endpoint=f"{REGION}-speech.googleapis.com",
       )
   )

   # Reads a file as bytes
   with open(audio_file, "rb") as f:
       audio_content = f.read()

   config = cloud_speech.RecognitionConfig(
       auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
       language_codes=["en-US"],
       model="chirp_3",
   )

   request = cloud_speech.RecognizeRequest(
       recognizer=f"projects/{PROJECT_ID}/locations/{REGION}/recognizers/_",
       config=config,
       content=audio_content,
   )

   # Transcribes the audio into text
   response = client.recognize(request=request)

   for result in response.results:
       print(f"Transcript: {result.alternatives[0].transcript}")

   return response

Menjalankan pengenalan ucapan batch

Python

import os

from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech
from google.api_core.client_options import ClientOptions

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
REGION = "us"

def transcribe_batch_3(
   audio_uri: str,
) -> cloud_speech.BatchRecognizeResults:
   """Transcribes an audio file from a Google Cloud Storage URI using the Chirp 3 model of Google Cloud Speech-to-Text v2 API.
   Args:
       audio_uri (str): The Google Cloud Storage URI of the input audio file.
           E.g., gs://[BUCKET]/[FILE]
   Returns:
       cloud_speech.RecognizeResponse: The response from the Speech-to-Text API containing
       the transcription results.
   """

   # Instantiates a client
   client = SpeechClient(
       client_options=ClientOptions(
           api_endpoint=f"{REGION}-speech.googleapis.com",
       )
   )

   config = cloud_speech.RecognitionConfig(
       auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
       language_codes=["en-US"],
       model="chirp_3",
   )

   file_metadata = cloud_speech.BatchRecognizeFileMetadata(uri=audio_uri)

   request = cloud_speech.BatchRecognizeRequest(
       recognizer=f"projects/{PROJECT_ID}/locations/{REGION}/recognizers/_",
       config=config,
       files=[file_metadata],
       recognition_output_config=cloud_speech.RecognitionOutputConfig(
           inline_response_config=cloud_speech.InlineOutputConfig(),
       ),
   )

   # Transcribes the audio into text
   operation = client.batch_recognize(request=request)

   print("Waiting for operation to complete...")
   response = operation.result(timeout=120)

   for result in response.results[audio_uri].transcript.results:
       print(f"Transcript: {result.alternatives[0].transcript}")

   return response.results[audio_uri].transcript

Menggunakan Fitur Chirp 3

Pelajari cara menggunakan fitur terbaru, dengan contoh kode:

Melakukan transkripsi tanpa bahasa

Chirp 3, dapat secara otomatis mengidentifikasi dan mentranskripsikan dalam bahasa dominan yang digunakan dalam audio, yang penting untuk aplikasi multibahasa. Untuk mencapainya, tetapkan language_codes=["auto"] seperti yang ditunjukkan dalam contoh kode:

Python

import os

from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech
from google.api_core.client_options import ClientOptions

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
REGION = "us"

def transcribe_sync_chirp3_auto_detect_language(
   audio_file: str
) -> cloud_speech.RecognizeResponse:
   """Transcribes an audio file and auto-detect spoken language using Chirp 3.
   Please see https://cloud.google.com/speech-to-text/v2/docs/encoding for more
   information on which audio encodings are supported.
   Args:
       audio_file (str): Path to the local audio file to be transcribed.
           Example: "resources/audio.wav"
   Returns:
       cloud_speech.RecognizeResponse: The response from the Speech-to-Text API containing
       the transcription results.
   """
   # Instantiates a client
   client = SpeechClient(
       client_options=ClientOptions(
           api_endpoint=f"{REGION}-speech.googleapis.com",
       )
   )

   # Reads a file as bytes
   with open(audio_file, "rb") as f:
       audio_content = f.read()

   config = cloud_speech.RecognitionConfig(
       auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
       language_codes=["auto"],  # Set language code to auto to detect language.
       model="chirp_3",
   )

   request = cloud_speech.RecognizeRequest(
       recognizer=f"projects/{PROJECT_ID}/locations/{REGION}/recognizers/_",
       config=config,
       content=audio_content,
   )

   # Transcribes the audio into text
   response = client.recognize(request=request)

   for result in response.results:
       print(f"Transcript: {result.alternatives[0].transcript}")
       print(f"Detected Language: {result.language_code}")

   return response

Melakukan transkripsi yang dibatasi bahasa

Chirp 3 dapat otomatis mengidentifikasi dan mentranskripsikan bahasa dominan dalam file audio. Anda juga dapat mengondisikannya pada lokalitas tertentu yang Anda harapkan, misalnya: ["en-US", "fr-FR"], yang akan memfokuskan resource model pada bahasa yang paling mungkin untuk hasil yang lebih andal, seperti yang ditunjukkan dalam contoh kode:

Python

import os

from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech
from google.api_core.client_options import ClientOptions

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
REGION = "us"

def transcribe_sync_3_auto_detect_language(
   audio_file: str
) -> cloud_speech.RecognizeResponse:
   """Transcribes an audio file and auto-detect spoken language using Chirp 3.
   Please see https://cloud.google.com/speech-to-text/v2/docs/encoding for more
   information on which audio encodings are supported.
   Args:
       audio_file (str): Path to the local audio file to be transcribed.
           Example: "resources/audio.wav"
   Returns:
       cloud_speech.RecognizeResponse: The response from the Speech-to-Text API containing
       the transcription results.
   """
   # Instantiates a client
   client = SpeechClient(
       client_options=ClientOptions(
           api_endpoint=f"{REGION}-speech.googleapis.com",
       )
   )

   # Reads a file as bytes
   with open(audio_file, "rb") as f:
       audio_content = f.read()

   config = cloud_speech.RecognitionConfig(
       auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
       language_codes=["en-US", "fr-FR"],  # Set language codes of the expected spoken locales
       model="chirp_3",
   )

   request = cloud_speech.RecognizeRequest(
       recognizer=f"projects/{PROJECT_ID}/locations/{REGION}/recognizers/_",
       config=config,
       content=audio_content,
   )

   # Transcribes the audio into text
   response = client.recognize(request=request)

   for result in response.results:
       print(f"Transcript: {result.alternatives[0].transcript}")
       print(f"Detected Language: {result.language_code}")

   return response

Melakukan transkripsi dan diarisasi pembicara

Gunakan Chirp 3 untuk tugas transkripsi dan diarisasi.

Python

import os

from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech
from google.api_core.client_options import ClientOptions

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
REGION = "us"

def transcribe_batch_chirp3(
   audio_uri: str,
) -> cloud_speech.BatchRecognizeResults:
   """Transcribes an audio file from a Google Cloud Storage URI using the Chirp 3 model of Google Cloud Speech-to-Text V2 API.
   Args:
       audio_uri (str): The Google Cloud Storage URI of the input
         audio file. E.g., gs://[BUCKET]/[FILE]
   Returns:
       cloud_speech.RecognizeResponse: The response from the
         Speech-to-Text API containing the transcription results.
   """

   # Instantiates a client.
   client = SpeechClient(
       client_options=ClientOptions(
           api_endpoint=f"{REGION}-speech.googleapis.com",
       )
   )

   config = cloud_speech.RecognitionConfig(
       auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
       language_codes=["en-US"],  # Use "auto" to detect language.
       model="chirp_3",
       features=cloud_speech.RecognitionFeatures(
           # Enable diarization by setting empty diarization configuration.
           diarization_config=cloud_speech.SpeakerDiarizationConfig(),
       ),
   )

   file_metadata = cloud_speech.BatchRecognizeFileMetadata(uri=audio_uri)

   request = cloud_speech.BatchRecognizeRequest(
       recognizer=f"projects/{PROJECT_ID}/locations/{REGION}/recognizers/_",
       config=config,
       files=[file_metadata],
       recognition_output_config=cloud_speech.RecognitionOutputConfig(
           inline_response_config=cloud_speech.InlineOutputConfig(),
       ),
   )

   # Creates audio transcription job.
   operation = client.batch_recognize(request=request)

   print("Waiting for transcription job to complete...")
   response = operation.result(timeout=120)

   for result in response.results[audio_uri].transcript.results:
       print(f"Transcript: {result.alternatives[0].transcript}")
       print(f"Detected Language: {result.language_code}")
       print(f"Speakers per word: {result.alternatives[0].words}")

   return response.results[audio_uri].transcript

Meningkatkan akurasi dengan adaptasi model

Chirp 3 dapat meningkatkan akurasi transkripsi untuk audio spesifik Anda menggunakan adaptasi model. Dengan begitu, Anda dapat memberikan daftar kata dan frasa tertentu, sehingga meningkatkan kemungkinan model akan mengenalinya. Fitur ini sangat berguna untuk istilah khusus domain, kata benda, atau kosakata unik.

Python

import os

from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech
from google.api_core.client_options import ClientOptions

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
REGION = "us"

def transcribe_sync_chirp3_model_adaptation(
   audio_file: str
) -> cloud_speech.RecognizeResponse:
   """Transcribes an audio file using the Chirp 3 model with adaptation, improving accuracy for specific audio characteristics or vocabulary.
   Args:
       audio_file (str): Path to the local audio file to be transcribed.
           Example: "resources/audio.wav"
   Returns:
       cloud_speech.RecognizeResponse: The response from the Speech-to-Text API containing
       the transcription results.
   """

   # Instantiates a client
   client = SpeechClient(
       client_options=ClientOptions(
           api_endpoint=f"{REGION}-speech.googleapis.com",
       )
   )

   # Reads a file as bytes
   with open(audio_file, "rb") as f:
       audio_content = f.read()

   config = cloud_speech.RecognitionConfig(
       auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
       language_codes=["en-US"],
       model="chirp_3",
       # Use model adaptation
       adaptation=cloud_speech.SpeechAdaptation(
         phrase_sets=[
             cloud_speech.SpeechAdaptation.AdaptationPhraseSet(
                 inline_phrase_set=cloud_speech.PhraseSet(phrases=[
                   {
                       "value": "alphabet",
                   },
                   {
                         "value": "cell phone service",
                   }
                 ])
             )
         ]
       )
   )

   request = cloud_speech.RecognizeRequest(
       recognizer=f"projects/{PROJECT_ID}/locations/{REGION}/recognizers/_",
       config=config,
       content=audio_content,
   )

   # Transcribes the audio into text
   response = client.recognize(request=request)

   for result in response.results:
       print(f"Transcript: {result.alternatives[0].transcript}")

   return response

Mengaktifkan penghilang kebisingan dan pemfilteran SNR

Chirp 3 dapat meningkatkan kualitas audio dengan mengurangi suara bising di latar belakang dan memfilter suara yang tidak diinginkan sebelum transkripsi. Anda dapat meningkatkan hasil dari lingkungan yang bising dengan mengaktifkan peredam bising bawaan dan pemfilteran Rasio Sinyal terhadap Derau (SNR).

Menyetel denoiser_audio=true secara efektif dapat membantu Anda mengurangi musik atau suara bising di latar belakang seperti suara hujan dan lalu lintas jalan.

Anda dapat menyetel snr_threshold=X untuk mengontrol kenyaringan minimum ucapan yang diperlukan untuk transkripsi. Hal ini membantu memfilter audio non-ucapan atau derau latar belakang, sehingga mencegah munculnya teks yang tidak diinginkan dalam hasil Anda. snr_threshold yang lebih tinggi berarti pengguna perlu berbicara lebih keras agar model dapat mentranskripsikan ucapan.

Pemfilteran SNR dapat digunakan dalam kasus penggunaan streaming real-time untuk menghindari pengiriman suara yang tidak perlu ke model untuk transkripsi. Nilai yang lebih tinggi untuk setelan ini berarti volume ucapan Anda harus lebih keras dibandingkan dengan suara latar agar dapat dikirim ke model transkripsi.

Konfigurasi snr_threshold akan berinteraksi dengan apakah denoise_audio adalah true atau false. Saat denoise_audio=true, suara bising di latar belakang dihilangkan, dan ucapan menjadi relatif lebih jelas. SNR keseluruhan audio meningkat.

Jika kasus penggunaan Anda hanya melibatkan suara pengguna tanpa ada orang lain yang berbicara, tetapkan denoise_audio=true untuk meningkatkan sensitivitas pemfilteran SNR, yang dapat memfilter derau non-ucapan. Jika kasus penggunaan Anda melibatkan orang yang berbicara di latar belakang dan Anda ingin menghindari transkripsi ucapan latar belakang, pertimbangkan untuk menyetel denoise_audio=false dan menurunkan nilai minimum SNR.

Berikut adalah nilai minimum SNR yang direkomendasikan. Nilai snr_threshold yang wajar dapat ditetapkan dari 0 - 1000. Nilai 0 berarti jangan memfilter apa pun, dan 1000 berarti memfilter semuanya. Sesuaikan nilai jika setelan yang direkomendasikan tidak berfungsi untuk Anda.

Mengurangi derau audio Nilai minimum SNR Sensitivitas ucapan
true 10,0 tinggi
true 20,0 sedang
true 40,0 rendah
true 100,0 sangat rendah
false 0,5 tinggi
false 1,0 sedang
false 2.0 rendah
false 5,0 sangat rendah

Python

 import os

 from google.cloud.speech_v2 import SpeechClient
 from google.cloud.speech_v2.types import cloud_speech
 from google.api_core.client_options import ClientOptions

 PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
 REGION = "us"

def transcribe_sync_chirp3_with_timestamps(
   audio_file: str
) -> cloud_speech.RecognizeResponse:
   """Transcribes an audio file using the Chirp 3 model of Google Cloud Speech-to-Text v2 API, which provides word-level timestamps for each transcribed word.
   Args:
       audio_file (str): Path to the local audio file to be transcribed.
           Example: "resources/audio.wav"
   Returns:
       cloud_speech.RecognizeResponse: The response from the Speech-to-Text API containing
       the transcription results.
   """

   # Instantiates a client
   client = SpeechClient(
       client_options=ClientOptions(
           api_endpoint=f"{REGION}-speech.googleapis.com",
       )
   )

   # Reads a file as bytes
   with open(audio_file, "rb") as f:
       audio_content = f.read()

   config = cloud_speech.RecognitionConfig(
       auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
       language_codes=["en-US"],
       model="chirp_3",
       denoiser_config={
           denoise_audio: True,
           # Medium snr threshold
           snr_threshold: 20.0,
       }
   )

   request = cloud_speech.RecognizeRequest(
       recognizer=f"projects/{PROJECT_ID}/locations/{REGION}/recognizers/_",
       config=config,
       content=audio_content,
   )

   # Transcribes the audio into text
   response = client.recognize(request=request)

   for result in response.results:
       print(f"Transcript: {result.alternatives[0].transcript}")

   return response

Menggunakan Chirp 3 di konsol Google Cloud

  1. Daftar untuk membuat akun Google Cloud , dan buat project.
  2. Buka Speech di konsol Google Cloud .
  3. Jika API belum diaktifkan, aktifkan API.
  4. Pastikan Anda memiliki Workspace konsol STT. Jika tidak memiliki ruang kerja, Anda harus membuat ruang kerja.

    1. Buka halaman transkripsi, lalu klik Transkripsi Baru.

    2. Buka drop-down Workspace, lalu klik New Workspace untuk membuat ruang kerja untuk transkripsi.

    3. Dari sidebar navigasi Buat workspace baru, klik Jelajahi.

    4. Klik untuk membuat bucket baru.

    5. Masukkan nama untuk bucket Anda, lalu klik Continue.

    6. Klik Buat untuk membuat bucket Cloud Storage.

    7. Setelah bucket dibuat, klik Select untuk memilih bucket yang akan digunakan.

    8. Klik Create guna menyelesaikan pembuatan ruang kerja Anda untuk konsol Speech-to-Text API V2.

  5. Lakukan transkripsi pada audio Anda yang sebenarnya.

    Screenshot halaman pembuatan transkripsi Speech-to-text, yang menampilkan pemilihan atau upload file.

    Dari halaman Transkripsi Baru, pilih file audio Anda melalui upload (Upload lokal) atau tentukan file Cloud Storage yang sudah ada (Penyimpanan Cloud).

  6. Klik Lanjutkan untuk berpindah ke Opsi transkripsi.

    1. Pilih Bahasa lisan yang akan Anda gunakan untuk pengenalan dengan Chirp dari pengenal yang dibuat sebelumnya.

    2. Di menu drop-down model, pilih chirp_3.

    3. Di menu drop-down Pengenal, pilih pengenal yang baru Anda buat.

    4. Klik Kirim untuk menjalankan permintaan pengenalan pertama Anda menggunakan chirp_3.

  7. Lihat hasil transkripsi Chirp 3 Anda.

    1. Dari halaman Transkripsi, klik nama transkripsi untuk melihat hasilnya.

    2. Di halaman Detail transkripsi, lihat hasil transkripsi dan jika perlu, putar audio di browser.

Langkah berikutnya