プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Ffvoice

作者:chicogongバージョン 0.8.3i★ –iパソコンで動く
レジストリ名io.github.chicogong/ffvoice

インストール

概要

作者による説明(英語の原文)

Offline speech-to-text & speaker diarization MCP server: transcribe audio on-device, no cloud

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: デザイン・画像・音声

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "ffvoice": {
      "command": "uvx",
      "args": [
        "ffvoice",
        "--from",
        "ffvoice[mcp]"
      ]
    }
  }
}

ターミナルでこれを実行します

claude mcp add ffvoice -- uvx ffvoice --from 'ffvoice[mcp]'

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "ffvoice": {
      "command": "uvx",
      "args": [
        "ffvoice",
        "--from",
        "ffvoice[mcp]"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "ffvoice": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "ffvoice",
        "--from",
        "ffvoice[mcp]"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント chicogong で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

デザイン・画像・音声のほかのサーバーとの比較i

  • このカテゴリのほかの2187件のうち0%よりスターが多い
  • このカテゴリのほかの2187件のうち8%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの2187件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Ffvoiceは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.8.3)がレジストリに届いたのは6 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Figma Context MCP, Claude Real Video, Figma MCP Server

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Figma Context MCP

作者:GLips

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

パソコンで動く★ 16,165MIT5 か月前更新
インストール

Claude Real Video

作者:HUANGCHIHHUNGLeo

Let any LLM watch a video locally — and search everything it has ever watched.

パソコンで動く★ 2,284MIT2 か月前更新
インストール

Figma MCP Server

作者:figma

The Figma MCP server brings Figma design context directly into your AI workflow.

クラウドで動く★ 2,15213 か月前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

ffvoice-engine

🎙️ Offline speech-to-text & speaker diarization for AI agents — Whisper ASR, live captioning, an MCP server, a CLI and Python bindings. Fully on-device, no cloud API.

🎙️ 离线语音识别 + 说话人分离,AI Agent 开箱即用 —— Whisper 实时转写 · 实时字幕 · MCP server · CLI · Python 绑定 · 100% 本地运行,音频不上云。


Why ffvoice? / 为什么用 ffvoice?

The honest pitch: ffvoice is an integration layer, not a new ASR engine. It embeds whisper.cpp as-is and makes no changes to its accuracy or inference speed. What ffvoice adds is a batteries-included, pre-wired pipeline — microphone capture → RNNoise denoising → VAD segmentation → Whisper ASR → speaker diarization → live captions / WAV / FLAC / subtitles — delivered as a single C++ SDK with Python bindings, a CLI, and an MCP server that lets AI agents (Claude and others) transcribe audio out of the box — all in one pip install or cmake build.

诚实定位: ffvoice 是一个集成层,而非新的 ASR 引擎。它内嵌 whisper.cpp,不修改其识别精度或推理速度。ffvoice 带来的是一条开箱即用、预连接的完整管道——麦克风采集 → RNNoise 降噪 → VAD 分段 → Whisper ASR → 说话人分离 → 实时字幕 / WAV / FLAC / 字幕输出——打包成 C++ SDK + Python 绑定 + CLI,外加一个 MCP server,让 AI agent(Claude 等)开箱即用地转写音频——一条 pip install 或 cmake 即可完成。

Pain points it addresses / 解决的痛点
Pain pointffvoice approach
Privacy / 隐私合规 — audio must not leave the device (GDPR, HIPAA, enterprise policy)100% offline; audio never transmitted
Cloud cost / 云端费用 — commercial APIs charge per minute ($0.01–0.024/min at scale)Zero per-minute cost; runs on your own hardware
Glue code / 胶水代码 — wiring PortAudio + RNNoise + VAD + whisper.cpp + FLAC yourself takes daysAll wired together and tested; one SDK
Offline / 断网场景 — embedded systems, air-gapped environments, poor connectivityFully offline; no network dependency
Local responsiveness / 本地响应 — cloud round-trips add network varianceCapture and inference stay on-device; measure end-to-end latency on your target hardware
What ffvoice does NOT do / 不做什么
  • ffvoice does not improve whisper.cpp's WER (word error rate) or speed. If Whisper tiny gives you 12% WER, ffvoice will too.
  • ffvoice does not outperform sherpa-onnx or other optimized inference runtimes on raw transcription speed.
  • ffvoice does not provide custom vocabulary or acoustic model fine-tuning.

If raw ASR accuracy or throughput is your primary concern, evaluate whisper.cpp directly or consider specialized runtimes. ffvoice's value is the integrated pipeline, not the ASR engine itself.


📋 项目介绍

ffvoice-engine 是一个轻量级、高性能的音频处理引擎,专注于实时音频采集、智能处理和语音识别。

🎯 使用场景
  • 📝 会议记录 - 实时转写会议内容,说话人分离标注"谁说了什么",自动生成字幕
  • 🎓 在线教育 - 录制课程并生成字幕,支持多语言识别
  • 🎙️ 播客制作 - 高质量音频录制 + RNNoise 降噪 + 自动字幕生成
  • 🎵 音乐制作 - 低延迟音频采集,支持 FLAC 无损压缩
  • 🤖 语音助手 - 实时语音识别和处理,构建本地 AI 语音应用
  • 📡 直播字幕 - 边录边转写,生成实时字幕流
✨ 核心优势

vs 商业服务(Azure/Google Cloud Speech):

  • ✅ 完全离线 - 无需网络,保护隐私,零 API 费用
  • ✅ 本地处理 - 无网络往返;端到端延迟取决于设备、模型与音频长度
  • ✅ 开源免费 - MIT 协议,可商用

vs FFmpeg 命令行:

  • ✅ 实时转写 - 边录边识别,支持 VAD 智能分段
  • ✅ AI 降噪 - 集成 RNNoise 深度学习降噪
  • ✅ C++ SDK - 可嵌入任何 C++ 应用,非黑盒工具

vs Python 方案(whisper-cli):

  • ✅ 原生管道 - C++20 实现,处理链无 Python 解释器与胶水开销
  • ✅ 易部署 - 单一可执行文件,无 Python 环境依赖
  • ✅ 同样的精度 - 内嵌 whisper.cpp,识别质量与上游一致(ffvoice 不改模型)
💡 技术亮点
  • 🚀 零拷贝处理链 - 音频数据在内存中就地处理
  • 🧠 智能 VAD 分段 - 基于 RNNoise VAD 的语音活动检测
  • 🎯 高压缩比 - FLAC 无损压缩 2-3x,质量无损
  • ⚡ whisper.cpp 推理 - 内嵌 whisper.cpp,Apple Silicon 上推理快于实时
核心特性
  • ✅ 实时音频采集 - 低延迟麦克风/系统声音捕获 (PortAudio)
  • ✅ 多格式输出 - WAV、FLAC 无损压缩
  • ✅ 音频增强处理 - 音量归一化、高通滤波、RNNoise 降噪
  • ✅ 离线语音识别 - Whisper ASR (tiny model,纯文本/SRT/VTT/JSON 四种格式,含词级时间戳)
  • 🧪 滚动字幕流 - LiveCaptioner 输出 partial/final 事件;partial 会重复转写累计语音,不等同于增量流式解码
  • ✅ 说话人分离 - Diarizer 离线 diarization(sherpa-onnx),自动标注"谁在何时说话"
  • ✅ Agent 集成 - CLI + MCP server,AI agent 可直接调用本地离线语音能力

🏗️ 当前状态 (v0.8.3)

四个集成层路线图阶段全部交付,已发布到 PyPI(macOS / Linux / Windows,Python 3.10–3.14)。

能力状态
音频采集 / WAV·FLAC 输出 / 音频增强(归一化·高通·RNNoise)✅
离线语音识别(Whisper ASR — 纯文本 / SRT / VTT / JSON,词级时间戳)✅
滚动字幕流(LiveCaptioner — partial/final 字幕事件)🧪 实验性;需监控丢样
说话人分离(Diarizer — sherpa-onnx,可选 -DENABLE_DIARIZATION=ON)✅
Agent 集成(CLI 硬化 + MCP server,5 个工具)✅
当前测试套件:296 C++ + 146 Python,全部通过✅

完整历史见 CHANGELOG.md。

🚀 快速开始

依赖
  • CMake 3.20+
  • C++20 编译器(GCC 10+, Clang 12+, MSVC 2019+)
  • FFmpeg 4.4+ (libavcodec, libavformat, libavutil, libswresample)
  • PortAudio 19.7+ (音频采集)
  • FLAC 1.5+ (无损压缩)
  • whisper.cpp (可选,自动下载,用于语音识别)
  • RNNoise (可选,自动下载,用于深度学习降噪)

macOS 安装:

brew install cmake ffmpeg portaudio flac

Linux (Ubuntu/Debian) 安装:

sudo apt-get install cmake build-essential \

libavcodec-dev libavformat-dev libavutil-dev libswresample-dev \ portaudio19-dev libflac-dev

Windows 安装:

# 使用 vcpkg 管理 C++ 依赖

1. 克隆 vcpkg(如果还没有)

git clone https://github.com/Microsoft/vcpkg.git C:\vcpkg C:\vcpkg\bootstrap-vcpkg.bat

2. 安装依赖包

C:\vcpkg\vcpkg install ffmpeg:x64-windows portaudio:x64-windows libflac:x64-windows

3. 设置环境变量(用于 CMake)

set CMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake

注意:Windows 用户也可以直接使用 PyPI 的预编译 wheels(推荐)

pip install ffvoice

编译

标准编译:

*Linux/macOS*:

mkdir build && cd build

cmake .. -DCMAKE_BUILD_TYPE=Release make -j$(nproc)

*Windows*:

mkdir build

cd build cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake cmake --build . --config Release

启用 RNNoise 降噪 (推荐,自动下载):

*Linux/macOS*:

mkdir build && cd build

cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_RNNOISE=ON make -j$(nproc)

RNNoise 库会通过 CMake FetchContent 自动下载和编译

*Windows*:

# 注意:Windows 版本禁用 RNNoise(MSVC 不支持 VLA)

使用其他音频处理选项替代

启用 Whisper 语音识别 (推荐,自动下载):

*Linux/macOS*:

mkdir build && cd build

cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_WHISPER=ON make -j$(nproc)

whisper.cpp 和 tiny 模型(39MB)会自动下载

*Windows*:

mkdir build

cd build cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_WHISPER=ON -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake cmake --build . --config Release

启用所有可选功能 (Linux/macOS):

cmake .. -DCMAKE_BUILD_TYPE=Release \

-DENABLE_RNNOISE=ON \ -DENABLE_WHISPER=ON make -j$(nproc)

使用

注意:

- Linux/macOS: 使用 ./build/ffvoice

- Windows: 使用 .\build\Release\ffvoice.exe

# 查看帮助

./build/ffvoice --help

生成测试 WAV 文件(440Hz A4 音符,3秒)

./build/ffvoice --test-wav test.wav

列出可用音频设备

./build/ffvoice --list-devices

录制 10 秒 WAV 音频(默认格式)

./build/ffvoice --record -o recording.wav -t 10

录制 30 秒 FLAC 音频(无损压缩)

./build/ffvoice --record -o recording.flac -t 30

使用最大压缩级别录制 FLAC

./build/ffvoice --record -o recording.flac --compression 8 -t 60

选择特定设备录制立体声

./build/ffvoice --record -d 1 -o stereo.wav --channels 2 -t 20

启用音频处理(音量归一化 + 高通滤波)

./build/ffvoice --record -o clean.wav --enable-processing -t 10

仅启用音量归一化

./build/ffvoice --record -o normalized.wav --normalize -t 10

自定义高通滤波频率(去除 100Hz 以下噪声)

./build/ffvoice --record -o filtered.flac --highpass 100 -t 20

组合:FLAC + 音频处理

./build/ffvoice --record -o studio.flac --normalize --highpass 80 -t 30

RNNoise 深度学习降噪(推荐用于语音录制,仅 Linux/macOS)

./build/ffvoice --record -o clean.wav --rnnoise -t 10

完整处理链(高通 + RNNoise + 归一化,仅 Linux/macOS)

./build/ffvoice --record -o studio.flac --highpass 80 --rnnoise --normalize -t 30

RNNoise + VAD (实验性,仅 Linux/macOS)

./build/ffvoice --record -o vad.wav --rnnoise-vad -t 20

播放录音

afplay recording.wav # 或 recording.flac

==================== 语音识别(需启用 ENABLE_WHISPER) ====================

转写音频文件为纯文本

./build/ffvoice --transcribe recording.wav -o transcript.txt

生成 SRT 字幕文件

./build/ffvoice --transcribe recording.wav --format srt -o subtitles.srt

生成 VTT 字幕文件

./build/ffvoice --transcribe recording.wav --format vtt -o subtitles.vtt

生成 JSON 转写文件(含分段级与词级时间戳)

./build/ffvoice --transcribe recording.wav --format json -o transcript.json

指定语言(中文)

./build/ffvoice --transcribe recording.wav --language zh -o transcript_zh.txt

转写 FLAC 文件

./build/ffvoice --transcribe recording.flac --format srt -o subtitles.srt

完整工作流:录制 + 音频处理 + 转写

./build/ffvoice --record -o speech.flac --highpass 80 --rnnoise --normalize -t 30 ./build/ffvoice --transcribe speech.flac --format srt -o speech.srt

==================== 实时语音识别(需启用 ENABLE_RNNOISE 和 ENABLE_WHISPER) ====================

边录边转写(实时模式)

./build/ffvoice --record -o speech.wav --rnnoise-vad --transcribe-live -t 60

实时转写 + 音频处理

./build/ffvoice --record -o speech.flac --rnnoise-vad --transcribe-live --highpass 80 --normalize -t 120

==================== 实时字幕流(需启用 ENABLE_WHISPER;LiveCaptioner) ====================

边说边出字幕:partial 字幕实时刷新,final 字幕断句落定

./build/ffvoice --record -o talk.wav --live-captions -t 60

调整 partial 字幕刷新间隔(毫秒)

./build/ffvoice --record -o talk.wav --live-captions --partial-interval 300 -t 60

==================== 说话人分离(需 -DENABLE_DIARIZATION=ON 构建) ====================

转写并标注说话人:每段带 speaker_id

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く