프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 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의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: 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는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 chicogong 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

디자인, 이미지 및 오디오 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 2186개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 2186개 중 8%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 2186개 중 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 스타i세 기둥: 리뷰 · 점검 · 사용 정도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에게 묻기