{"id":35356718,"url":"https://github.com/chuk-development/fluistern","last_synced_at":"2026-01-13T19:10:41.441Z","repository":{"id":331373461,"uuid":"1126377180","full_name":"chuk-development/fluistern","owner":"chuk-development","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-01T21:24:55.000Z","size":335,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-07T04:08:48.968Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chuk-development.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-01T19:28:44.000Z","updated_at":"2026-01-01T21:24:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/chuk-development/fluistern","commit_stats":null,"previous_names":["chuk-development/fluistern"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/chuk-development/fluistern","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuk-development%2Ffluistern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuk-development%2Ffluistern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuk-development%2Ffluistern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuk-development%2Ffluistern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chuk-development","download_url":"https://codeload.github.com/chuk-development/fluistern/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuk-development%2Ffluistern/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28397826,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-01T23:03:14.498Z","updated_at":"2026-01-13T19:10:41.436Z","avatar_url":"https://github.com/chuk-development.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flüstern\n\n\u003e Advanced voice dictation app with AI-powered formatting, command mode, and auto-paste\n\nA modern, feature-rich voice-to-text app built with Flutter. **Optimized for Windows** with support for macOS and Linux. Uses Groq's Whisper API for transcription and LLaMA 3.3 for intelligent text formatting.\n\n## ✨ Features\n\n### Core Features\n- **🎤 Voice Dictation** - Record and transcribe speech to text instantly\n- **⌨️ Global Keyboard Shortcuts** - Start/stop recording from anywhere with Ctrl+Shift+R (Windows/Linux) or Cmd+Shift+R (macOS)\n- **📝 Notes History** - All transcriptions are automatically saved with full editing capabilities\n- **🔍 Search \u0026 Filter** - Quickly find notes with powerful search\n- **✏️ Rich Note Editor** - Edit, favorite, pin, and organize your notes\n- **📖 Custom Dictionary** - Add corrections to auto-fix common transcription mistakes\n\n### Advanced Features (NEW!)\n- **🚀 Auto-Paste** - Automatically pastes transcription into active window (Windows)\n- **🎯 Command Mode** - Use voice commands to manipulate text:\n  - \"Fasse zusammen\" / \"Summarize\" - Summarize text\n  - \"Übersetze nach Englisch\" / \"Translate to English\" - Translate\n  - \"Lösche den letzten Satz\" / \"Delete last sentence\" - Delete\n  - \"Kürze das\" / \"Shorten\" - Make text shorter\n  - \"Erweitere das\" / \"Expand\" - Add more details\n  - \"Mach das formal\" / \"Make formal\" - Rewrite formally\n  - \"Korrigiere\" / \"Fix grammar\" - Fix grammar mistakes\n- **🧹 Filler Word Filtering** - Automatically removes \"vielen Dank\", \"äh\", \"um\", etc.\n- **📌 Note Pinning** - Pin important notes to the top\n- **⭐ Favorites** - Mark notes as favorites for quick access\n\n### Smart Features\n- **🤖 AI Formatting** - Automatic punctuation, capitalization, and paragraph breaks\n- **🗣️ Voice Commands** - \"Absatz\" for paragraphs, \"in Anführungszeichen\" for quotes, etc.\n- **🌍 Multi-Language** - Supports German, English, Spanish, French, Italian, and Portuguese\n- **📋 Clipboard Integration** - Automatically copies formatted text to clipboard\n- **🎨 Modern UI** - WhisperFlow-inspired interface with sidebar navigation\n- **🌓 Dark Mode** - Automatic dark/light theme support\n\n## 🚀 Quick Start (Windows)\n\n### 1. Prerequisites\n- **Flutter SDK** - [Download and install](https://flutter.dev/docs/get-started/install/windows)\n- **Visual Studio 2022** with \"Desktop development with C++\" workload\n- **Groq API Key** - Free at [console.groq.com](https://console.groq.com)\n\n### 2. Build \u0026 Run\n\n**Easiest way** - just double-click `build.bat`!\n\nOr manually:\n```cmd\nflutter pub get\nflutter build windows --release\n```\n\nThe executable will be at `build\\windows\\x64\\runner\\Release\\fluistern_app.exe`\n\n**📖 See [WINDOWS_BUILD.md](WINDOWS_BUILD.md) for detailed Windows build instructions**\n\n### 3. Setup\n1. Launch the app\n2. Go to Settings (⚙️ icon in sidebar)\n3. Enter your Groq API key\n4. Select your preferred language\n5. Configure features (Auto-Paste, Command Mode, etc.)\n6. Click \"Save Settings\"\n\n## 📖 Usage\n\n### Basic Dictation\n1. Click the blue microphone button (or press Ctrl+Shift+R)\n2. Speak your text\n3. Click the red stop button when done\n4. The app will:\n   - Transcribe your speech using Whisper\n   - Format it with AI\n   - Apply corrections from your dictionary\n   - Filter out filler words (if enabled)\n   - Save as a note\n   - Copy to clipboard (or auto-paste if enabled)\n\n### Command Mode\nSay commands during or after dictation:\n\n**German Commands:**\n- \"Fasse zusammen\" - Summarize the text\n- \"Übersetze nach Englisch\" - Translate to English\n- \"Lösche den letzten Satz\" - Delete last sentence\n- \"Kürze das\" - Make shorter\n- \"Erweitere das\" - Add more details\n- \"Mach das formal\" - Rewrite formally\n- \"Mach das informell\" - Rewrite casually\n- \"Korrigiere\" - Fix grammar\n\n**English Commands:**\n- \"Summarize\" - Summarize the text\n- \"Translate to German\" - Translate to German\n- \"Delete last sentence\" - Delete last sentence\n- \"Shorten\" - Make shorter\n- \"Expand\" - Add more details\n- \"Make formal\" - Rewrite formally\n- \"Make informal\" - Rewrite casually\n- \"Fix grammar\" - Fix grammar\n\n### Voice Formatting Commands\n- \"Absatz\" / \"Paragraph\" - Insert paragraph break\n- \"in Anführungszeichen\" - Quote the previous word/phrase\n- \"Komma\" - Insert comma\n- \"Punkt\" - Insert period\n- \"Fragezeichen\" - Insert question mark\n- \"Ausrufezeichen\" - Insert exclamation mark\n\n### Auto-Paste (Windows Only)\nWhen enabled in Settings, transcriptions are automatically pasted into your active window:\n1. Have any app open (Word, Slack, Email, etc.)\n2. Press Ctrl+Shift+R to record\n3. Speak and stop recording\n4. Text is automatically pasted into your app!\n\n### Managing Notes\n- **Search** - Type in the search bar to find notes\n- **Edit** - Click any note to view and edit\n- **Pin** - Click the pin icon to pin notes to the top\n- **Favorite** - Click the star icon to mark as favorite\n- **Delete** - Click the trash icon to delete a note\n- **Copy** - Click the copy icon to copy note content\n\n### Custom Dictionary\n1. Go to Dictionary screen (📖 icon in sidebar)\n2. Click the + button to add a correction\n3. Enter the wrong text (e.g., \"teh\")\n4. Enter the correct text (e.g., \"the\")\n5. All future transcriptions will auto-correct!\n\n## 🛠️ Installation \u0026 Building\n\n### Windows (Primary Platform)\n\n**See [WINDOWS_BUILD.md](WINDOWS_BUILD.md) for complete Windows instructions**\n\nQuick build:\n```cmd\nflutter pub get\nflutter build windows --release\n```\n\nOr use the build script:\n```cmd\nbuild.bat\n```\n\n### Linux\n\n**System Dependencies** (required for building):\n```bash\n# Ubuntu/Debian/Linux Mint\nsudo apt-get update\nsudo apt-get install build-essential lld libkeybinder-3.0-dev\n\n# Arch Linux\nsudo pacman -S base-devel lld keybinder3\n\n# Fedora\nsudo dnf install gcc-c++ lld keybinder3-devel\n```\n\n**Note:** If you don't want to use global hotkeys on Linux (e.g., your window manager doesn't support keybinder3), you can disable them in Settings after building.\n\nBuild:\n```bash\nflutter pub get\nflutter build linux --release\n```\n\nBinary will be in `build/linux/x64/release/bundle/`\n\n### macOS\n\n```bash\nflutter pub get\nflutter build macos --release\n```\n\n**Note:** macOS builds are supported but untested. Auto-paste is not yet implemented for macOS.\n\n## ⚙️ Settings\n\n### API Configuration\n- **Groq API Key** - Your API key from console.groq.com\n- **Language** - Select transcription language (German, English, Spanish, French, Italian, Portuguese)\n\n### Advanced Features\n- **Auto-Paste** - Automatically paste into active window (Windows only)\n- **Command Mode** - Enable voice commands for text manipulation\n- **Filler Word Filtering** - Remove common filler words from transcriptions\n\n### Keyboard Shortcuts\n- **Enable Global Hotkeys** - Allow Ctrl+Shift+R from anywhere\n  - Disable this on Linux if keybinder3 is not available\n\n## 🏗️ How It Works\n\n```\nRecording → Whisper API → LLM Formatting → Corrections → Filler Filtering → Command Mode → Auto-Paste\n```\n\n1. **Record**: Audio is recorded in m4a format (16kHz, mono)\n2. **Transcribe**: Groq's Whisper API converts speech to text\n3. **Format**: LLaMA 3.3 70B adds punctuation, capitalization, and handles voice commands\n4. **Correct**: Custom dictionary applies your corrections\n5. **Filter**: Remove filler words (if enabled)\n6. **Command**: Execute voice commands (if enabled)\n7. **Paste**: Auto-paste into active window (if enabled) or copy to clipboard\n\n## 📁 Project Structure\n\n```\nlib/\n├── main.dart                      # App entry point\n├── screens/\n│   ├── main_layout.dart           # Navigation sidebar\n│   ├── notes_screen.dart          # Main recording \u0026 notes list\n│   ├── note_detail_screen.dart    # Note editor\n│   ├── dictionary_screen.dart     # Corrections management\n│   └── settings_screen.dart       # Settings \u0026 configuration\n├── services/\n│   ├── audio_service.dart         # Audio recording\n│   ├── groq_api_service.dart      # Whisper \u0026 LLM integration\n│   ├── storage_service.dart       # Settings persistence\n│   ├── database_service.dart      # SQLite database\n│   ├── filler_filter_service.dart # Filler word removal\n│   ├── auto_paste_service.dart    # Auto-paste functionality\n│   └── command_mode_service.dart  # Voice command processing\n├── models/\n│   ├── note.dart                  # Note data model\n│   └── correction.dart            # Correction data model\n└── providers/\n    └── app_provider.dart          # State management\n```\n\n## 🐛 Troubleshooting\n\n### Windows\n- **Build fails**: Make sure Visual Studio 2022 is installed with C++ tools\n- **App doesn't start**: Run from command prompt to see error messages\n- **Auto-paste doesn't work**: Make sure Auto-Paste is enabled in Settings\n\n### Linux\n- **CMake error about keybinder-3.0**: Install libkeybinder-3.0-dev (see Installation section)\n- **ld.lld not found**: Install lld and build-essential packages\n- **Hotkeys don't work**: Disable global hotkeys in Settings\n\n### General\n- **\"API key not set\" error**: Go to Settings and enter your Groq API key\n- **Transcription is inaccurate**: Try speaking more clearly, or adjust microphone settings\n- **Commands not working**: Make sure Command Mode is enabled in Settings\n\n## 🗺️ Roadmap\n\n- [ ] macOS auto-paste support\n- [ ] Android version\n- [ ] Custom hotkey configuration\n- [ ] Export notes to various formats (PDF, Markdown, etc.)\n- [ ] Voice text selection (\"mark last sentence\", \"copy that\", etc.)\n- [ ] Cloud sync\n- [ ] Multiple language support in single session\n- [ ] Offline mode with local Whisper\n\n## 📜 License\n\nMIT\n\n## 🙏 Credits\n\n- [Groq](https://groq.com) - Fast Whisper API \u0026 LLaMA inference\n- [Flutter](https://flutter.dev) - Cross-platform framework\n- Inspired by [WhisperFlow](https://github.com/BerriAI/WhisperFlow)\n\n## 🔗 Related Projects\n\n- [fluistern](https://github.com/chukfinley/fluistern) - Original Linux-only version (Bash/Python)\n\n---\n\n**Made with ❤️ for productive voice dictation**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchuk-development%2Ffluistern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchuk-development%2Ffluistern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchuk-development%2Ffluistern/lists"}