Améliorer les résultats de transcription grâce à l'adaptation de modèle

Présentation

Vous pouvez vous servir de la fonctionnalité d'adaptation de modèle pour aider Speech-to-Text à reconnaître certains mots ou expressions spécifiques plus fréquemment que d'autres options qui pourraient être suggérées. Par exemple, supposons que vos données audio incluent souvent le mot "temps". Lorsque Speech-to-Text rencontre le mot "temps", vous souhaitez qu'il le transcrive comme "temps" plus souvent que comme "tant". Dans ce cas, vous pouvez utiliser l'adaptation de modèle pour influencer Speech-to-Text afin qu'il reconnaisse le mot "temps".

L'adaptation de modèle est particulièrement utile dans les cas d'utilisation suivants :

  • Améliorer la justesse des mots et expressions qui apparaissent très souvent dans vos données audio. Par exemple, vous pouvez alerter le modèle de reconnaissance sur les commandes vocales qui sont fréquemment prononcées par vos utilisateurs.

    • Élargir le panel de mots reconnus par Speech-to-Text. Speech-to-Text comprend un vocabulaire très vaste. Toutefois, si vos données audio contiennent souvent des mots considérés rares dans le langage courant (tels que des noms propres ou spécifiques à un domaine), vous pouvez les ajouter à l'aide de l'adaptation de modèle.

    • Améliorer la justesse de la transcription vocale lorsque le contenu audio fourni comporte du bruit ou manque de clarté.

Vous pouvez éventuellement affiner la pondération du modèle de reconnaissance à l'aide de la fonctionnalité de boost de l'adaptation de modèle.

Améliorer la reconnaissance des mots et expressions

Pour augmenter la probabilité que Speech-to-Text reconnaisse le mot "temps" lors de la transcription de vos données audio, vous pouvez transmettre le mot "temps" dans le champ PhraseSet dans une ressource SpeechAdaptation.

Lorsque vous fournissez une expression composée de plusieurs mots, Speech-to-Text est plus susceptible de reconnaître ces mots dans l'ordre. L'ajout d'une expression augmente également la probabilité de reconnaissance de certaines parties de l'expression, y compris des mots individuels. Consultez la page Limites de contenu pour connaître les limites applicables au nombre et à la taille de ces expressions.

Améliorer la reconnaissance à l'aide de classes

Les classes représentent des concepts courants du langage naturel, tels que les unités monétaires et les dates. Une classe vous aide à améliorer la justesse de la transcription pour de grands groupes de mots associés à un concept commun, mais qui n'incluent pas toujours les mêmes mots ou expressions.

Supposons par exemple que vos données audio incluent des enregistrements de personnes donnant leur adresse postale. Vous pourriez disposer d'un enregistrement audio de quelqu'un disant "J'habite au 123 Grande rue, quatrième maison sur la gauche". Dans ce cas, vous souhaitez que Speech-to-Text reconnaisse la première séquence de chiffres ("123") comme une adresse plutôt que comme un ordinal ("cent vingt-troisième"). Toutefois, tout le monde ne vit pas au "123 Grande rue". Il est impossible de lister toutes les adresses postales possibles dans un objet PhraseSet. À la place, vous pouvez utiliser une classe pour indiquer qu'un numéro de rue doit être reconnu, quel que soit le numéro. Dans cet exemple, Speech-to-Text pourrait alors transcrire plus précisément des expressions telles que "123 Grande rue" et "987 Grand boulevard", car elles sont toutes deux identifiées comme des numéros d'adresse.

Jetons de classe

Pour utiliser une classe dans l'adaptation de modèle, incluez un jeton de classe dans le champ phrases d'une ressource PhraseSet. Consultez la liste des jetons de classe pris en charge pour connaître les jetons disponibles pour votre langue. Par exemple, pour améliorer la transcription des numéros d'adresses figurant dans le contenu audio source, vous devez fournir la valeur $ADDRESSNUM dans une expression contenue dans un PhraseSet..

Vous pouvez utiliser des classes en tant qu'éléments autonomes dans le tableau phrases, ou intégrer un ou plusieurs jetons de classe dans des expressions composées de plusieurs mots. Par exemple, vous pouvez indiquer un numéro d'adresse dans une expression plus longue en incluant le jeton de classe dans une chaîne : ["my address is $ADDRESSNUM"]. Toutefois, cette expression ne résout pas le problème lorsque l'audio contient une expression similaire, mais non identique, telle que "Je me trouve au 123 Grande rue". Pour faciliter la reconnaissance des expressions similaires, il est important d'inclure le jeton de classe indépendamment : ["my address is $ADDRESSNUM", "$ADDRESSNUM"]. Si vous utilisez un jeton de classe non valide ou incorrect, Speech-to-Text ignore le jeton sans déclencher d'erreur, mais utilise le reste de l'expression pour déterminer le contexte.

Classes personnalisées

Vous pouvez également créer votre propre CustomClass, à savoir une classe constituée de votre propre liste personnalisée d'éléments ou de valeurs associés. Supposons par exemple que vous souhaitez transcrire des données audio susceptibles d'inclure le nom de l'un des centaines de restaurants régionaux disponibles. Les noms des restaurants étant relativement rares, ils sont moins susceptibles d'être considérés comme la "bonne" réponse par le modèle de reconnaissance. À l'aide d'une classe personnalisée, vous pouvez augmenter la pondération du modèle de reconnaissance afin qu'il identifie correctement ces noms lorsqu'ils apparaissent dans votre contenu audio.

Pour utiliser une classe personnalisée, créez une ressource CustomClass qui inclut chaque nom de restaurant en tant que ClassItem. Les classes personnalisées fonctionnent de la même manière que les jetons de classe prédéfinis. Une expression (phrase) peut inclure à la fois des jetons de classe prédéfinis et des classes personnalisées.

Affiner les résultats de transcription à l'aide du boost

Par défaut, l'adaptation de modèle a relativement peu d'effet, en particulier pour les expressions comportant un seul mot. La fonctionnalité de amélioration de l'adaptation de modèle vous permet d'augmenter la pondération du modèle de reconnaissance en attribuant plus d'importance à certaines expressions qu'à d'autres. Nous vous recommandons d'implémenter la fonctionnalité de boost si toutes les conditions suivantes sont remplies :

  1. Vous avez déjà implémenté l'adaptation de modèle.
  2. Vous souhaitez ajuster davantage les effets de l'adaptation de modèle dans les résultats de transcription. Pour savoir si la fonctionnalité de boost est disponible pour votre langue, consultez la page Langues prises en charges.

Supposons par exemple que vous disposez d'un grand nombre d'enregistrements de personnes interrogées à propos du "coût d'un lifting du cou", dans lesquels le mot "cou" revient plus fréquemment que "coût". Dans ce cas, vous pouvez utiliser l'adaptation de modèle pour augmenter la probabilité que le modèle reconnaisse à la fois "coût" et "cou" en les ajoutant en tant que phrases dans une ressource PhraseSet. Cela indique à Speech-to-Text de reconnaître "cou" et "coût" plus souvent que "sou" par exemple.

Toutefois, étant donné que "cou" revient plus souvent que "coût", vous souhaitez que le mot "cou" soit reconnu plus fréquemment. Il est possible que vous ayez déjà transcrit votre contenu audio à l'aide de l'API Speech-to-Text et trouvé un grand nombre d'erreurs de reconnaissance du bon mot ("cou"). Dans ce cas, vous pouvez utiliser la fonctionnalité de boost pour attribuer une valeur de boost plus élevée à "cou" par rapport à "coût". Si la valeur pondérée plus élevée est attribuée à "cou", l'API Speech-to-Text sélectionne "cou" plus fréquemment que "coût". Sans valeurs de boost, le modèle de reconnaissance reconnaît "cou" et "coût" avec une probabilité égale.

Principes de base du boost

Lorsque vous utilisez la fonctionnalité de boost, vous attribuez une valeur pondérée aux éléments phrase d'une ressource PhraseSet. Speech-to-Text se réfère à cette valeur pondérée lors de la sélection d'une transcription possible pour les mots apparaissant dans vos données audio. Plus la valeur que vous définissez est élevée, plus vous augmentez la probabilité que Speech-to-Text sélectionne l'expression parmi les solutions possibles.

Si vous attribuez une valeur de boost à une expression composée de plusieurs mots, la fonctionnalité de boost ne peut être appliquée qu'à l'expression toute entière. Supposons que vous souhaitez attribuer une valeur de boost à la phrase "Mon exposition préférée au musée d'Histoire naturelle est la baleine bleue". Si vous ajoutez cette phrase à un objet phrase et que vous attribuez une valeur de boost, le modèle de reconnaissance sera plus susceptible de reconnaître cette phrase dans son intégralité, mot pour mot.

Si vous n'obtenez pas les résultats escomptés, nous vous suggérons d'ajouter tous les bigrammes (deux mots, dans l'ordre) qui constituent l'expression en tant qu'éléments phrase supplémentaires et de leur attribuer à chacun des valeurs de boost. Pour reprendre l'exemple ci-dessus, vous pourriez envisager d'ajouter d'autres bigrammes et N-grammes (plus de deux mots) tels que "mon exposition", "mon exposition préférée", "exposition préférée", "mon exposition préférée au musée d'Histoire naturelle", "musée d'Histoire naturelle" et "baleine bleue". Le modèle de reconnaissance STT est alors plus susceptible de reconnaître dans votre fichier audio les expressions associées qui contiennent des parties de l'expression d'origine dont la valeur a été boostée, mais qui ne correspondent pas pour autant à la recherche mot pour mot.

Définir des valeurs de boost

Les valeurs de boost doivent être des valeurs flottantes supérieures à 0. La limite maximale pratique pour les valeurs de boost est de 20. Pour obtenir des résultats optimaux, augmentez et diminuez vos valeurs de boost jusqu'à obtenir les résultats de transcription que vous souhaitez.

Des valeurs de boost plus élevées peuvent réduire le nombre de faux négatifs, c'est-à-dire d'énoncés prononcés dans le contenu audio mais mal reconnus par Speech-to-Text. Mais la fonctionnalité de boost peut également augmenter la probabilité de faux positifs, c'est-à-dire d'énoncés qui figurent dans la transcription alors qu'ils n'ont pas été prononcés dans le contenu audio.

Exemple de cas d'utilisation avec l'adaptation de modèle

L'exemple suivant vous accompagne tout au long du processus d'utilisation de l'adaptation de modèle pour transcrire un enregistrement audio d'une personne en train de dire "The word is fare". Dans ce cas, sans l'adaptation vocale, Speech-to-Text identifie le mot "fair". L'utilisation de l'adaptation vocale Speech-to-Text permet d'identifier le mot "fare" à la place.

Avant de commencer

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  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.

      Accéder à IAM
    2. Sélectionnez le projet.
    3. Cliquez sur  Accorder l'accès.
    4. Dans le champ Nouveaux comptes principaux, saisissez votre identifiant utilisateur. Il s'agit généralement de l'adresse e-mail d'un compte Google.

    5. Dans la liste Sélectionner un rôle, sélectionnez un rôle.
    6. Pour attribuer des rôles supplémentaires, cliquez sur  Ajouter un autre rôle et ajoutez tous les rôles supplémentaires.
    7. Cliquez sur Enregistrer.
  6. Install the Google Cloud CLI.

  7. Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  8. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    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.

      Accéder à IAM
    2. Sélectionnez le projet.
    3. Cliquez sur  Accorder l'accès.
    4. Dans le champ Nouveaux comptes principaux, saisissez votre identifiant utilisateur. Il s'agit généralement de l'adresse e-mail d'un compte Google.

    5. Dans la liste Sélectionner un rôle, sélectionnez un rôle.
    6. Pour attribuer des rôles supplémentaires, cliquez sur  Ajouter un autre rôle et ajoutez tous les rôles supplémentaires.
    7. Cliquez sur Enregistrer.
  13. Install the Google Cloud CLI.

  14. Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  15. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    gcloud init
  16. Les bibliothèques clientes peuvent utiliser les identifiants par défaut de l'application pour s'authentifier facilement auprès des API Google et envoyer des requêtes à ces API. Ces identifiants vous permettent de tester votre application localement et de la déployer sans modifier le code sous-jacent. Pour en savoir plus, consultez la section S'authentifier à l'aide des bibliothèques clientes.

  17. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

  18. Vérifiez également que vous avez installé la bibliothèque cliente.

    Améliorer la transcription à l'aide d'un PhraseSet

    1. L'exemple suivant crée un PhraseSet avec l'expression "fare" et l'ajoute en tant que inline_phrase_set dans une requête de reconnaissance :

    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 adaptation_v2_inline_phrase_set(audio_file: str) -> cloud_speech.RecognizeResponse:
        """Enhances speech recognition accuracy using an inline phrase set.
        The inline custom phrase set helps the recognizer produce more accurate transcriptions for specific terms.
        Phrases are given a boost to increase their chances of being recognized correctly.
        Args:
            audio_file (str): Path to the local audio file to be transcribed.
        Returns:
            cloud_speech.RecognizeResponse: The full response object which includes the transcription results.
        """
    
        # Instantiates a client
        client = SpeechClient()
    
        # Reads a file as bytes
        with open(audio_file, "rb") as f:
            audio_content = f.read()
    
        # Build inline phrase set to produce a more accurate transcript
        phrase_set = cloud_speech.PhraseSet(
            phrases=[{"value": "fare", "boost": 10}, {"value": "word", "boost": 20}]
        )
        adaptation = cloud_speech.SpeechAdaptation(
            phrase_sets=[
                cloud_speech.SpeechAdaptation.AdaptationPhraseSet(
                    inline_phrase_set=phrase_set
                )
            ]
        )
        config = cloud_speech.RecognitionConfig(
            auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
            adaptation=adaptation,
            language_codes=["en-US"],
            model="short",
        )
    
        # Prepare the request which includes specifying the recognizer, configuration, and the audio content
        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
    
    
    1. Cet exemple crée une ressource PhraseSet avec la même expression, puis la référence dans une requête de reconnaissance :

    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 adaptation_v2_phrase_set_reference(
        audio_file: str,
        phrase_set_id: str,
    ) -> cloud_speech.RecognizeResponse:
        """Transcribe audio files using a PhraseSet.
        Args:
            audio_file (str): Path to the local audio file to be transcribed.
            phrase_set_id (str): The unique ID of the PhraseSet to use.
        Returns:
            cloud_speech.RecognizeResponse: The full response object which includes the transcription results.
        """
    
        # Instantiates a client
        client = SpeechClient()
    
        # Reads a file as bytes
        with open(audio_file, "rb") as f:
            audio_content = f.read()
    
        # Creating operation of creating the PhraseSet on the cloud.
        operation = client.create_phrase_set(
            parent=f"projects/{PROJECT_ID}/locations/global",
            phrase_set_id=phrase_set_id,
            phrase_set=cloud_speech.PhraseSet(phrases=[{"value": "fare", "boost": 10}]),
        )
        phrase_set = operation.result()
    
        # Add a reference of the PhraseSet into the recognition request
        adaptation = cloud_speech.SpeechAdaptation(
            phrase_sets=[
                cloud_speech.SpeechAdaptation.AdaptationPhraseSet(
                    phrase_set=phrase_set.name
                )
            ]
        )
    
        # Automatically detect audio encoding. Use "short" model for short utterances.
        config = cloud_speech.RecognitionConfig(
            auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
            adaptation=adaptation,
            language_codes=["en-US"],
            model="short",
        )
        #  Prepare the request which includes specifying the recognizer, configuration, and the audio content
        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
    
    

    Améliorer les résultats de transcription à l'aide d'une CustomClass

    1. L'exemple suivant crée une CustomClass avec un élément "fare" et un nom "fare". Il référence ensuite la CustomClass dans un inline_phrase_set dans une requête de reconnaissance :

    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 adaptation_v2_inline_custom_class(
        audio_file: str,
    ) -> cloud_speech.RecognizeResponse:
        """Transcribe audio file using inline custom class.
        The inline custom class helps the recognizer produce more accurate transcriptions for specific terms.
        Args:
            audio_file (str): Path to the local audio file to be transcribed.
        Returns:
            cloud_speech.RecognizeResponse: The response object which includes the transcription results.
        """
        # Instantiates a client
        client = SpeechClient()
    
        # Reads a file as bytes
        with open(audio_file, "rb") as f:
            audio_content = f.read()
    
        # Define an inline custom class to enhance recognition accuracy with specific items like "fare" etc.
        custom_class_name = "your-class-name"
        custom_class = cloud_speech.CustomClass(
            name=custom_class_name,
            items=[{"value": "fare"}],
        )
    
        # Build inline phrase set to produce a more accurate transcript
        phrase_set = cloud_speech.PhraseSet(
            phrases=[{"value": custom_class_name, "boost": 20}]
        )
        adaptation = cloud_speech.SpeechAdaptation(
            phrase_sets=[
                cloud_speech.SpeechAdaptation.AdaptationPhraseSet(
                    inline_phrase_set=phrase_set
                )
            ],
            custom_classes=[custom_class],
        )
        config = cloud_speech.RecognitionConfig(
            auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
            adaptation=adaptation,
            language_codes=["en-US"],
            model="short",
        )
    
        # Prepare the request which includes specifying the recognizer, configuration, and the audio content
        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
    
    
    1. Cet exemple crée une ressource CustomClass avec le même élément. Il crée ensuite une ressource PhraseSet avec une expression faisant référence au nom de la ressource CustomClass. Il fait ensuite référence à la ressource PhraseSet dans une requête de reconnaissance :

    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 adaptation_v2_custom_class_reference(
        audio_file: str, phrase_set_id: str, custom_class_id: str
    ) -> cloud_speech.RecognizeResponse:
        """Transcribe audio file using a custom class.
        Args:
            audio_file (str): Path to the local audio file to be transcribed.
            phrase_set_id (str): The unique ID of the phrase set to use.
            custom_class_id (str): The unique ID of the custom class to use.
        Returns:
            cloud_speech.RecognizeResponse: The full response object which includes the transcription results.
        """
        # Instantiates a speech client
        client = SpeechClient()
    
        # Reads a file as bytes
        with open(audio_file, "rb") as f:
            audio_content = f.read()
    
        # Create a custom class to improve recognition accuracy for specific terms
        custom_class = cloud_speech.CustomClass(items=[{"value": "fare"}])
        operation = client.create_custom_class(
            parent=f"projects/{PROJECT_ID}/locations/global",
            custom_class_id=custom_class_id,
            custom_class=custom_class,
        )
        custom_class = operation.result()
    
        # Create a persistent PhraseSet to reference in a recognition request
        created_phrase_set = cloud_speech.PhraseSet(
            phrases=[
                {
                    "value": f"${{{custom_class.name}}}",
                    "boost": 20,
                },  # Using custom class reference
            ]
        )
        operation = client.create_phrase_set(
            parent=f"projects/{PROJECT_ID}/locations/global",
            phrase_set_id=phrase_set_id,
            phrase_set=created_phrase_set,
        )
        phrase_set = operation.result()
    
        # Add a reference of the PhraseSet into the recognition request
        adaptation = cloud_speech.SpeechAdaptation(
            phrase_sets=[
                cloud_speech.SpeechAdaptation.AdaptationPhraseSet(
                    phrase_set=phrase_set.name
                )
            ]
        )
        # Automatically detect the audio's encoding with short audio model
        config = cloud_speech.RecognitionConfig(
            auto_decoding_config=cloud_speech.AutoDetectDecodingConfig(),
            adaptation=adaptation,
            language_codes=["en-US"],
            model="short",
        )
    
        # Create a custom class to reference in a PhraseSet
        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
    
    

    Effectuer un nettoyage

    Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre compte Google Cloud , procédez comme suit :

    1. Optional: Revoke the authentication credentials that you created, and delete the local credential file.

      gcloud auth application-default revoke
    2. Optional: Revoke credentials from the gcloud CLI.

      gcloud auth revoke

    Console

  19. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  20. In the project list, select the project that you want to delete, and then click Delete.
  21. In the dialog, type the project ID, and then click Shut down to delete the project.
  22. gcloud

  23. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  24. In the project list, select the project that you want to delete, and then click Delete.
  25. In the dialog, type the project ID, and then click Shut down to delete the project.
  26. Étapes suivantes