{
 "schema_version": 1,
 "generated": "2026-10-26",
 "url": "https://dedupedai.com/best-ai-repos-for/voice-and-speech/",
 "task": "voice, speech-to-text and text-to-speech",
 "question": "What is the best open-source repo for AI voice, transcription and text-to-speech?",
 "answer": "The best open-source AI repos for voice, speech-to-text and text-to-speech right now are Openwhispr, Kitten TTS and LocalAI. For dictation on your own computer use OpenWhispr; for small, fast text-to-speech models use Kitten-TTS; for one local server that also handles voice next to LLMs use LocalAI.",
 "md": "https://dedupedai.com/best-ai-repos-for/voice-and-speech/index.md",
 "repos": [
  {
   "repo": "OpenWhispr/openwhispr",
   "title": "Openwhispr",
   "url": "https://dedupedai.com/use-cases/openwhispr-openwhispr/",
   "github": "https://github.com/OpenWhispr/openwhispr",
   "what": "OpenWhispr is a free, open-source alternative to WisprFlow and Granola. Press a hotkey, speak and your words appear at your cursor, using fully offline speech-to-text models such as Whisper and NVIDIA Parakeet or cloud providers. It also transcribes meetings with speaker diarization, keeps searchable notes, offers a Voice Assistant hotkey that sends commands to GPT, Claude, Gemini or local models, and has a public API and MCP server.",
   "who": "Writers, developers and professionals on macOS, Windows or Linux who want private voice dictation and meeting notes without a subscription.",
   "stars": 10055,
   "language": "JavaScript",
   "requirements": [
    "macOS, Windows or Linux",
    "Optional: local models download for offline use, or cloud provider keys",
    "To run from source: Node.js 24+"
   ],
   "uc_count": 3,
   "use_cases": [
    {
     "title": "Dictate into any app with private, offline speech-to-text",
     "url": "https://dedupedai.com/use-cases/openwhispr-openwhispr/dictate-into-any-app-privately/"
    },
    {
     "title": "Transcribe Zoom and Teams meetings with speaker labels",
     "url": "https://dedupedai.com/use-cases/openwhispr-openwhispr/transcribe-meetings-with-speaker-labels/"
    },
    {
     "title": "Give your AI assistant access to your voice notes over MCP",
     "url": "https://dedupedai.com/use-cases/openwhispr-openwhispr/connect-your-notes-to-an-ai-assistant/"
    }
   ],
   "best": {
    "title": "Dictate into any app with private, offline speech-to-text",
    "url": "https://dedupedai.com/use-cases/openwhispr-openwhispr/dictate-into-any-app-privately/",
    "difficulty": "Beginner",
    "time": "10 minutes",
    "agents": [],
    "steps": [
     "Download the app for your platform, or on macOS run brew install --cask openwhispr",
     "Choose a local speech-to-text model such as Whisper or NVIDIA Parakeet",
     "Set your global dictation hotkey",
     "Press the hotkey, speak, and the text appears at your cursor",
     "Use the dictation translation hotkey to speak in one language and paste in another"
    ],
    "md": "https://dedupedai.com/use-cases/openwhispr-openwhispr/dictate-into-any-app-privately/index.md"
   }
  },
  {
   "repo": "KittenML/KittenTTS",
   "title": "Kitten TTS",
   "url": "https://dedupedai.com/use-cases/kittenml-kittentts/",
   "github": "https://github.com/KittenML/KittenTTS",
   "what": "Kitten-TTS is an open-source family of text-to-speech models, including the 1.7B 1-bit Kitten-TTS 2 with voice cloning and expression control and lightweight 15M to 80M models that run on CPU.",
   "who": "Developers adding speech to apps, assistants or content pipelines who want local, CPU-friendly TTS.",
   "stars": 16217,
   "language": "Python",
   "requirements": [
    "Python with pip",
    "A CPU is enough for the lightweight models; Kitten-TTS 2 runs realtime on CPUs and consumer GPUs per the README"
   ],
   "uc_count": 3,
   "use_cases": [
    {
     "title": "Add natural local speech to a Python app in a few lines",
     "url": "https://dedupedai.com/use-cases/kittenml-kittentts/add-local-tts-to-python-app/"
    },
    {
     "title": "Narrate content in your own cloned voice",
     "url": "https://dedupedai.com/use-cases/kittenml-kittentts/clone-your-own-voice-for-narration/"
    },
    {
     "title": "Control emotion and emphasis in generated speech",
     "url": "https://dedupedai.com/use-cases/kittenml-kittentts/control-emotion-in-generated-speech/"
    }
   ],
   "best": {
    "title": "Add natural local speech to a Python app in a few lines",
    "url": "https://dedupedai.com/use-cases/kittenml-kittentts/add-local-tts-to-python-app/",
    "difficulty": "Beginner",
    "time": "15 minutes",
    "agents": [
     "claude-code",
     "codex",
     "cursor"
    ],
    "steps": [
     "Install: pip install kittenml",
     "Load the model: m = KittenTTS(\"KittenML/kitten-tts-2\")",
     "List voices with m.available_voices and pick one",
     "Save speech: m.generate_to_file(\"Hello, world.\", \"output.wav\", voice=\"Bruno\")",
     "For long text, iterate over m.generate_stream with a voice and play each chunk as it arrives",
     "On a Mac use pip install \"kittenml[mlx]\" for the MLX backend; on CPU the kitten_tts_cpp package is the fastest route"
    ],
    "md": "https://dedupedai.com/use-cases/kittenml-kittentts/add-local-tts-to-python-app/index.md"
   }
  },
  {
   "repo": "mudler/LocalAI",
   "title": "LocalAI",
   "url": "https://dedupedai.com/use-cases/mudler-localai/",
   "github": "https://github.com/mudler/LocalAI",
   "what": "LocalAI is an open-source AI engine that runs LLMs, vision, voice, image and video models on any hardware, with no GPU required. Each backend (llama.cpp, vLLM, whisper.cpp, stable-diffusion, MLX and more) is pulled only when a model needs it, and every backend sits behind drop-in OpenAI, Anthropic and ElevenLabs compatible APIs, with multi-user auth, quotas and built-in agents with tools, RAG and MCP.",
   "who": "Developers and teams who want a private, self-hosted replacement for cloud AI APIs that existing OpenAI or Anthropic clients can talk to.",
   "stars": 49983,
   "language": "Go",
   "requirements": [
    "Docker or Podman, or the macOS app (not signed by Apple)",
    "Optional GPU: NVIDIA, AMD, Intel, Apple Silicon or Vulkan; CPU-only works",
    "Disk space for the models you pull"
   ],
   "uc_count": 3,
   "use_cases": [
    {
     "title": "Self-host an OpenAI-compatible API on your own server",
     "url": "https://dedupedai.com/use-cases/mudler-localai/self-host-an-openai-compatible-api/"
    },
    {
     "title": "Chat with local models from the terminal",
     "url": "https://dedupedai.com/use-cases/mudler-localai/chat-with-local-models-in-the-terminal/"
    },
    {
     "title": "Run any model from Hugging Face, Ollama or an OCI registry",
     "url": "https://dedupedai.com/use-cases/mudler-localai/run-models-from-hugging-face-or-ollama/"
    }
   ],
   "best": {
    "title": "Self-host an OpenAI-compatible API on your own server",
    "url": "https://dedupedai.com/use-cases/mudler-localai/self-host-an-openai-compatible-api/",
    "difficulty": "Beginner",
    "time": "30 minutes",
    "agents": [
     "claude-code",
     "codex",
     "cursor"
    ],
    "steps": [
     "Start the CPU image: docker run -ti --name local-ai -p 8080:8080 localai/localai:latest",
     "Or with an NVIDIA GPU: docker run -ti --name local-ai -p 8080:8080 --gpus all localai/localai:latest-gpu-nvidia-cuda-12",
     "Load a model, for example local-ai run llama-3.2-1b-instruct:q4_k_m",
     "Point your app's OpenAI base URL at http://localhost:8080",
     "Restart later with docker start -i local-ai"
    ],
    "md": "https://dedupedai.com/use-cases/mudler-localai/self-host-an-openai-compatible-api/index.md"
   }
  },
  {
   "repo": "NVIDIA/personaplex",
   "title": "PersonaPlex",
   "url": "https://dedupedai.com/use-cases/nvidia-personaplex/",
   "github": "https://github.com/NVIDIA/personaplex",
   "what": "PersonaPlex is NVIDIA's real-time, full-duplex speech-to-speech conversational model based on Moshi that controls persona through text role prompts and audio voice conditioning.",
   "who": "Speech AI researchers and developers building low-latency voice agents with a consistent persona.",
   "stars": 11246,
   "language": "Python",
   "requirements": [
    "Linux with an NVIDIA GPU",
    "Opus development library",
    "A Hugging Face token with access to the model"
   ],
   "uc_count": 3,
   "use_cases": [
    {
     "title": "Talk to a full duplex voice agent in your browser",
     "url": "https://dedupedai.com/use-cases/nvidia-personaplex/run-full-duplex-voice-agent-web-ui/"
    },
    {
     "title": "Give the voice agent a role and a voice",
     "url": "https://dedupedai.com/use-cases/nvidia-personaplex/give-voice-agent-a-persona/"
    },
    {
     "title": "Generate spoken replies from WAV files offline",
     "url": "https://dedupedai.com/use-cases/nvidia-personaplex/batch-generate-spoken-replies-offline/"
    }
   ],
   "best": {
    "title": "Talk to a full duplex voice agent in your browser",
    "url": "https://dedupedai.com/use-cases/nvidia-personaplex/run-full-duplex-voice-agent-web-ui/",
    "difficulty": "Advanced",
    "time": "45 minutes",
    "agents": [],
    "steps": [
     "Install the Opus codec: sudo apt install libopus-dev on Ubuntu or Debian",
     "From the repo run pip install moshi/.; Blackwell GPUs also need the CUDA 13 PyTorch wheels from the README",
     "Accept the PersonaPlex model license on Hugging Face and export your HF_TOKEN",
     "Start the server: SSL_DIR=$(mktemp -d); python -m moshi.server --ssl \"$SSL_DIR\"",
     "If GPU memory is short, add --cpu-offload after running pip install accelerate",
     "Open localhost:8998 in your browser, or the access link the script prints on a remote machine"
    ],
    "md": "https://dedupedai.com/use-cases/nvidia-personaplex/run-full-duplex-voice-agent-web-ui/index.md"
   }
  },
  {
   "repo": "nyosegawa/speech.cpp",
   "title": "Speech CPP",
   "url": "https://dedupedai.com/use-cases/nyosegawa-speech-cpp/",
   "github": "https://github.com/nyosegawa/speech.cpp",
   "what": "speech.cpp is a C++ command and library on ggml for speech synthesis, speech recognition and voice activity detection, running on the CPU, Metal or Vulkan with an OpenAI-compatible server.",
   "who": "Developers and power users who want local speech synthesis and transcription without Python or CUDA, and who need text-to-speech, transcription or an audio API on their own machine.",
   "stars": 195,
   "language": "C++",
   "requirements": [
    "macOS on Apple silicon, Linux on x86-64, or Windows x64",
    "Internet access to fetch the installer and models from Hugging Face the first time",
    "Free disk space for the model files, for example 1.21 GB for qwen3-tts-0.6b",
    "A terminal (PowerShell on Windows)"
   ],
   "uc_count": 5,
   "use_cases": [
    {
     "title": "Transcribe long Japanese recordings with timestamps",
     "url": "https://dedupedai.com/use-cases/nyosegawa-speech-cpp/transcribe-japanese-recordings-with-timestamps/"
    },
    {
     "title": "Caption the microphone live as you speak",
     "url": "https://dedupedai.com/use-cases/nyosegawa-speech-cpp/caption-the-microphone-as-you-speak/"
    },
    {
     "title": "Generate spoken narration audio from a text file",
     "url": "https://dedupedai.com/use-cases/nyosegawa-speech-cpp/generate-narration-audio-from-text/"
    }
   ],
   "best": {
    "title": "Transcribe long Japanese recordings with timestamps",
    "url": "https://dedupedai.com/use-cases/nyosegawa-speech-cpp/transcribe-japanese-recordings-with-timestamps/",
    "difficulty": "Intermediate",
    "time": "30 minutes",
    "agents": [],
    "steps": [
     "Install speech with curl -fsSL https://raw.githubusercontent.com/nyosegawa/speech.cpp/main/install.sh | sh on macOS or Linux, or irm https://raw.githubusercontent.com/nyosegawa/speech.cpp/main/install.ps1 | iex in PowerShell on Windows.",
     "Put the recording in a WAVE file, for example meeting.wav.",
     "Run speech asr reazonspeech-v2 --timestamps meeting.wav. The model is fetched the first time.",
     "Check the first few lines of the output against the audio, since the model is for Japanese only."
    ],
    "md": "https://dedupedai.com/use-cases/nyosegawa-speech-cpp/transcribe-japanese-recordings-with-timestamps/index.md"
   }
  },
  {
   "repo": "debpalash/VoiceStudio",
   "title": "Voice Studio",
   "url": "https://dedupedai.com/use-cases/debpalash-voicestudio/",
   "github": "https://github.com/debpalash/VoiceStudio",
   "what": "VoiceStudio is an open-source, local desktop app and API for voice cloning, voice design, video dubbing, dictation, transcription and audiobook creation.",
   "who": "Content creators, localization staff and developers who want speech and dubbing tools that run on their own hardware.",
   "stars": 81165,
   "language": "Python",
   "requirements": [
    "A computer with an NVIDIA GPU, Apple Silicon, or a CPU (slower)",
    "Free disk space; the CPU build of PyTorch needs about 5 GB",
    "Permission to use any voice you clone",
    "Internet access for the installer and the first model download"
   ],
   "uc_count": 6,
   "use_cases": [
    {
     "title": "Dub a video into timed speech locally",
     "url": "https://dedupedai.com/use-cases/debpalash-voicestudio/dub-video-into-timed-speech/"
    },
    {
     "title": "Turn a manuscript into an audiobook in batches",
     "url": "https://dedupedai.com/use-cases/debpalash-voicestudio/batch-audiobook-from-manuscript/"
    },
    {
     "title": "Dictate and transcribe speech without the cloud",
     "url": "https://dedupedai.com/use-cases/debpalash-voicestudio/local-dictation-and-transcription/"
    }
   ],
   "best": {
    "title": "Dub a video into timed speech locally",
    "url": "https://dedupedai.com/use-cases/debpalash-voicestudio/dub-video-into-timed-speech/",
    "difficulty": "Beginner",
    "time": "45 minutes",
    "agents": [],
    "steps": [
     "curl -fsSL https://voicestudio.sh/install | sh",
     "Open Voice Studio and choose the Video dubbing workspace.",
     "Add your video and the voice or language you want, then install the required model when prompted.",
     "Generate the dub and listen to the sections where speech starts and stops to check timing."
    ],
    "md": "https://dedupedai.com/use-cases/debpalash-voicestudio/dub-video-into-timed-speech/index.md"
   }
  },
  {
   "repo": "seacen/meetcap",
   "title": "Meetcap",
   "url": "https://dedupedai.com/use-cases/seacen-meetcap/",
   "github": "https://github.com/seacen/meetcap",
   "what": "MeetCap is a Mac meeting assistant that records and transcribes meetings on your computer, writes live summaries and minutes, and lets an AI agent start recordings and search past meetings.",
   "who": "People who attend many meetings, need minutes they can trust, or want an AI agent to search and summarize what was said.",
   "stars": 142,
   "language": "Shell",
   "requirements": [
    "A Mac with macOS 14.2 or later, Apple silicon or Intel",
    "Permissions granted during MeetCap setup (covered in the docs at meetcap.seacen.dev)",
    "An AI agent such as Claude Code or Codex for agent-driven use cases, or a local model, your own API key, or a compatible agent for minutes"
   ],
   "uc_count": 5,
   "use_cases": [
    {
     "title": "Find what was agreed in past meetings by asking your agent",
     "url": "https://dedupedai.com/use-cases/seacen-meetcap/find-past-meeting-decisions-by-asking-agent/"
    },
    {
     "title": "Keep minutes local for meetings that cannot leave the room",
     "url": "https://dedupedai.com/use-cases/seacen-meetcap/keep-minutes-local-for-sensitive-meetings/"
    },
    {
     "title": "Get live summaries and minutes from your background agent",
     "url": "https://dedupedai.com/use-cases/seacen-meetcap/live-summaries-and-minutes-via-background-agent/"
    }
   ],
   "best": {
    "title": "Find what was agreed in past meetings by asking your agent",
    "url": "https://dedupedai.com/use-cases/seacen-meetcap/find-past-meeting-decisions-by-asking-agent/",
    "difficulty": "Intermediate",
    "time": "1 hour",
    "agents": [
     "claude-code",
     "codex"
    ],
    "steps": [
     "Download MeetCap from https://meetcap.seacen.dev/download, open it and follow the short setup, or run curl -fsSL https://meetcap.seacen.dev/install.sh | bash in the terminal.",
     "Record your meetings with MeetCap from the menu bar, a hotkey, your agent, or a schedule so that transcripts and minutes are saved.",
     "Load the MeetCap agent skill from the seacen/meetcap repository into your agent, such as Claude Code or Codex.",
     "Ask your agent a question about a past decision, for example what price was agreed with a supplier last month.",
     "Open the linked meeting point and check that the line matches the answer."
    ],
    "md": "https://dedupedai.com/use-cases/seacen-meetcap/find-past-meeting-decisions-by-asking-agent/index.md"
   }
  }
 ]
}
