Служба распознавания голоса MCP
Эта служба обеспечивает возможности распознавания голоса и извлечения текста как в режимах stdio, так и в режимах MCP.
Функции
Распознавание голоса из файла
Распознавание голоса из данных, закодированных в base64
Извлечение текста
Поддержка режимов stdio и MCP
Структурированные результаты распознавания голоса
Related MCP server: Analytical MCP Server
Структура проекта
voice_service.py— реализация основного сервисаstdio_server.py- точка входа в режим stdiomcp_server.py— точка входа в режим MCPbuild.py— скрипт сборки исполняемых файловbuild_exec.sh— скрипт выполнения сборкиtest_*.sh— тестовые скрипты для различных функций
Установка
Клонируйте репозиторий:
git clone https://github.com/AIO-2030/mcp_voice_identify.git
cd mcp_voice_identifyУстановите зависимости:
pip install -r requirements.txtНастройте переменные среды в
.env:
API_URL=your_api_url
API_KEY=your_api_keyИспользование
Режим stdio
Запустите службу:
python stdio_server.pyОтправляйте запросы JSON-RPC через stdin:
{
"jsonrpc": "2.0",
"method": "help",
"params": {},
"id": 1
}Или используйте исполняемый файл:
./dist/voice_stdioРежим МКП
Запустите службу:
python mcp_server.pyИли используйте исполняемый файл:
./dist/voice_mcpРезультаты распознавания голоса
Сервис предоставляет структурированные результаты распознавания голоса. Вот пример формата ответа:
Исходный ответ API
{
"jsonrpc": "2.0",
"result": {
"message": "input processed successfully",
"results": "test test test",
"label_result": "<|en|><|EMO_UNKNOWN|><|Speech|><|woitn|>test test test"
},
"id": 1
}Реструктурированный ответ
{
"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
}Поля результатов метки
Поле label_result содержит следующую структурированную информацию:
Поле | Описание | Пример значения |
лан | Код языка | "ru" |
эмо | Эмоциональное состояние | "неизвестный" |
тип | Тип аудио | "речь" |
спикер | Идентификатор говорящего | "woitn" |
текст | Распознанное текстовое содержимое | "тест тест тест" |
Специальные этикетки
Служба распознает и обрабатывает следующие специальные метки в исходном ответе:
<|en|>- Код языка<|EMO_UNKNOWN|>- Состояние эмоций<|Speech|>- Тип аудио<|woitn|>- Идентификатор говорящего
Создание исполняемых файлов
Сделайте скрипт сборки исполняемым:
chmod +x build_exec.shСобрать исполняемый файл в режиме stdio:
./build_exec.shСобрать исполняемый файл режима MCP:
./build_exec.sh mcpИсполняемые файлы будут созданы по адресу:
режим stdio:
dist/voice_stdioРежим MCP:
dist/voice_mcp
Тестирование
Запустите тестовые скрипты:
chmod +x test_*.sh
./test_help.sh
./test_voice_file.sh
./test_voice_base64.shЛицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE.