All notable changes to VoiceAI will be documented in this file.
- Sequential digit conversion - "one two three four five" →
12345(Wispr Flow-style) - Enhanced currency formatting - "$30 million USD", "$10 USD", "$1 billion" patterns
- Offline LLM activation check - Settings toggle now properly triggers offline processing
- Download URL - Changed to working Hugging Face URL (
unsloth/Qwen3-0.6B-GGUF) - Model filename - Updated to
Qwen3-0.6B-UD-Q4_K_XL.gguf(~405MB) - Offline processing not activating - RecognizeActivity now checks
offline_llm_enabledsetting
- Ready status now truly centered with glowing ◉ icon
- Larger toggle switches (130x60 with 52px thumb)
- Detailed accessibility instructions in app
- Ko-fi support link embedded in Settings → About
- Clean UI Redesign - Modern shadcn-style white interface with Inter-style fonts
- Light gray background (#FAFAFA) with white cards
- Card-based layout for main screen and settings
- Green toggle switches (100x50), dark buttons, subtle borders
- Offline LLM Model Download - Qwen3 0.6B for fully offline AI post-processing
- Download progress indicator with percentage
- Model stored in app's private files directory (~400MB)
- One-Click Groq API Setup - "Get Free API Key" button opens console.groq.com/keys
- Accessibility Status Indicator - Green/red dot on main screen shows service status
- Universal Text Injection via IME - Uses
InputConnection.commitText()like real keyboards- Works in ALL apps including Microsoft Word, Chrome, etc.
- Same method FUTO Keyboard and SwiftKey use
- Smart Clipboard Fallback - For apps that don't support any injection method
- Shows toast: "✓ Copied! Tap text field to paste"
- Support Developer Link - Ko-fi link embedded in Settings → About section
- Ready status now properly centered on main screen
- Word Android text injection (now uses clipboard + toast notification)
- Removed accessibility section from Settings (now on main screen)
- Complete UI overhaul to clean white theme
- Reorganized main screen layout with Settings, Keyboard Setup, and Accessibility cards
- LocalLLMProcessor - Fully offline ML post-processing (no internet required)
- Enhanced rule-based fallback with grammar fixes
- Contraction handling (dont → don't, cant → can't, etc.)
- Question detection for proper punctuation
- ONNX Runtime integration prepared for TinyLlama/Phi-2
VoiceAIPipeline.createOffline()- New factory for offline-first operation- ProcessorTests.java - 40+ comprehensive unit tests for all processors
- Android manifest version now matches CHANGELOG (1.0.1 → 1.1.0)
- Modular Post-Processing Pipeline: Complete refactor into 8 specialized processors
CourseCorrector- Wispr Flow's killer feature ("no wait" → clean output)CommandInterpreter- Voice commands ("delete that", "new paragraph", punctuation)RepetitionCleaner- Stutter and repetition removalFillerRemover- Intelligent "uh", "um", "like" removalPersonalDictionaryApplicator- FUTO-style custom wordsNumberNormalizer- With fixed ordinal/currency edge casesPunctuationRestorer- Question detectionCasingApplicator- Proper nouns, tech brands (ChatGPT, OpenAI, etc.)
- Haptic Feedback - Subtle vibration on dictation start/stop
- Voice Commands - "period", "comma", "new line", "new paragraph", "delete that"
- LLMPostProcessor - Phi-2 integration ready (future release)
- Ordinal over-matching ("first thing" no longer becomes "1st thing")
- Currency prefix doubling ("$100 dollars" → "$100")
- Punctuation cleanup issues
- Pipeline architecture: Chain of Responsibility pattern for clean separation
- Processor order optimized for best output quality
- Debug mode available for pipeline step logging
- Settings UI with iOS-style toggles
- Version badge in Settings header
- Enhanced personal dictionary handling
- Complete Stage 2 post-processing pipeline (
PostProcessor.java) - Number normalization: "twenty five" → "25"
- Time formatting: "four twenty pm" → "4:20 PM"
- Year detection: "twenty twenty four" → "2024"
- Ordinals: "twenty first" → "21st"
- Ranges: "one to five" → "1–5"
- Currency: "$100 USD", "$1,000,000"
- Percentages: "25%", "25.6%", "0.5%"
- Disfluency removal: "uh", "um", "you know", "like"
- Punctuation restoration
- Sentence casing with proper nouns
DictationControllerfor FUTO-style dictation management- 30-second dictation limit toggle
- Silence detection auto-stop toggle
- Timer countdown display during dictation
- Preference key mismatch between Settings and DictationController
- Personal dictionary encoding issues (now uses
Pattern.quote()) - Text injection now works reliably with all apps
- Unified preferences to use
VoiceAIPrefs - Enhanced README for GitHub with badges and tables
- Personal dictionary feature
- Basic percentage and currency formatting
- Settings activity with tile-based UI
- Native library loading issues
- Package name consistency (
com.voiceai.app)
- Initial release
- Offline voice transcription with Parakeet TDT 0.6B
- Real-time waveform animation
- Accessibility service for text injection
- Support for HeliBoard and SwiftKey