语音合成API服务

NijiVoice MCP是一个基于FastMCP的语音合成API服务,提供声优列表获取、文本转语音生成和信用余额查询功能。

  • by ryoooo
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 ryoooo/nijivoice-mcp

使用说明

不是Voice MCP

FastMCP使用二次语音API的,之MCP服务器实现。

概要

这个MCP服务器是二次语音API来定义自定义外观。主要功能包括:

  • 利用可能な声優(Voice Actor)の一覧取得
  • 从文本生成声音文件
  • 确认信用余额

前提条件

  • Python 3.12以上
  • 紫外线 -快速Python包管理器和安装程序
  • fastmcp v2.2.8以上
  • 二次语音API的,之API按键

安装方法

  1. 克隆存储库:

    git clone https://github.com/ryoooo/nijivoice-mcp-beta.git
    cd nijivoice-mcp-beta
    
  2. 紫外线 使用创建虚拟环境并安装依赖关系:

    uv venv
    source .venv/bin/activate  # Linux/Mac
    # または
    .venv\Scripts\activate  # Windows
    
    uv pip install -e .
    
  3. .env创建文件并发出二次语音API设置键:

    NIJIVOICE_API_KEY=your_api_key_here
    

使用方法

MCP启动服务器

要在开发模式下启动服务器:

uv run fastmcp dev server.py

要在生产模式下启动服务器:

uv run fastmcp run server.py

安装和使用

MCP要安装和使用服务器:

uv run fastmcp install server.py

机能

以下功能可用:

工具

  • get_voice_actors():获得可用声优列表
  • generate_voice(script, actor_id, speed, emotional_level, sound_duration, format):生成声音
  • get_credit_balance():获取贷项余额

资源

  • voice-actors://list:声优一览资源
  • voice-actors://{actor_id}:获取特定声优的信息
  • credit://balance:贷项余额资源

提示

  • voice_generation_prompt():提供语音生成提示

语音生成参数

语音生成时可指定以下参数:

  • script:要读的文本(最多3000个字符)(必需)
  • actor_id:使用的声优的ID(省略时使用最初的声优)
  • speed:读取速度(0.4~3.0,默认值:1.0)
  • emotional_level:感情等级(0.0~1.5,默认值:-1.0=使用声优默认设置)
  • sound_duration:音素发音长度(0.0~1.7,默认值:-1.0=使用声优默认设置)
  • format:语音格式(“mp3”或“wav”,默认值:“mp3”)

响应格式

语音生成响应格式如下:

{
  "generatedVoice": {
    "audioFileUrl": "音声再生用のURL",
    "audioFileDownloadUrl": "音声ダウンロード用のURL",
    "duration": 1312, // 音声の長さ(ミリ秒)
    "remainingCredits": 3613 // 生成後の残りクレジット
  }
}

测试

要运行测试:

uv run pytest

要查看详细的测试结果:

uv run pytest -v

要生成覆盖报告:

uv run pytest --cov=nijivoice

许可证

麻省理工学院

谢辞

  • fastmcp -MCP(模型上下文协议)サーバーを構築するためのpythonフレームワーク
  • 二次语音API -提供高质量的语音合成API