Mentranskripsikan audio

Halaman ini menunjukkan cara mentranskripsikan file audio menjadi teks menggunakan Speech-to-Text API di perangkat air-gapped Google Distributed Cloud (GDC).

Layanan Speech-to-Text Vertex AI di perangkat 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.

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. Speech-to-Text di perangkat air-gap GDC hanya mendukung model default.

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.
    • ENCODING: encoding data audio yang dikirim dalam permintaan, seperti LINEAR16.
    • RATE_HERTZ: frekuensi sampel dalam Hertz dari data audio yang dikirim dalam permintaan, seperti 16000.
    • 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.
  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.