Rilevamento automatico della lingua

Questa pagina descrive come configurare un riconoscitore per riconoscere automaticamente la lingua parlata in un file audio da un elenco preimpostato di potenziali lingue.

In alcune situazioni, non sai con certezza quale lingua contengono le tue registrazioni audio. Ad esempio, se pubblichi il tuo servizio, la tua app o il tuo prodotto in un paese con più lingue ufficiali, puoi potenzialmente ricevere input audio dagli utenti in una varietà di lingue. Questo può rendere molto più difficile specificare un singolo codice lingua per le richieste di trascrizione.

Riconoscimento di più lingue

Cloud Speech-to-Text ti consente di specificare un insieme di lingue che potrebbero essere contenute nei tuoi dati audio. Quando crei un Recognizer o invii una richiesta di riconoscimento, puoi fornire una o più lingue che i dati audio potrebbero includere nel campo language_codes. In una richiesta con più lingue, Cloud Speech-to-Text tenta di trascrivere l'audio utilizzando la lingua più adatta dall'elenco di alternative che hai fornito. Cloud Speech-to-Text etichetta quindi i risultati della trascrizione con il codice lingua previsto.

Questa funzionalità è ideale per le app che devono trascrivere brevi dichiarazioni come comandi vocali o ricerche. Puoi elencare fino a tre lingue per il riconoscimento automatico della lingua.

Prima di iniziare

  1. Accedi al tuo Google Cloud account. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Speech-to-Text APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Make sure that you have the following role or roles on the project: Cloud Speech Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. In the New principals field, enter your user identifier. This is typically the email address for a Google Account.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. Click Save.
  6. Installa Google Cloud CLI.

  7. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  8. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  9. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  10. Verify that billing is enabled for your Google Cloud project.

  11. Enable the Speech-to-Text APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  12. Make sure that you have the following role or roles on the project: Cloud Speech Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. In the New principals field, enter your user identifier. This is typically the email address for a Google Account.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. Click Save.
  13. Installa Google Cloud CLI.

  14. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  15. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  16. Le librerie client possono utilizzare Credenziali predefinite dell'applicazione per autenticarsi facilmente con le API di Google e inviare richieste a queste API. Con Credenziali predefinite dell'applicazione, puoi testare la tua applicazione localmente ed eseguirne il deployment senza modificare il codice sottostante. Per ulteriori informazioni, vedi Autenticazione per l'utilizzo delle librerie client.

  17. Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:

    gcloud auth application-default login

    Non devi eseguire questa operazione se utilizzi Cloud Shell.

    Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.

Assicurati inoltre di aver installato la libreria client.

Attivare il riconoscimento della lingua nelle richieste di trascrizione audio

Ecco un esempio di esecuzione del riconoscimento vocale sincrono su un file audio locale con più lingue.

Python

import os

from typing import List

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

PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")


def transcribe_multiple_languages_v2(
    audio_file: str,
    language_codes: List[str],
) -> cloud_speech.RecognizeResponse:
    """Transcribe an audio file using Google Cloud Speech-to-Text API with support for multiple languages.
    Args:
        audio_file (str): Path to the local audio file to be transcribed.
            Example: "resources/audio.wav"
        language_codes (List[str]): A list of BCP-47 language codes to be used for transcription.
            Example: ["en-US", "fr-FR"]
    Returns:
        cloud_speech.RecognizeResponse: The response from the Speech-to-Text API containing the
            transcription results.
    """
    client = SpeechClient()

    # 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=language_codes,
        model="latest_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)
    # Prints the transcription results
    for result in response.results:
        print(f"Transcript: {result.alternatives[0].transcript}")

    return response

Libera spazio

Per evitare che al tuo Google Cloud account vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

  1. (Facoltativo) Revoca le credenziali di autenticazione che hai creato ed elimina il file delle credenziali locali

    gcloud auth application-default revoke
  2. (Facoltativo) Revoca le credenziali da gcloud CLI.

    gcloud auth revoke

Console

  • Nella Google Cloud console, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  • Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  • Nella finestra di dialogo, digita l'ID progetto e fai clic su Chiudi per eliminare il progetto.
  • gcloud

    Elimina un Google Cloud progetto:

    gcloud projects delete PROJECT_ID

    Passaggi successivi