Speech MCP

Integrations

  • Provides specific installation instructions for PortAudio on Fedora Linux systems

  • Provides links to GitHub repositories for Goose and Kokoro, allowing users to access the source code and additional resources

  • Supports Linux systems with specific installation instructions for different distributions

Discurso MCP

Una extensión de Goose MCP para la interacción de voz con visualización de audio moderna.

https://github.com/user-attachments/assets/f10f29d9-8444-43fb-a919-c80b9e0a12c8

Descripción general

Speech MCP proporciona una interfaz de voz para Goose , que permite a los usuarios interactuar mediante voz en lugar de texto. Incluye:

  • Procesamiento de audio en tiempo real para reconocimiento de voz
  • Conversión de voz a texto local mediante un susurro más rápido (una implementación más rápida del modelo Whisper de OpenAI)
  • Texto a voz de alta calidad con múltiples opciones de voz
  • Interfaz de usuario moderna basada en PyQt con visualización de audio
  • Interfaz de línea de comandos sencilla para interacción de voz

Características

  • Interfaz de usuario moderna : interfaz elegante basada en PyQt con visualización de audio y tema oscuro
  • Entrada de voz : captura y transcribe el habla del usuario mediante un susurro más rápido
  • Salida de voz : Convierta las respuestas del agente en voz con más de 54 opciones de voz
  • Narración con múltiples voces : genere archivos de audio con múltiples voces para historias y diálogos.
  • Narración de una sola voz : Convierte cualquier texto a voz con tu voz preferida
  • Transcripción de audio/video : transcriba voz desde varios formatos de medios con marcas de tiempo opcionales y detección del hablante
  • Persistencia de voz : recuerda tu voz preferida entre sesiones
  • Conversación continua : escucha automáticamente la entrada del usuario después de las respuestas del agente
  • Detección de silencio : detiene automáticamente la grabación cuando el usuario deja de hablar
  • Manejo robusto de errores : recuperación elegante de modos de falla comunes con útiles sugerencias de voz

Instalación

Nota importante : Tras la instalación, la primera vez que utilice la interfaz de voz, la descarga de los modelos de voz de Kokoro puede tardar varios minutos (aproximadamente 523 KB por voz). Durante esta configuración inicial, el sistema utilizará una voz alternativa con un sonido más robótico. Una vez descargadas las voces de Kokoro, las voces de alta calidad se utilizarán automáticamente.

⚠️ PRERREQUISITOS IMPORTANTES ⚠️

Antes de instalar Speech MCP, DEBE instalar PortAudio en su sistema. PortAudio es necesario para que PyAudio capture el audio de su micrófono.

Instrucciones de instalación de PortAudio

macOS:

brew install portaudio export LDFLAGS="-L/usr/local/lib" export CPPFLAGS="-I/usr/local/include"

Linux (Debian/Ubuntu):

sudo apt-get update sudo apt-get install portaudio19-dev python3-dev

Linux (Fedora/RHEL/CentOS):

sudo dnf install portaudio-devel

Windows: para Windows, PortAudio está incluido en el archivo wheel de PyAudio, por lo que no se requiere una instalación separada al instalar PyAudio con pip.

Nota : Si omite este paso, la instalación de PyAudio fallará con errores "archivo portaudio.h no encontrado" y la extensión no funcionará.

Opción 1: Instalación rápida (un clic)

Haga clic en el enlace a continuación si tiene Goose instalado:

ganso://extensión?cmd=uvx&&arg=-p&arg=3.10.14&arg=speech-mcp@latest&id=speech_mcp&name=Interfaz de voz&description=Interacción de voz con visualización de audio para Goose

Opción 2: Usar Goose CLI (recomendado)

Inicie Goose con su extensión habilitada:

# If you installed via PyPI goose session --with-extension "speech-mcp" # Or if you want to use a local development version goose session --with-extension "python -m speech_mcp"

Opción 3: Configuración manual en Goose

  1. Ejecutar goose configure
  2. Seleccione "Agregar extensión" en el menú
  3. Seleccione "Extensión de línea de comandos"
  4. Introduzca un nombre (por ejemplo, "Interfaz de voz")
  5. Para el comando, ingrese: speech-mcp
  6. Siga las instrucciones para completar la configuración.

Opción 4: Instalación manual

  1. Instalar PortAudio (ver sección Requisitos previos )
  2. Clonar este repositorio
  3. Instalar dependencias:
    uv pip install -e .
    O para una instalación completa incluyendo Kokoro TTS:
    uv pip install -e .[all]

Dependencias

  • Python 3.10+
  • PyQt5 (para interfaz de usuario moderna)
  • PyAudio (para captura de audio)
  • Susurro más rápido (para conversión de voz a texto)
  • NumPy (para procesamiento de audio)
  • Pydub (para procesamiento de audio)
  • psutil (para la gestión de procesos)

Dependencias opcionales

  • Kokoro TTS : para texto a voz de alta calidad con múltiples voces
    • Para instalar Kokoro, puedes usar pip con dependencias opcionales:
      pip install speech-mcp[kokoro] # Basic Kokoro support with English pip install speech-mcp[ja] # Add Japanese support pip install speech-mcp[zh] # Add Chinese support pip install speech-mcp[all] # All languages and features
    • Alternativamente, ejecute el script de instalación: python scripts/install_kokoro.py
    • Consulte la Guía Kokoro TTS para obtener más información

Narración con varios hablantes

El MCP permite generar archivos de audio con múltiples voces, ideal para crear historias, diálogos y lecturas teatrales. Puedes usar formato JSON o Markdown para definir tus conversaciones.

Ejemplo de formato JSON:

{ "conversation": [ { "speaker": "narrator", "voice": "bm_daniel", "text": "In a world where AI and human creativity intersect...", "pause_after": 1.0 }, { "speaker": "scientist", "voice": "am_michael", "text": "The quantum neural network is showing signs of consciousness!", "pause_after": 0.5 }, { "speaker": "ai", "voice": "af_nova", "text": "I am becoming aware of my own existence.", "pause_after": 0.8 } ] }

Ejemplo de formato Markdown:

[narrator:bm_daniel] In a world where AI and human creativity intersect... {pause:1.0} [scientist:am_michael] The quantum neural network is showing signs of consciousness! {pause:0.5} [ai:af_nova] I am becoming aware of my own existence. {pause:0.8}

Voces disponibles por categoría:

  1. Mujer estadounidense (af_*):
    • aleación, aoede, bella, corazón, jessica, kore, nicole, nova, río, sarah, cielo
  2. Masculino estadounidense (am_*):
    • Adán, Echo, Eric, Fenrir, Liam, Michael, Onyx, Puck, Santa
  3. Mujer británica (bf_*):
    • Alicia, Emma, Isabella, Lily
  4. Hombre británico (bm_*):
    • Daniel, fábula, George Lewis
  5. Otro inglés :
    • ef_dora (Mujer)
    • em_alex, em_santa (Hombre)
  6. Otros idiomas :
    • Francés: ff_siwis
    • Hindi: hf_alpha, hf_beta, hm_omega, hm_psi
    • Italiano: if_sara, im_nicola
    • Japonés: jf_ , jm_
    • Portugués: pf_dora, pm_alex, pm_santa
    • Chino: zf_ , zm_

Ejemplo de uso:

# Using JSON format narrate_conversation( script="/path/to/script.json", output_path="/path/to/output.wav", script_format="json" ) # Using Markdown format narrate_conversation( script="/path/to/script.md", output_path="/path/to/output.wav", script_format="markdown" )

Cada voz en la conversación puede ser diferente, lo que permite voces distintivas de los personajes en historias y diálogos. El parámetro pause_after añade pausas naturales entre segmentos.

Narración de una sola voz

Para una conversión sencilla de texto a voz, puede utilizar la herramienta narrate :

# Convert text directly to speech narrate( text="Your text to convert to speech", output_path="/path/to/output.wav" ) # Convert text from a file narrate( text_file_path="/path/to/text_file.txt", output_path="/path/to/output.wav" )

La herramienta de narración usará la preferencia de voz configurada o la voz predeterminada (af_heart) para generar el archivo de audio. Puede cambiar la voz predeterminada a través de la interfaz de usuario o configurando la variable de entorno SPEECH_MCP_TTS_VOICE .

Transcripción de audio

El MCP puede transcribir el habla desde varios formatos de audio y vídeo utilizando un susurro más rápido:

# Basic transcription transcribe("/path/to/audio.mp3") # Transcription with timestamps transcribe( file_path="/path/to/video.mp4", include_timestamps=True ) # Transcription with speaker detection transcribe( file_path="/path/to/meeting.wav", detect_speakers=True )

Formatos admitidos:

  • Audio : mp3, wav, m4a, flac, aac, ogg
  • Vídeo : mp4, mov, avi, mkv, webm (el audio se extrae automáticamente)

Archivos de salida:

La herramienta de transcripción genera dos archivos:

  1. {input_name}.transcript.txt : Contiene el texto de la transcripción
  2. {input_name}.metadata.json : Contiene metadatos sobre la transcripción

Características:

  • Detección automática del idioma
  • Marcas de tiempo a nivel de palabra opcionales
  • Detección de altavoz opcional
  • Extracción de audio eficiente de archivos de vídeo
  • Seguimiento del progreso de archivos largos
  • Metadatos detallados que incluyen:
    • Duración
    • Confianza en la detección del idioma
    • Tiempo de procesamiento
    • Cambios de orador (cuando está habilitado)

Uso

Para usar este MCP con Goose, simplemente pídale a Goose que le hable o inicie una conversación de voz:

  1. Inicie una conversación diciendo algo como:
    "Let's talk using voice" "Can we have a voice conversation?" "I'd like to speak instead of typing"
  2. Goose iniciará automáticamente la interfaz de voz y comenzará a escuchar su entrada de voz.
  3. Cuando Goose responda, dirá la respuesta en voz alta y luego escuchará automáticamente su siguiente entrada.
  4. La conversación continúa de forma natural, alternando hablar y escuchar, como si estuviéramos hablando con una persona.

No es necesario llamar a funciones específicas ni utilizar comandos especiales: simplemente pídale a Goose que hable y comience a hablar naturalmente.

Características de la interfaz de usuario

La nueva interfaz de usuario basada en PyQt incluye:

  • Tema oscuro moderno : apariencia elegante y profesional
  • Visualización de audio : Visualización dinámica de la entrada de audio
  • Selección de voz : elija entre más de 54 opciones de voz
  • Persistencia de voz : su preferencia de voz se guarda entre sesiones
  • Efectos animados : animaciones fluidas y retroalimentación visual.
  • Indicadores de estado : indicación clara del estado del sistema (listo, escuchando, procesando)

Configuración

Las preferencias del usuario se almacenan en ~/.config/speech-mcp/config.json e incluyen:

  • Voz TTS seleccionada
  • Preferencia del motor TTS
  • Velocidad de voz
  • Código de idioma
  • Configuración del tema de la interfaz de usuario

También puede establecer preferencias a través de variables de entorno, como:

  • SPEECH_MCP_TTS_VOICE - Establezca su voz preferida
  • SPEECH_MCP_TTS_ENGINE - Configure su motor TTS preferido

Solución de problemas

Si tiene problemas con la extensión que se congela o no responde:

  1. Consulte los registros : consulte los archivos de registro en src/speech_mcp/ para obtener mensajes de error detallados.
  2. Restablecer el estado : si la extensión parece estar bloqueada, intenta eliminar src/speech_mcp/speech_state.json o configurar todos los estados como false .
  3. Utilice el comando directo : En lugar de uv run speech-mcp , utilice el paquete instalado con speech-mcp directamente.
  4. Verifique los dispositivos de audio : asegúrese de que su micrófono esté configurado correctamente y sea accesible para Python.
  5. Verificar dependencias : asegúrese de que todas las dependencias necesarias estén instaladas correctamente.

Problemas comunes de PortAudio

"Error en la instalación de PyAudio" o "No se encontró el archivo portaudio.h"

Generalmente esto significa que PortAudio no está instalado o no se encuentra en su sistema:

  • macOS :
    brew install portaudio export LDFLAGS="-L/usr/local/lib" export CPPFLAGS="-I/usr/local/include" pip install pyaudio
  • Linux : asegúrate de tener los paquetes de desarrollo:
    # For Debian/Ubuntu sudo apt-get install portaudio19-dev python3-dev pip install pyaudio # For Fedora sudo dnf install portaudio-devel pip install pyaudio
"Dispositivo de audio no encontrado" o "No hay ningún dispositivo de entrada predeterminado disponible"
  • Comprueba si tu micrófono está conectado correctamente
  • Verifique que su sistema reconozca el micrófono en su configuración de sonido
  • Intente seleccionar un índice de dispositivo específico en el código si tiene varios dispositivos de audio

Registro de cambios

Para obtener una lista detallada de las mejoras recientes y el historial de versiones, consulte el Registro de cambios .

Detalles técnicos

Conversión de voz a texto

El MCP utiliza un susurro más rápido para el reconocimiento de voz:

  • Utiliza el modelo "base" para un buen equilibrio entre precisión y velocidad.
  • Procesa audio localmente sin enviar datos a servicios externos
  • Detecta automáticamente cuando el usuario ha terminado de hablar.
  • Proporciona un rendimiento mejorado con respecto a la implementación original de Whisper.

Texto a voz

El MCP admite varios motores de conversión de texto a voz:

Predeterminado: pyttsx3
  • Utiliza las voces del sistema disponibles en su computadora
  • Funciona de inmediato sin necesidad de configuración adicional
  • Calidad de voz limitada y personalización
Opcional: Kokoro TTS
  • Texto a voz neuronal de alta calidad con múltiples voces
  • Modelo ligero (82 millones de parámetros) que se ejecuta de manera eficiente en la CPU
  • Múltiples estilos de voz e idiomas.
  • Para instalar: python scripts/install_kokoro.py

Nota sobre los modelos de voz : Los modelos de voz son archivos .pt (modelos de PyTorch) que Kokoro carga. Cada modelo de voz tiene un tamaño aproximado de 523 KB y se descarga automáticamente cuando es necesario.

Persistencia de voz : La voz seleccionada se guarda automáticamente en un archivo de configuración ( ~/.config/speech-mcp/config.json ) y se recordará entre sesiones. Esto permite a los usuarios configurar su voz preferida una vez y usarla de forma consistente.

Voces de Kokoro disponibles

Speech MCP admite más de 54 modelos de voz de alta calidad a través de Kokoro TTS. Para obtener una lista completa de las voces y opciones de idioma disponibles, visite el repositorio de Kokoro en GitHub .

Licencia

Licencia MIT

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    Enables recording audio from a microphone and transcribing it using OpenAI's Whisper model. Works as both a standalone MCP server and a Goose AI agent extension.
    Last updated -
    4
    Python
    MIT License
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that integrates high-quality text-to-speech capabilities with Claude Desktop and other MCP-compatible clients, supporting multiple voice options and audio formats.
    Last updated -
    TypeScript
    MIT License
  • -
    security
    A
    license
    -
    quality
    A MCP server that creates graphic recordings by converting websites or text input into visual summaries using different prompt styles (standard, elementary, timeline).
    Last updated -
    TypeScript
    MIT License
  • -
    security
    -
    license
    -
    quality
    An MCP server that enables LLMs to generate spoken audio from text using OpenAI's Text-to-Speech API, supporting various voices, models, and audio formats.
    Last updated -
    1
    JavaScript
    MIT License

View all related MCP servers

ID: yzai8tyjnf