User Tools

Site Tools


fotografia:camaras:streaming:obs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
fotografia:camaras:streaming:obs [2024/11/09 22:12] – created josefotografia:camaras:streaming:obs [2024/11/11 02:19] (current) jose
Line 1: Line 1:
 ====== OBS ====== ====== OBS ======
-Texto dinámico +Texto dinámico que lo coge de un fichero de texto \\
 https://www.youtube.com/watch?v=78CcCbUYwgg https://www.youtube.com/watch?v=78CcCbUYwgg
 +
 +Rótulo con animación. Hacer un grupo con texto y caja, botón derecho y "Show transaction" y "hide transaction" y se puede hacer que aparezca de derecha a izquierda\\
 +https://www.youtube.com/watch?v=1KhTqnv1SWE
 +
 +====== Configurar tecla con voz ======
 +<code>
 +import pyaudio
 +from vosk import Model, KaldiRecognizer
 +import json
 +import subprocess
 +from gtts import gTTS
 +import os
 +
 +# Cargar el modelo de Vosk
 +model = Model("vosk-model-es-0.42")
 +recognizer = KaldiRecognizer(model, 16000)
 +
 +p = pyaudio.PyAudio()
 +
 +# Configurar PyAudio para usar PulseAudio (índice 15)
 +stream = p.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True, frames_per_buffer=8000, input_device_index=15)
 +stream.start_stream()
 +
 +print("Esperando el comando de voz 'abracadabra rótulo uno'...")
 +
 +while True:
 +    data = stream.read(4000, exception_on_overflow=False)
 +    if recognizer.AcceptWaveform(data):
 +        result = recognizer.Result()
 +        result_json = json.loads(result)  # Convertir a JSON para extraer el texto
 +        text = result_json.get("text", "" # Obtener el texto reconocido
 +        
 +        # Imprimir el texto detectado
 +        print(f"Texto detectado: {text}")
 +
 +        # Comparar el texto detectado con el comando esperado
 +        if "abracadabra rótulo uno" in text.lower():
 +            print("Comando detectado: Lanzando teclas 'ctrl + super + 1'")
 +            # Activar la ventana de OBS
 +            subprocess.run(["xdotool", "search", "--name", "^OBS.*Profile: Youtube Jose", "windowactivate"])
 +            # Usa xdotool para simular la pulsación de teclas
 +            subprocess.run(["xdotool", "key", "ctrl+super+1"])
 +
 +            # Generar y reproducir el mensaje de audio en los auriculares Bluetooth
 +            tts = gTTS("rótulo uno ok", lang='es')
 +            tts.save("mensaje.mp3")
 +            # Reproducir el archivo de audio con mpv
 +            subprocess.run(["mpv", "--audio-device=pipewire", "mensaje.mp3"])
 +#            subprocess.run(["mpv", "--audio-device=pipewire/bluez_output.6F_32_EA_6B_C2_86.1", "mensaje.mp3"])
 +            os.remove("mensaje.mp3" # Elimina el archivo después de reproducirlo
 +
 +</code>
fotografia/camaras/streaming/obs.1731190345.txt.gz · Last modified: 2024/11/09 22:12 by jose