VoiceCard
VoiceCard
Klonen Sie Ihre Stimme und verwandeln Sie sie in ein teilbares Wellenform-Video – alles gesteuert über MCP. Keine GUI. Nur Apple Silicon.
Stimmklonen ist inzwischen Massenware. Der Unterschied liegt in der Zustellung: Ein kurzes MP4 mit einer schönen audio-reaktiven Wellenform wird inline in WhatsApp, iMessage, Signal und Slack abgespielt, während rohe Audiodateien hängen bleiben, nicht automatisch abspielen oder nicht zwischen iOS/Android funktionieren. Jeder Clip, den Sie senden, ist auch eine Werbung für das Tool. Das ist die ganze Idee.
Das Frontend ist das MCP. Sie sprechen damit über Claude Code, Cursor oder einen anderen MCP-fähigen Agenten:
„Klonen Sie meine Stimme aus
~/Desktop/me.mov(hier ist das Transkript) und erstellen Sie dann einen 15-Sekunden-Clip im Miami-Palette-Stil, der ‚Happy Birthday‘ sagt, mit meinem Foto in der Mitte.“
So funktioniert es
Vollständig eigenständig. Sprache wird lokal von mlx-audio (Qwen3-TTS über MLX) erzeugt, das Wellenform-Video wird mit MLX / Pillow gerendert und mit ffmpeg gemuxt. Keine Cloud, kein Voicebox, keine Desktop-App.
Klonen ist Zero-Shot-In-Context-Learning: Es trimmt Ihre Referenz auf ~12 Sekunden und konditioniert darauf. Es gibt keinen Trainingsschritt und kein separates Modell pro Stimme.
Related MCP server: Rheo MCP Server
Voraussetzungen
Apple-Silicon-Mac (arm64). Wird beim Start erzwungen.
Sonst nichts manuell zu installieren.
ffmpegist gebündelt enthalten (statisches Binary überimageio-ffmpeg); ein System-ffmpegim PATH wird automatisch verwendet, falls vorhanden.
Der erste Lauf ist der langsame
Die Installation selbst ist schnell, aber sie lädt nicht die KI-Modelle herunter. Beim ersten clone_voice / make_clip lädt VoiceCard träge in den gemeinsamen Hugging-Face-Cache (~/.cache/huggingface/hub/):
Qwen3-TTS-Gewichte (~einige GB) — Sprachsynthese.
Whisper (
large-v3-turbo, ~1,5 GB) — wird verwendet, um Referenzen automatisch zu transkribieren und Untertitel zu timen.
Beide werden gecacht, das passiert also nur einmal. Planen Sie ein paar Minuten, etwas Bandbreite und ~mehrere GB Speicherplatz für diesen ersten Aufruf ein.
Kein Hugging-Face-Konto oder -Token erforderlich — beide Modelle sind öffentlich und werden anonym heruntergeladen. Hugging Face wird nur als Download-Host verwendet. Anonyme Downloads sind jedoch ratenbegrenzt; wenn der erste Download langsam oder gedrosselt ist, setzen Sie ein kostenloses Token für schnellere/höhere Download-Raten (völlig optional):
export HF_TOKEN=hf_xxx # optional — only speeds up / de-throttles the first downloadInstallation
Benötigt uv (brew install uv oder den Einzeiler-Installer von dieser Seite). Sonst nichts — ffmpeg ist gebündelt, die Modelle laden sich selbst herunter.
Einzeiler, direkt von GitHub:
uv tool install git+https://github.com/JasonMakes801/voicecard-mcpDann registrieren Sie es bei Claude Code (der Befehl voicecard ist jetzt in Ihrem PATH):
claude mcp add -s user voicecard -- voicecardDas war's. Bitten Sie Ihren Agenten, clone_voice und make_clip auszuführen.
git clone https://github.com/JasonMakes801/voicecard-mcp
cd voicecard-mcp
uv tool install . # or: uv run voicecard
# register the in-place checkout
claude mcp add -s user voicecard -- uv --directory "$PWD" run voicecardWerkzeuge
Werkzeug | Was es tut |
| Listet gespeicherte Stimmen auf, jeweils mit |
| Listet verfügbare Paletten (Name + Farben) und rendert ein visuelles Farbfeld-Blatt (gibt |
| Klont aus einer Audio- oder Videodatei. Trimmt die Referenz auf ~12s und speichert ein Profil. |
| Erzeugt Sprache in einer geklonten Stimme; gibt einen WAV-Pfad zurück. |
| Erzeugt Sprache und rendert das teilbare Wellenform-MP4. Untertitel (Pop-up-Blasen, die auf die Auslieferung getimt sind) sind standardmäßig aktiviert; der Avatar fällt auf das gespeicherte |
Paletten: Noir (Standard), 70s Gold, Miami, Aurora, Sunset, Mint, Blueprint
Seitenverhältnis: square (1080², Standard), portrait (9:16)
Layout: linear (Standard — kreisförmiges Foto + kompakte Gradient-Wellenform darunter, Dynamic-Island-Stil) · circle (zentrierter audio-reaktiver Spektrum-Ring)
Bogen (nur Kreis-Layout): full (Standard, gespiegelter Ring) · top (Spikes über der oberen Hälfte)
Konfiguration (Umgebungsvariablen)
Variable | Standard |
|
|
|
|
|
|
| überschreibt das ffmpeg-Binary (sonst System-PATH, sonst gebündelt) |
| QR-Ziel, das auf jedem Clip gedruckt wird |
| Tagline, die auf jedem Clip gedruckt wird |
Testen
uv pip install -e ".[test]"
pytest tests/test_fast.py tests/test_mcp.py -q # fast: no model, no network (~1s)
VOICECARD_RUN_MODEL_TESTS=1 pytest tests/test_integration.py -q # real Qwen+Whisper (downloads GBs)
bash scripts/virgin_install_test.sh # fresh-venv install + smoke, from scratchSchnell (
test_fast.py,test_mcp.py): Paletten-Integrität, Untertitel-Ausrichtung (Eingabewörter, STT-Timings), Argumentvalidierung und die MCP-Protokolloberfläche.Integration (
test_integration.py, gated): Klonen → Sprechen → make_clip Ende-zu-Ende, wobei geprüft wird, dass das MP4 Audio+Video und eine Dauer ungleich null hat.Jungferninstallation (
scripts/virgin_install_test.sh): installiert in eine Wegwerf-venv und verifiziert Importe, den gebündelten-ffmpeg-Fallback (ohne brew), das Konsolenskript und die Modell-freien Suiten gegen das installierte Paket.
Hinweise
Die Ausgabe ist Stereo,
+faststart, H.264 High Profile — abgestimmt auf Inline-Autoplay in Messengern.Die Wellenform ist so gestaltet, dass sie immer lebendig aussieht, nicht wie ein Diagnose-Spektrumanalysator.
Core ML / ANE-Auslagerung des autoregressiven Decoders ist nicht geplant (dynamische Formen + KV-Cache + sequentielle Dekodierung passen schlecht zu ANE). Eine zukünftige Core-ML-Vocoder-Auslagerung ist das einzige Stück, das es wert ist, erkundet zu werden.
Roadmap
Untertitel ohne Whisper (Qwens eigene Ausrichtung ernten). Qwen3-TTS läuft mit 12 Hz und kennt das Wort-Timing intern bereits über seine Cross-Attention (ein monotoner Text-Token → Audio-Frame-Grat). Heute gewinnen wir das Timing zurück, indem wir Whisper auf der Ausgabe laufen lassen — robust, aber ein ganzes zweites Modell. Stattdessen den Decode von mlx-audio patchen, um die Cross-Attention für die Ziel-Region sichtbar zu machen (die ICL-Referenz vorn abschneiden), eine monotone Ausrichtung extrahieren und Text-Tokens → Wörter abbilden. Das würde Whisper vom Pro-Clip-Hot-Path entfernen: In Kombination mit der Übergabe von
transcriptbeim Klonen würde Whisper für einen normalen Benutzer nie laufen (oder herunterladen). Risiko: Der interne Decode von mlx-audio ist keine stabile API, also Version pinnen und einen Drift-Test hinzufügen (Qwen-abgeleitete Timings vs. Whisper auf einer Fixture; fehlschlagen, wenn sie abweichen). Hinweis: Es gibt keine Phoneme zum Ausrichten — nur BPE-Text-Tokens → Audio-Frames.
Lizenz
MIT. Sie sind dafür verantwortlich, nur Stimmen zu klonen, die Sie besitzen oder zu deren Verwendung Sie autorisiert sind.
This server cannot be deployed
Maintenance
Related MCP Connectors
Turn documents and photos into narrated AI videos from Claude, ChatGPT, Codex or any MCP client.
AI voice generation: text-to-speech and voice cloning from any MCP client.
Generate lip-synced talking and singing videos from images or videos and audio.
1Generate and edit images, video, voice, lip-sync and 3D models from your AI agent.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceEnables text-to-speech generation, voice cloning, dialogue creation, and other TTS operations through natural language in MCP-compatible AI assistants.9 npmMIT- AlicenseNot gradedqualityBmaintenanceEnables AI agents to access local voice synthesis, zero-shot cloning, and voice catalog tools through native MCP tool calls for applications like Claude and Cursor.79 npmAGPL 3.0
- AlicenseNot gradedqualityAmaintenanceEnables MCP-compatible clients to generate images and videos, synthesize speech, clone and design voices, and create related media outputs.493 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables MCP-compatible clients to generate images and videos, synthesize text-to-speech audio, and clone or design custom voices. It also supports flexible output handling (URLs or local files) and multiple transport modes including stdio, REST, and SSE.493 npmMIT