Melakukan migrasi dari Speech-to-Text v1 ke v2

Speech-to-Text API v2 menghadirkan desain Google Cloud API terbaru bagi pelanggan untuk memenuhi persyaratan peraturan dan keamanan perusahaan secara langsung.

Persyaratan ini diwujudkan melalui hal berikut:

  • Residensi Data: Speech-to-Text v2 menawarkan berbagai model transkripsi yang sudah ada di regionGoogle Cloud seperti Belgia atau Singapura. Hal ini memungkinkan pemanggilan model transkripsi kami melalui layanan yang sepenuhnya regional.

  • Recognizer Resourcefulness: Pengenal adalah konfigurasi pengenalan yang dapat digunakan kembali dan dapat berisi kombinasi model, bahasa, dan fitur. Dengan implementasi yang praktis ini, akun layanan khusus tidak diperlukan lagi untuk autentikasi dan otorisasi.

  • Logging: Pembuatan resource dan transkripsi menghasilkan log yang tersedia di konsol Google Cloud, sehingga telemetri dan proses debug dapat berjalan lebih baik.

  • Enkripsi: Speech-to-Text v2 mendukung Kunci enkripsi yang dikelola pelanggan untuk semua resource serta transkripsi batch.

  • Deteksi Otomatis Audio: Speech-to-Text v2 dapat secara otomatis mendeteksi frekuensi sampel, jumlah channel, dan format file audio Anda, tanpa memerlukan untuk memberikan informasi tersebut dalam konfigurasi permintaan.

Bermigrasi dari v1 ke v2

Migrasi dari API v1 ke API v2 tidak terjadi secara otomatis. Perubahan implementasi minimal diperlukan untuk memanfaatkan set fitur.

Bermigrasi di API

Serupa dengan Speech-to-Text v1, untuk mentranskripsikan audio, Anda harus membuat RecognitionConfig dengan memilih bahasa audio dan model pengenalan pilihan Anda:

Python

import os

from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")


def quickstart_v2(audio_file: str) -> cloud_speech.RecognizeResponse:
    """Transcribe an audio file.
    Args:
        audio_file (str): Path to the local audio file to be transcribed.
    Returns:
        cloud_speech.RecognizeResponse: The response from the recognize request, containing
        the transcription results
    """
    # Reads a file as bytes
    with open(audio_file, "rb") as f:
        audio_content = f.read()

    # Instantiates a client
    client = SpeechClient()

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

    request = cloud_speech.RecognizeRequest(
        recognizer=f"projects/{PROJECT_ID}/locations/global/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

Jika diperlukan, pilih region tempat Anda ingin menggunakan Speech-to-Text API, dan periksa ketersediaan bahasa dan model di region tersebut:

Python

import os

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

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")


def change_speech_v2_location(
    audio_file: str, location: str
) -> cloud_speech.RecognizeResponse:
    """Transcribe an audio file in a specific region. It allows for specifying the location
        to potentially reduce latency and meet data residency requirements.
    Args:
        audio_file (str): Path to the local audio file to be transcribed.
        location (str): The region where the Speech API will be accessed.
            E.g., "europe-west3"
    Returns:
        cloud_speech.RecognizeResponse: The full response object which includes the transcription results.
    """
    # Reads a file as bytes
    with open(audio_file, "rb") as f:
        audio_content = f.read()

    # Instantiates a client to a regionalized Speech endpoint.
    client = SpeechClient(
        client_options=ClientOptions(
            api_endpoint=f"{location}-speech.googleapis.com",
        )
    )

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

    request = cloud_speech.RecognizeRequest(
        recognizer=f"projects/{PROJECT_ID}/locations/{location}/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

Secara opsional, buat resource pengenal jika Anda perlu menggunakan kembali konfigurasi pengenalan tertentu di banyak permintaan transkripsi:

Python

import os

from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")


def create_recognizer(recognizer_id: str) -> cloud_speech.Recognizer:
    """Сreates a recognizer with an unique ID and default recognition configuration.
    Args:
        recognizer_id (str): The unique identifier for the recognizer to be created.
    Returns:
        cloud_speech.Recognizer: The created recognizer object with configuration.
    """
    # Instantiates a client
    client = SpeechClient()

    request = cloud_speech.CreateRecognizerRequest(
        parent=f"projects/{PROJECT_ID}/locations/global",
        recognizer_id=recognizer_id,
        recognizer=cloud_speech.Recognizer(
            default_recognition_config=cloud_speech.RecognitionConfig(
                language_codes=["en-US"], model="long"
            ),
        ),
    )
    # Sends the request to create a recognizer and waits for the operation to complete
    operation = client.create_recognizer(request=request)
    recognizer = operation.result()

    print("Created Recognizer:", recognizer.name)
    return recognizer

Ada perbedaan lain dalam permintaan dan respons di API v2 yang baru. Untuk detail selengkapnya, lihat dokumentasi referensi .

Bermigrasi di UI

Untuk bermigrasi melalui konsol Google Cloud Speech, ikuti langkah-langkah berikut:

  1. Buka konsol Google Cloud Speech.

  2. Buka Halaman Transkripsi.

  3. Klik Transkripsi Baru, lalu pilih audio Anda di tab Konfigurasi audio.

  4. Di tab Opsi transkripsi, pilih V2.