Releases: sammy4321/OpenFlow
Releases ยท sammy4321/OpenFlow
v1.1.2
What's Changed
- Updated readme and improved error handling by @sammy4321 in #1
- Update README.md by @sammy4321 in #2
New Contributors
- @sammy4321 made their first contribution in #1
Full Changelog: v1.1.1...v1.1.2
v1.1.1
v1.1.0
๐ OpenFlow v1.0.0 โ Initial Release
Release Date: February 14, 2026
License: Apache 2.0
We're thrilled to announce the very first public release of OpenFlow โ a macOS-native, GPU-accelerated, streaming speech-to-text menu bar app. OpenFlow is an open-source, privacy-first alternative to Wispr Flow, delivering instant voice dictation into any application on your Mac.
โจ Highlights
- 100% Local & Private โ All audio processing happens entirely on your device. No audio data ever leaves your Mac. No cloud. No accounts. No telemetry.
- Optimized for Apple Silicon โ Built on top of MLX and
faster-whisper, OpenFlow leverages the Metal GPU and Neural Engine for ultra-low latency transcription. - Universal Dictation โ Transcribed text is inserted directly into any active application via macOS Accessibility APIs. Works with any text field, anywhere.
- Beautiful, Voice-Reactive UI โ A custom floating overlay bar appears at the bottom of your screen, featuring animated wave bars that react to your voice amplitude in real-time, a spinning indicator during transcription, and a checkmark animation on completion.
๐๏ธ Core Features
Speech-to-Text Engine
- Dual-backend transcription engine:
- MLX Whisper (GPU-accelerated) for Apple Silicon Macs
- faster-whisper (CPU, INT8 quantized) as a stable fallback
- Automatic model warm-up at launch to eliminate first-transcription latency
- Streaming audio buffering with minimum duration threshold (1.5s) to avoid spurious transcriptions
- Automatic model download from Hugging Face Hub on first run
Supported Whisper Models
| Model | Speed | Accuracy | VRAM |
|---|---|---|---|
tiny (default) |
โก <300ms | Good | ~75 MB |
base |
Fast | Better | ~150 MB |
small |
Moderate | High | ~500 MB |
medium |
Slower | Very High | ~1.5 GB |
large |
Slowest | Best | ~3 GB |
Select a model at launch:
openflow --model baseAudio Capture & Denoising
- Real-time audio capture via
sounddevice(backed by PortAudio) at 16kHz mono - Integrated RNNoise (compiled from source) for neural network-based noise suppression โ crystal-clear dictation even in noisy environments
- RMS-based audio level computation for live UI visualization
Menu Bar App
- Lightweight macOS menu bar presence via
rumps - Custom Dock icon support
- macOS-native process naming
Hotkey-Driven Workflow
- Hold
Right Command(โR) to start dictating - Release to finish โ text is transcribed and typed instantly
- Global hotkey listener via
pynput, works system-wide regardless of focused app
Overlay UI
- Custom
NSPanel-based floating overlay (non-activating, always-on-top) - Three visual states with smooth CoreAnimation transitions:
- Listening โ Animated wave bars reacting to voice amplitude (organic per-bar variation)
- Transcribing โ Rotating arc spinner with color shift
- Done โ Scale-in circle with animated checkmark, auto-dismiss
- Slide-in / slide-out animations anchored to the bottom of the active screen
- Multi-monitor aware โ overlay appears on the screen with the active window
Accessibility Integration
- Text insertion via macOS Accessibility APIs (
AXUIElement) - Automatic permission prompt on first launch with polling-based wait
- Works with any app that accepts keyboard input
๐ฆ Installation
Prerequisites
- macOS (Apple Silicon recommended)
- Python 3.11+
portaudio(installed automatically via Homebrew)
Quick Start
git clone https://github.com/sammy4321/OpenFlow.git
cd OpenFlow
make install # Sets up venv, compiles RNNoise, downloads models
make run # Launches OpenFlowThe make install command handles everything:
- Bootstraps Python 3.11 (installs via Homebrew if missing)
- Installs build tools (
autoconf,automake,libtool) - Creates a virtual environment
- Installs all Python dependencies
- Compiles RNNoise from source as
librnnoise.dylib - Downloads Whisper models from Hugging Face Hub
- Installs OpenFlow in editable mode
๐๏ธ Architecture
openflow/
โโโ main.py # Entry point, CLI arg parsing, accessibility check
โโโ app.py # Main application controller (orchestrates all components)
โโโ whisper_engine.py # Dual-backend transcription (MLX / faster-whisper)
โโโ streamer.py # Threaded audio buffering & transcription pipeline
โโโ audio.py # Real-time audio capture (sounddevice)
โโโ rnnoise.py # RNNoise C library wrapper (ctypes)
โโโ overlay.py # NSPanel-based floating overlay with CoreAnimation
โโโ hotkey.py # Global hotkey listener (pynput)
โโโ statusbar.py # macOS menu bar integration (rumps)
โโโ accessibility.py # AXUIElement text insertion
โโโ config.py # Centralized configuration constants
โโโ updater.py # Update checking utilities
โ ๏ธ Known Limitations
- macOS only โ OpenFlow relies on macOS-specific frameworks (AppKit, CoreAnimation, Accessibility APIs) and is not portable to Linux/Windows.
- MLX FFT stability โ On some macOS configurations, MLX can trigger FFT crashes in mel/STFT paths. The engine defaults to
faster-whisper(CPU) on Darwin for stability. GPU acceleration can be re-enabled in future releases as MLX matures. - English only โ Language is currently hardcoded to English (
language="en"). - Accessibility permissions required โ Users must grant Accessibility access on first launch for text insertion to work.
- RNNoise compilation โ Requires
autoconf,automake, andlibtoolbuild tools (installed automatically via Homebrew).
๐ฎ What's Next
- Homebrew tap for one-command installation (
brew install openflow) - Multi-language support
- Configurable hotkeys
- Native MLX GPU acceleration (once upstream stability improves)
- Standalone
.appbundle distribution - Auto-update mechanism
๐ Acknowledgements
OpenFlow is built on the shoulders of these incredible open-source projects:
- MLX โ Apple's machine learning framework for Apple Silicon
- mlx-whisper โ MLX-optimized Whisper models
- faster-whisper โ CTranslate2-powered Whisper inference
- OpenAI Whisper โ The original speech recognition model
- RNNoise โ Recurrent neural network for audio noise reduction
- rumps โ Ridiculously Uncomplicated macOS Python Statusbar apps
- pynput โ Cross-platform input monitoring
- Hugging Face Hub โ Model hosting and distribution
๐ฅ Full Changelog
This is the initial release โ all changes are new!
Contributors: OpenFlow Contributors
โญ If you find OpenFlow useful, please star the repo!
github.com/sammy4321/OpenFlow