音频处理服务器

mcp-ffmpeg是一款专业的音频处理服务器,提供13种音频处理工具,特别优化用于冥想制作和一般音频处理。

  • by Schwarz-Mike
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Schwarz-Mike/mcp-ffmpeg

使用说明

mcp ffmpeg

专业音频处理MCP服务器,用于冥想制作和一般音频操作。

特性

  • 13个音频处理工具 可通过模型上下文协议访问
  • 冥想优化默认值 用于语音处理
  • EBU R128响度归一化 配备自动双通道
  • 与跨平台支持 (Windows、Mac、Linux)
  • FFmpeg自动检测 从PATH和常见安装位置

安装

先决条件

  1. Node.js 18+
  2. FFmpeg 安装在您的系统上:
    • 窗户: winget install Gyan.FFmpeg
    • 雨衣: brew install ffmpeg
    • Linux: sudo apt install ffmpeg

设置

# Clone the repository
git clone https://github.com/Schwarz-Mike/mcp-ffmpeg.git
cd mcp-ffmpeg

# Install dependencies
npm install

# Build the project
npm run build

Claude桌面配置

将以下内容添加到您的Claude Desktop MCP配置中(%APPDATA%\Claude\claude_desktop_config.json 在Windows上):

{
  "mcpServers": {
    "mcp-ffmpeg": {
      "command": "node",
      "args": ["C:\\Users\\ich\\Dropbox\\mike\\MCP Servers\\mcp-ffmepg\\dist\\index.js"],
      "env": {}
    }
  }
}

或者,如果您在自定义位置有FFmpeg,请设置环境变量:

{
  "mcpServers": {
    "mcp-ffmpeg": {
      "command": "node",
      "args": ["C:\\Users\\ich\\Dropbox\\mike\\MCP Servers\\mcp-ffmepg\\dist\\index.js"],
      "env": {
        "MCP_FFMPEG_PATH": "C:\\path\\to\\ffmpeg.exe",
        "MCP_FFPROBE_PATH": "C:\\path\\to\\ffprobe.exe",
        "MCP_FFMPEG_OUTPUT_DIR": "C:\\path\\to\\output"
      }
    }
  }
}

可用工具

第一阶段:核心工具

工具 说明
ffmpeg_get_audio_info 获取详细的音频文件信息(持续时间、编解码器、比特率等)
ffmpeg_convert_format 在格式(mp3、wav、flac、aac、ogg)之间转换音频
ffmpeg_adjust_volume 调整音量(系数或dB)
ffmpeg_generate_silence 为暂停生成静音音频
ffmpeg_concat_audio 使用可选的交叉效果连接音频文件

第二阶段:专业音频处理

工具 说明
ffmpeg_compress_audio 应用动态范围压缩以获得一致的响度
ffmpeg_normalize_audio EBU R128响度归一化(自动双通道)
ffmpeg_adjust_tempo 在不改变音高的情况下改变速度(0.9=冥想速度)
ffmpeg_apply_fade 应用淡入和/或淡出效果

第三阶段:高级功能

工具 说明
ffmpeg_mix_audio 将多首曲目与音量、延迟和淡入淡出混合
ffmpeg_loop_audio 使用可选的交叉效果将音频循环到目标持续时间

第四阶段:冥想工作流程

工具 说明
ffmpeg_process_meditation_voice 一体化语音处理(压缩+归一化+节奏)
ffmpeg_mix_meditation 完整的冥想制作(语音+音乐+声音)

使用示例

基本语音压缩

Use ffmpeg_compress_audio with inputPath "voice.mp3"

完成冥想制作

1. Process the voice recording:
   Use ffmpeg_process_meditation_voice with inputPath "raw_voice.mp3", tempo 0.9

2. Mix with background music:
   Use ffmpeg_mix_meditation with:
   - voiceTrack: "voice_processed.mp3"
   - musicTrack: "ambient_music.mp3"
   - outputPath: "meditation_final.mp3"
   - intro: { duration: 20, fadeIn: 3 }
   - outro: { duration: 30, fadeOut: 3 }

配置

服务器从以下位置加载配置(按顺序):

  1. ./mcp-ffmpeg-config.json (项目目录)
  2. ~/.mcp-ffmpeg/config.json (用户主页)
  3. %APPDATA%/mcp-ffmpeg/config.json (Windows应用程序数据)
  4. 环境变量
  5. 内置默认值,具有FFmpeg自动检测功能

配置文件

{
  "mode": "local",
  "local": {
    "ffmpegPath": "ffmpeg",
    "ffprobePath": "ffprobe",
    "outputDir": "~/mcp-ffmpeg-output",
    "keepIntermediateFiles": false
  },
  "quality": {
    "format": "mp3",
    "codec": "libmp3lame",
    "bitrate": "192k",
    "sampleRate": 44100,
    "channels": 2
  },
  "meditation": {
    "compression": {
      "threshold": "-20dB",
      "ratio": 3,
      "attack": 200,
      "release": 800
    },
    "normalization": {
      "targetLoudness": -16,
      "truePeak": -1.5,
      "loudnessRange": 11
    },
    "tempo": 0.9,
    "musicVolume": 0.3,
    "soundsVolume": 0.2,
    "fadeInDuration": 3,
    "fadeOutDuration": 3,
    "finalBoost": 1.75
  }
}

发展

# Run in development mode
npm run dev

# Build for production
npm run build

# Watch mode during development
npm run watch

许可证

GPL-3.0-参见 许可证 了解详情。

作者

施瓦茨迈克

链接