Habilitar el filtro de palabras malsonantes

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

Puedes habilitar el filtro de palabras malsonantes en RecognitionFeatures y seleccionar profanityFilter=true. Si está habilitada, Cloud Speech-to-Text intentará detectar palabras malsonantes y devolverá solo la primera letra seguida de asteriscos en la transcripción (por ejemplo, f***). Si este campo tiene el valor false o no se ha definido, Cloud 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 Cloud STT, consulta Bibliotecas de cliente de Cloud STT. Para obtener más información, consulta la documentación de referencia de la API Cloud STT Python.

Para autenticarte en Cloud STT, 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