Servicio MCP de reconocimiento de voz
Este servicio proporciona capacidades de reconocimiento de voz y extracción de texto a través de los modos stdio y MCP.
Características
Reconocimiento de voz desde archivo
Reconocimiento de voz a partir de datos codificados en base64
Extracción de texto
Soporte para los modos stdio y MCP
Resultados del reconocimiento de voz estructurado
Related MCP server: Analytical MCP Server
Estructura del proyecto
voice_service.py- Implementación del servicio principalstdio_server.py- punto de entrada del modo stdiomcp_server.py- Punto de entrada del modo MCPbuild.py- Script de compilación para ejecutablesbuild_exec.sh- Script de ejecución de compilacióntest_*.sh- Scripts de prueba para diferentes funcionalidades
Instalación
Clonar el repositorio:
git clone https://github.com/AIO-2030/mcp_voice_identify.git
cd mcp_voice_identifyInstalar dependencias:
pip install -r requirements.txtConfigurar variables de entorno en
.env:
API_URL=your_api_url
API_KEY=your_api_keyUso
Modo stdio
Ejecutar el servicio:
python stdio_server.pyEnviar solicitudes JSON-RPC a través de stdin:
{
"jsonrpc": "2.0",
"method": "help",
"params": {},
"id": 1
}O utilice el ejecutable:
./dist/voice_stdioModo MCP
Ejecutar el servicio:
python mcp_server.pyO utilice el ejecutable:
./dist/voice_mcpResultados del reconocimiento de voz
El servicio proporciona resultados de reconocimiento de voz estructurados. A continuación, se muestra un ejemplo del formato de respuesta:
Respuesta de la API original
{
"jsonrpc": "2.0",
"result": {
"message": "input processed successfully",
"results": "test test test",
"label_result": "<|en|><|EMO_UNKNOWN|><|Speech|><|woitn|>test test test"
},
"id": 1
}Respuesta reestructurada
{
"jsonrpc": "2.0",
"result": {
"message": "input processed successfully",
"results": "test test test",
"label_result": {
"lan": "en",
"emo": "unknown",
"type": "speech",
"speaker": "woitn",
"text": "test test test"
}
},
"id": 1
}Campos de resultados de etiquetas
El campo label_result contiene la siguiente información estructurada:
Campo | Descripción | Valor de ejemplo |
lan | Código de idioma | "en" |
emo | Estado emocional | "desconocido" |
tipo | Tipo de audio | "discurso" |
vocero | Identificador del hablante | "woitn" |
texto | Contenido de texto reconocido | "prueba, prueba, prueba" |
Etiquetas especiales
El servicio reconoce y procesa las siguientes etiquetas especiales en la respuesta original:
<|en|>- Código de idioma<|EMO_UNKNOWN|>- Estado emocional<|Speech|>- Tipo de audio<|woitn|>- Identificador del hablante
Construyendo ejecutables
Hacer que el script de compilación sea ejecutable:
chmod +x build_exec.shConstruir ejecutable en modo stdio:
./build_exec.shConstruir ejecutable en modo MCP:
./build_exec.sh mcpLos ejecutables se crearán en:
Modo stdio:
dist/voice_stdioModo MCP:
dist/voice_mcp
Pruebas
Ejecute los scripts de prueba:
chmod +x test_*.sh
./test_help.sh
./test_voice_file.sh
./test_voice_base64.shLicencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.