chore(release): prepare v0.6.0-beta with whisper.cpp as default (#181)

* docs: update all documentation for whisper.cpp as default engine

Comprehensive documentation update highlighting whisper.cpp as the new
default speech recognition engine:

README.md:
- Added 'Major Change: whisper.cpp is Now Default!' section
- Updated Features to highlight whisper.cpp and Vulkan GPU support
- Updated Quick Install section with engine choices
- Changed default engine from whisper to whisper_cpp in examples
- Updated configuration examples
- Updated roadmap to mark whisper.cpp as complete

docs/INSTALL.md:
- Added whisper.cpp section with performance benefits
- Updated installation options (--engine flag)
- Added GPU support matrix and Vulkan detection info
- Added installation time comparison table
- Updated system requirements (lower disk space for whisper.cpp)

docs/USER_GUIDE.md:
- Added comprehensive 'Choosing Your Engine' section
- Added GPU acceleration information
- Updated tips to mention whisper.cpp benefits
- Added model size recommendations

web/src/app/page.tsx:
- Updated hero to mention whisper.cpp (C++ optimized, Vulkan support)
- Changed installation time from ~5-10 min to ~1-2 min
- Updated Features section to mention Vulkan GPU support
- Added whisper.cpp as default engine card (3-column layout)
- Updated installation commands (--engine flags)
- Updated FAQ about switching engines

This ensures all documentation reflects whisper.cpp as the new default
and highlights its major benefits: 10x faster install, universal GPU
support, and C++ optimized performance.

* chore(release): prepare v0.6.0-beta

This release brings whisper.cpp as the new default speech recognition engine:

Version Updates:
- Bump version from 0.5.0-beta to 0.6.0-beta
- Update src/vocalinux/version.py
- Update web/package.json

Documentation Updates:
- README.md: Update all v0.5.0-beta references to v0.6.0-beta
- docs/INSTALL.md: Update version references and installation commands
- docs/UPDATE.md: Add new 'What's New' section highlighting whisper.cpp
- SECURITY.md: Update supported versions table (0.6.x now supported)

Website Updates:
- web/src/app/layout.tsx: Update softwareVersion to 0.6.0-beta

Release Highlights:
- whisper.cpp is now the default engine (10x faster install!)
- Universal GPU support via Vulkan (AMD, Intel, NVIDIA)
- C++ optimized inference with multi-threading
- ~1-2 minute installation vs ~5-10 minutes before

Testing:
- All 472 tests passing
- Black formatting clean
- Flake8 linting clean
- isort import ordering clean

* ui(website): improve hero section layout

* docs(readme): remove duplicate What's New section
This commit is contained in:
Jatin K Malik
2026-02-11 20:33:28 -08:00
committed by GitHub
parent 051c84fd84
commit 03d55a989f
9 changed files with 403 additions and 178 deletions
+1 -1
View File
@@ -120,7 +120,7 @@ export default function RootLayout({
"priceCurrency": "USD"
},
"description": "Free, open-source voice dictation for Linux. 100% offline with Whisper AI and VOSK. Works with X11 and Wayland.",
"softwareVersion": "0.5.0-beta",
"softwareVersion": "0.6.0-beta",
"author": {
"@type": "Person",
"name": "Jatin K Malik",
+84 -36
View File
@@ -44,9 +44,9 @@ const getInstallCommands = (latestRelease: string) => ({
oneClickInstallCommand: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease}`,
oneClickInstallWhisperCpu: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease} --whisper-cpu`,
oneClickInstallWhisper: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease} --engine=whisper`,
oneClickInstallNoWhisper: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease} --no-whisper`,
oneClickInstallVosk: `curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/main/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --tag=${latestRelease} --engine=vosk`,
uninstallCommand: `curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/main/uninstall.sh -o /tmp/vul.sh && bash /tmp/vul.sh`,
});
@@ -178,7 +178,7 @@ export default function HomePage() {
// Get install commands based on the latest release
const installCommands = getInstallCommands(latestRelease);
const { interactiveInstallCommand, oneClickInstallCommand, oneClickInstallWhisperCpu, oneClickInstallNoWhisper, uninstallCommand } = installCommands;
const { interactiveInstallCommand, oneClickInstallCommand, oneClickInstallWhisper, oneClickInstallVosk, uninstallCommand } = installCommands;
return (
<main className="min-h-screen bg-gradient-to-b from-zinc-50 to-white dark:from-zinc-900 dark:to-zinc-950">
@@ -194,7 +194,7 @@ export default function HomePage() {
/>
<span className="font-bold text-lg sm:text-xl">Vocalinux</span>
<span className="hidden sm:inline-block text-xs bg-gradient-to-r from-primary/20 to-green-500/20 text-primary border border-primary/30 px-2.5 py-1 rounded-full font-semibold shadow-sm shadow-primary/20">
v0.5.0 Beta
v0.6.0 Beta
</span>
</Link>
@@ -308,9 +308,11 @@ export default function HomePage() {
</span>
</h1>
<p className="text-lg sm:text-xl md:text-2xl text-muted-foreground mb-2 max-w-3xl mx-auto">
100% offline voice dictation for Linux.
</p>
<p className="text-lg sm:text-xl md:text-2xl text-muted-foreground mb-8 max-w-3xl mx-auto">
100% offline, privacy-first voice-to-text. Double-tap Ctrl to dictate anywhere.
Powered by Whisper AI &amp; VOSK. Free &amp; open-source.
Just double-tap Ctrl and speak.
</p>
{/* CTA Buttons */}
@@ -379,11 +381,27 @@ export default function HomePage() {
No sudo required
</span>
<span className="flex items-center gap-1.5">
<Zap className="h-3.5 w-3.5 text-yellow-500" />
~5-10 min
<Zap className="h-3.5 w-3.5 text-green-500" />
~1-2 min
</span>
</div>
</div>
{/* Tech stack info */}
<div className="flex flex-wrap justify-center items-center gap-4 sm:gap-6 mt-4 pt-4 border-t border-zinc-800/30 text-xs text-zinc-400">
<span className="flex items-center gap-1.5">
<Zap className="h-3.5 w-3.5 text-yellow-500" />
<strong className="text-zinc-300">whisper.cpp</strong> powered
</span>
<span className="flex items-center gap-1.5">
<Globe className="h-3.5 w-3.5 text-blue-500" />
AMD, Intel & NVIDIA GPUs
</span>
<span className="flex items-center gap-1.5">
<Code className="h-3.5 w-3.5 text-purple-500" />
Free & open-source
</span>
</div>
</div>
</motion.div>
@@ -498,7 +516,7 @@ export default function HomePage() {
<FeatureCard
icon={<Zap className="h-6 w-6 text-primary" />}
title="Blazing Fast"
description="Optimized for real-time transcription. Choose from Whisper AI (accurate) or VOSK (lightweight) engines."
description="whisper.cpp brings C++ optimized inference with Vulkan GPU support. Works with AMD, Intel, and NVIDIA GPUs!"
/>
<FeatureCard
icon={<Keyboard className="h-6 w-6 text-primary" />}
@@ -591,16 +609,16 @@ export default function HomePage() {
<FadeInSection delay={0.1}>
<div className="bg-white dark:bg-zinc-800 rounded-2xl shadow-xl overflow-hidden border border-zinc-200 dark:border-zinc-700 min-w-0">
<div className="p-6 sm:p-8">
{/* Alternative: Auto-detect install */}
{/* Default: whisper.cpp install */}
<div className="mb-8">
<div className="flex items-center gap-3 mb-4">
<div className="bg-blue-500/10 p-2 rounded-lg">
<Zap className="h-5 w-5 text-blue-500" />
<div className="bg-green-500/10 p-2 rounded-lg">
<Zap className="h-5 w-5 text-green-500" />
</div>
<div className="flex-1">
<h3 className="text-xl font-semibold">Auto-detect Install</h3>
<h3 className="text-xl font-semibold">Recommended: whisper.cpp (Default)</h3>
<p className="text-sm text-muted-foreground">
Fastest for power users - no prompts (~3-10 min)
Fastest installation (~1-2 min), Vulkan GPU support for AMD/Intel/NVIDIA
</p>
</div>
<CopyButton text={oneClickInstallCommand} />
@@ -617,19 +635,19 @@ export default function HomePage() {
</div>
</div>
{/* Alternative install - CPU only */}
{/* Alternative install - Whisper (OpenAI) */}
<div className="border-t border-zinc-200 dark:border-zinc-700 pt-6">
<div className="flex items-center gap-3 mb-4">
<div className="bg-cyan-500/10 p-2 rounded-lg">
<Cpu className="h-5 w-5 text-cyan-500" />
</div>
<div className="flex-1">
<h3 className="text-lg font-semibold">CPU-only Install</h3>
<h3 className="text-lg font-semibold">OpenAI Whisper (PyTorch)</h3>
<p className="text-sm text-muted-foreground">
Smaller download (~200MB vs ~2.3GB) - for systems without NVIDIA GPU (~3-4 min)
PyTorch-based engine, NVIDIA GPU only (~5-10 min, ~2.3GB download)
</p>
</div>
<CopyButton text={oneClickInstallWhisperCpu} />
<CopyButton text={oneClickInstallWhisper} />
</div>
<div className="overflow-x-auto">
<CodeBlock
@@ -638,7 +656,7 @@ export default function HomePage() {
customStyle={{ margin: 0, maxWidth: '100%', overflowX: 'auto' }}
wrapLongLines={false}
>
{oneClickInstallWhisperCpu}
{oneClickInstallWhisper}
</CodeBlock>
</div>
</div>
@@ -652,10 +670,10 @@ export default function HomePage() {
<div className="flex-1">
<h3 className="text-lg font-semibold">VOSK Only (Lightweight)</h3>
<p className="text-sm text-muted-foreground">
For low-RAM systems (8GB or less) - skips Whisper entirely (~2-3 min)
For low-RAM systems (4GB or less) - minimal footprint (~40MB)
</p>
</div>
<CopyButton text={oneClickInstallNoWhisper} />
<CopyButton text={oneClickInstallVosk} />
</div>
<div className="overflow-x-auto">
<CodeBlock
@@ -664,7 +682,7 @@ export default function HomePage() {
customStyle={{ margin: 0, maxWidth: '100%', overflowX: 'auto' }}
wrapLongLines={false}
>
{oneClickInstallNoWhisper}
{oneClickInstallVosk}
</CodeBlock>
</div>
</div>
@@ -765,7 +783,7 @@ export default function HomePage() {
</div>
</FadeInSection>
<div className="grid md:grid-cols-2 gap-8">
<div className="grid md:grid-cols-3 gap-8">
<FadeInSection delay={0.1}>
<div className="bg-white dark:bg-zinc-800 rounded-xl p-6 border-2 border-primary h-full relative overflow-hidden">
<div className="absolute top-4 right-4">
@@ -775,19 +793,19 @@ export default function HomePage() {
</div>
<div className="flex items-center gap-3 mb-4">
<div className="bg-primary/10 p-3 rounded-lg">
<Sparkles className="h-6 w-6 text-primary" />
<Zap className="h-6 w-6 text-primary" />
</div>
<h3 className="text-xl font-bold">Whisper AI</h3>
<h3 className="text-xl font-bold">whisper.cpp</h3>
</div>
<p className="text-muted-foreground mb-6">
OpenAI&apos;s state-of-the-art speech recognition model, running locally on your machine.
High-performance C++ port of Whisper with Vulkan GPU support. Our new default!
</p>
<ul className="space-y-2 mb-6">
{[
"Highest accuracy available",
"Multiple model sizes (tiny to large)",
"Excellent multi-language support",
"Best for clear, accurate transcription",
"10x faster installation (~1-2 min)",
"Universal GPU support (AMD/Intel/NVIDIA)",
"C++ optimized, true multi-threading",
"Tiny model only ~39MB",
].map((item, i) => (
<li key={i} className="flex items-center gap-2 text-sm">
<CheckCircle2 className="h-4 w-4 text-green-500" />
@@ -796,16 +814,46 @@ export default function HomePage() {
))}
</ul>
<div className="text-sm text-muted-foreground">
<strong>Model sizes:</strong> Tiny (75MB) • Base (142MB) • Small (466MB) • Medium (1.5GB) • Large (3GB)
<strong>Model sizes:</strong> Tiny (39MB) • Base (74MB) • Small (244MB) • Medium (769MB) • Large (1.5GB)
</div>
</div>
</FadeInSection>
<FadeInSection delay={0.2}>
<div className="bg-white dark:bg-zinc-800 rounded-xl p-6 border border-zinc-200 dark:border-zinc-700 h-full">
<div className="flex items-center gap-3 mb-4">
<div className="bg-purple-500/10 p-3 rounded-lg">
<Sparkles className="h-6 w-6 text-purple-500" />
</div>
<h3 className="text-xl font-bold">Whisper (OpenAI)</h3>
</div>
<p className="text-muted-foreground mb-6">
OpenAI&apos;s original PyTorch-based Whisper model. NVIDIA GPU only.
</p>
<ul className="space-y-2 mb-6">
{[
"PyTorch-based implementation",
"NVIDIA GPU support (CUDA)",
"Same accuracy as whisper.cpp",
"Larger download (~2.3GB)",
].map((item, i) => (
<li key={i} className="flex items-center gap-2 text-sm">
<CheckCircle2 className="h-4 w-4 text-purple-500" />
{item}
</li>
))}
</ul>
<div className="text-sm text-muted-foreground">
<strong>Install time:</strong> ~5-10 minutes with PyTorch
</div>
</div>
</FadeInSection>
<FadeInSection delay={0.3}>
<div className="bg-white dark:bg-zinc-800 rounded-xl p-6 border border-zinc-200 dark:border-zinc-700 h-full">
<div className="flex items-center gap-3 mb-4">
<div className="bg-blue-500/10 p-3 rounded-lg">
<Zap className="h-6 w-6 text-blue-500" />
<Cpu className="h-6 w-6 text-blue-500" />
</div>
<h3 className="text-xl font-bold">VOSK</h3>
</div>
@@ -817,7 +865,7 @@ export default function HomePage() {
"Very lightweight and fast",
"Low memory footprint",
"Great for real-time streaming",
"Good for basic transcription needs",
"CPU only, minimal resources",
].map((item, i) => (
<li key={i} className="flex items-center gap-2 text-sm">
<CheckCircle2 className="h-4 w-4 text-blue-500" />
@@ -826,7 +874,7 @@ export default function HomePage() {
))}
</ul>
<div className="text-sm text-muted-foreground">
<strong>Footprint:</strong> ~50MB model, minimal CPU/RAM usage
<strong>Footprint:</strong> ~40MB model, minimal CPU/RAM usage
</div>
</div>
</FadeInSection>
@@ -858,9 +906,9 @@ export default function HomePage() {
"Vocalinux works on most modern Linux distributions including Ubuntu 22.04+, Fedora, Debian, Arch Linux, Linux Mint, Pop!_OS, and more. It supports both X11 and Wayland display servers.",
},
{
question: "How do I switch between Whisper and VOSK?",
question: "How do I switch between speech engines?",
answer:
'You can switch engines via the settings GUI or command line. Use "vocalinux --engine whisper" or "vocalinux --engine vosk". Whisper is recommended for accuracy, VOSK for speed.',
'You can switch engines via the settings GUI or command line. Use "vocalinux --engine whisper_cpp" (default, recommended), "vocalinux --engine whisper" (OpenAI), or "vocalinux --engine vosk" (lightweight). whisper.cpp offers the best balance of speed and accuracy.',
},
{
question: "What are the system requirements?",