Mentranskripsikan audio

Layanan Speech-to-Text Vertex AI di Google Distributed Cloud (GDC) yang terisolasi mengenali ucapan dari file audio. Speech-to-Text mengonversi audio yang terdeteksi menjadi transkripsi teks menggunakan API terlatih.

Halaman ini menunjukkan cara mentranskripsikan file audio menjadi 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 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 akan menampilkan teks transkripsi yang dihasilkan dalam respons API.

Anda harus menyediakan 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 Speech API.

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 guna mentranskripsikan ucapan dari file audio:

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

  2. Tetapkan variabel lingkungan yang diperlukan pada skrip Python.

  3. 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.