Habilitar el filtro de palabras malsonantes

En esta página se describe cómo usar Speech-to-Text para detectar automáticamente palabras malsonantes en los datos de audio y censurarlas en la transcripción.

Puedes habilitar el filtro de palabras malsonantes asignando el valor profanityFilter=true en RecognitionFeatures. Si está habilitada, la función de voz a texto intentará detectar palabras malsonantes y devolverá solo la primera letra seguida de asteriscos en la transcripción (por ejemplo, p***). Si este campo tiene el valor false o no se ha definido, Speech-to-Text no intentará filtrar las palabras malsonantes.

En el siguiente ejemplo se muestra cómo habilitar el filtro de palabras malsonantes para reconocer el audio almacenado en un segmento de Cloud Storage.

Python

Para saber cómo instalar y usar la biblioteca de cliente de Speech-to-Text, consulta el artículo Bibliotecas de cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API Python Speech-to-Text.

Para autenticarte en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

from google.cloud import speech
from google.cloud.speech import RecognizeResponse


def sync_recognize_with_profanity_filter_gcs(audio_uri: str) -> RecognizeResponse:
    """Recognizes speech from an audio file in Cloud Storage and filters out profane language.
    Args:
        audio_uri (str): The Cloud Storage URI of the input audio, e.g., gs://[BUCKET]/[FILE]
    Returns:
        cloud_speech.RecognizeResponse: The full response object which includes the transcription results.
    """
    # Define the audio source
    audio = {"uri": audio_uri}

    client = speech.SpeechClient()
    config = speech.RecognitionConfig(
        encoding=speech.RecognitionConfig.AudioEncoding.FLAC,  # Audio format
        sample_rate_hertz=16000,
        language_code="en-US",
        # Enable profanity filter
        profanity_filter=True,
    )

    response = client.recognize(config=config, audio=audio)

    for result in response.results:
        alternative = result.alternatives[0]
        print(f"Transcript: {alternative.transcript}")

    return response.results