Mentranskripsikan audio

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:

  1. Instal library klien Speech-to-Text versi terbaru.

  2. Tetapkan variabel lingkungan yang diperlukan pada skrip Python.

  3. Lakukan autentikasi permintaan API Anda.

  4. 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 dengan ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv. Untuk mengetahui informasi selengkapnya, lihat RecognitionAudio.
    • ENCODING: encoding data audio yang dikirim dalam permintaan, seperti LINEAR16. Untuk mengetahui informasi selengkapnya, lihat AudioEncoding.
    • RATE_HERTZ: frekuensi sampel dalam Hertz dari data audio yang dikirim dalam permintaan, seperti 16000. Untuk mengetahui informasi selengkapnya, lihat RecognitionConfig.
    • 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, seperti 1. Untuk mengetahui informasi selengkapnya, lihat RecognitionConfig.
  5. Simpan skrip Python.

  6. 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:

  1. Instal library klien Speech-to-Text versi terbaru.

  2. Tetapkan variabel lingkungan yang diperlukan pada skrip Python.

  3. Lakukan autentikasi permintaan API Anda.

  4. 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 dengan ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv. Untuk mengetahui informasi selengkapnya, lihat RecognitionAudio.
    • ENCODING: encoding data audio yang dikirim dalam permintaan, seperti LINEAR16. Untuk mengetahui informasi selengkapnya, lihat AudioEncoding.
    • RATE_HERTZ: frekuensi sampel dalam Hertz dari data audio yang dikirim dalam permintaan, seperti 16000. Untuk mengetahui informasi selengkapnya, lihat RecognitionConfig.
    • CHANNEL_COUNT: jumlah saluran dalam data audio input, seperti 1. Untuk mengetahui informasi selengkapnya, lihat RecognitionConfig.
    • 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.
  5. Simpan skrip Python.

  6. Jalankan skrip Python untuk mentranskripsikan audio:

    python SCRIPT_NAME
    

    Ganti SCRIPT_NAME dengan nama yang Anda berikan ke skrip Python, misalnya, speech.py.