Changelog

What's New

v1.4.5 — "Open With" on Mac & PC + Command-Line Stage Options

New Features

  • "Open With Qie" on Mac and PC: right-click a supported audio file (.mp3, .wav, .flac, .aiff, .aif, .m4a) → Open With → Qie, and the track loads straight into the waveform — ready for BPM/Key analysis and processing. On Mac this runs through Finder's "Open With" submenu; on PC the v1.4.5 installer registers Qie as a Windows Explorer "Open with" handler (Qie does not become the default for audio — your existing default player keeps its association; Qie just shows up in the submenu). Works whether Qie is already running or launched fresh from the file. Previously, opening a file this way landed on the empty drag-and-drop screen and you had to find and drag the file in again.

Command-Line Options (licensed)

  • --stage 1: run only the first stage — separate a track into its 4 stems (vocals / drums / bass / melody) and stop. Use with --load <file> and an optional --output-dir.
  • --drumsep <drums.wav>: run only the drum sub-separation on an existing drums stem, producing the 6 components (kick / snare / hi-hat / toms / cymbals / ride).
  • Both run headless (no window) and require an active license or trial.
MacPC
Qie --load song.mp3 --stage 1<br>Qie --drumsep drums.wavQie.exe --load song.mp3 --stage 1<br>Qie.exe --drumsep drums.wav

v1.4.4 — Stuck-at-1-Minute MP3 Fix + Rekordbox Cue Alignment

Bug Fixes

  • MP3 truncation at ~1 minute on certain files: v1.4.3's switch to soundfile/libsndfile for audio decoding handled most MP3s correctly, but real-world files with mid-file MPEG framing irregularities (re-encoded sources, files with non-standard frame headers) caused libmpg123 to silently bail partway through and return a short buffer. The full track would visually load but Process Audio and playback would only see the first minute or so. Three load paths were affected — waveform display, BPM/Key analysis worker, and the playback engine. All three now route through a hardened loader that detects silent truncation via an sf.info precheck and falls back to audioread → Apple CoreAudio (Mac) / bundled ffmpeg.exe (PC), which are more tolerant of frame-level errors.
  • Rekordbox Hot Cue A landing ~80ms past the transient: the MP3 encoder-padding compensation that aligns Rekordbox cues with Qie's decoded buffer was silently disabled in any environment where ffprobe couldn't run (e.g. stale Homebrew ffmpeg links after a system upgrade, ffprobe not on PATH). Added an sf.info-based fallback that compares declared duration vs decoded length to derive the padding, so cue alignment works regardless of ffprobe state. For LAME-encoded MP3s, B1 now lands on the same transient as Rekordbox's Hot Cue A instead of ~80ms past it.
MacPC
Affected files: MP3s libmpg123 can't fully decode; LAME-encoded MP3s with Rekordbox cues. Fallback uses Apple CoreAudio via audioread.Affected files: same. Fallback uses the bundled ffmpeg.exe via audioread's subprocess backend.

Build

  • Bundled libx265.216.dylib correctly on Mac — needed for torchaudio's ffmpeg integration to load. Pre-existing build gap, surfaced when a Homebrew x265 upgrade changed SOVERSION from 215 → 216.
  • Added audioread and its platform backends (audioread.macca, audioread.ffdec, audioread.rawread) to PyInstaller hidden imports so the new fallback path bundles correctly in production builds.

v1.4.3 - MP3-Drop Crash Fix + Crash Diagnostics

Bug Fixes

  • Silent crash on MP3 drop (PC): fixed a long-standing crash where dragging an MP3 would silently close the program on Windows machines where bundled numba/llvmlite JIT compilation fails (typically AV/EDR blocking JIT memory pages, or older CPUs where LLVM aborts during numba init). Two-part fix: (1) JIT compilation is now disabled by default in the bundled launcher (NUMBA_DISABLE_JIT=1), so JIT-related failures can't kill startup; (2) audio file decoding now goes through libsndfile (soundfile) and resampling through scipy.signal, bypassing librosa's @vectorize/@guvectorize paths that triggered the failure even with JIT disabled. Same fix applied defensively to Mac.
  • Drum sub-separation now reliably produces all 6 stems: Kick / Snare / Toms / Hi-Hat / Cymbals / Ride. The librosa code path used to load the drum stem before MDX23C inference was the same one that crashed on certain CPUs, so machines that hit the JIT failure during file loading would silently skip Stage 2 and end up with a single combined Drums.wav. Routing the load through soundfile fixes this for everyone.
MacPC
Audio decode + resample now use libsndfile/scipy; JIT disabled by default. Bit-identical results for users on healthy machines, all 10 stems produced as before.Affected machines: Windows installs where AV/EDR blocks JIT memory pages, older CPUs where LLVM aborts during numba init, CPU/VC runtime mismatches

New Features

  • Native crash dumps: faulthandler now captures C-level stack traces and writes them to ~/Documents/Qie/Logs/QIE_FAULTHANDLER.log. Future native crashes will surface with a full stack — both Python frames and the underlying C library.
  • Better worker error reporting: BPM/Key analysis worker logs which step (load / resample / detect_bpm / detect_key) failed with file size and audio metadata. Worker errors now properly surface to the UI instead of being silently swallowed.

Performance

  • Faster single-track analysis: as a side-effect of disabling numba JIT, BPM+Key analysis on a single track is ~2× faster in cold-start runs (16.8s → 7.7s on a 5-min MP3) because JIT-compile overhead exceeded the runtime savings on single-track use.

v1.4.1 - Cross-Platform Stabilization

Bug Fixes

  • Logging: Consolidated to one session folder per app launch (fixed dual folder issue)
  • Stage 4 MIDI: Fixed duplicate "Stage 4: Stage 4:" prefix in progress UI
  • Stage 2 Regression: Resolved performance regression in distribution builds
  • Demucs Logging: Fixed subprocess creating separate session folders
MacPC
Windows Builds: Fixed UTF-8 encoding for build subprocess output

Improvements

  • GPU Architecture Guard: Added sm_120 fallback for newer NVIDIA GPUs
  • VRAM Diagnostics: Added diagnostics between Stage 1 and Stage 2
  • System Requirements: Updated GPU requirements and expanded system info display

v1.4.0 - Batch Processing & Follow Playhead

New Features

  • Batch Processing CLI: Process an entire folder of songs from the command line — no GUI required
  • Processes all audio files (wav, mp3, flac, aiff, m4a) sequentially through the full pipeline
  • Uses Rekordbox metadata when available, falls back to audio analysis for BPM/Key
  • Terminal output shows progress, completions, skips, and failures per song
MacPC
Qie.app/Contents/MacOS/Qie --batch "/path/to/songs" --batch-output "/path/to/output"Qie.exe --batch "C:\path\to\songs" --batch-output "C:\path\to\output"
  • Follow Playhead Mode: Press F to toggle auto-scrolling that keeps the playhead visible during playback
    • Orange F badge appears in the overview bar when active
    • Manual scrolling suspends follow mode so you can look around freely
    • Follow re-engages automatically on the next play action

Bug Fixes

  • Key Detection: Fixed key always showing "N/A" when Rekordbox had BPM but no key — now falls back to audio-based key analysis
  • Error Popup: Fixed pipeline error dialog showing only torch.jit warnings instead of the actual error message
  • N/A in Filenames: Fixed crash when "N/A" key created invalid directory separators in output filenames
  • Rekordbox Cue Alignment: Fixed Rekordbox cue positions drifting on MP3 files by compensating for encoder delay
  • Ableton Project Generation: Fixed ALS generation failing when output is on external drives (exFAT, FAT32)
  • Stem Name Parsing: Fixed stem names not being recognized when the track title contains special characters
  • MIDI Ableton Project: Fixed MIDI ALS project not being generated even when enabled in Settings
MacPC
Windows Builds: Added native Windows build support via PyInstaller
FFmpeg Bundling: Fixed FFmpeg not being found in Windows builds and local dev runs

Improvements

  • Rekordbox Key Support: Rekordbox tracks that already have Camelot key codes (e.g. "8A") are now recognized directly

v1.3.0 - Rekordbox Integration

New Features

  • Rekordbox Integration: Qie automatically reads BPM, Key, and B1 downbeat from your Rekordbox library -- no export needed
  • Hot Cue A as B1: If you've set Hot Cue A in Rekordbox, Qie uses it as the B1 marker position (highest priority)
  • Beat Grid B1 Fallback: When no Hot Cue A is set, Qie reads the beat grid's first downbeat from Rekordbox's ANLZ analysis files
  • CLI Tag Mode: New --tag flag for batch BPM/Key tagging workflows

Improvements

  • Instant Analysis: Tracks in Rekordbox skip the slower BPM/key analysis entirely
  • Camelot Key Mapping: Full mapping between Rekordbox key names and Camelot notation with enharmonic support

Technical

  • Reads Rekordbox library data directly — no export required
  • Added Rekordbox dependency (graceful degradation if not installed)
  • B1 auto-set propagates through existing analysis pipeline

v1.2.0 - 6-Stem Drum Separation

New Features

  • 6-Stem Drum Separation: New drum separation model separates drums into kick, snare, toms, hi-hat, cymbals, and ride
  • Hi-Hat Stem: Dedicated hi-hat separation with open/closed MIDI classification
  • Server-Side License Verification: License activation now verified server-side with deactivation support

Improvements

  • Settings UI: Reorganized with group headers, renamed export labels, fixed Stripe payment links
  • Progress Bar: Fixed stage boundary calculations for accurate processing feedback
  • Drums-Hh MIDI: MIDI generation support for the new hi-hat stem
  • Warp Mode: Fixed warp mode behavior during processing

Technical

  • Optimized inference for Apple Silicon Macs
  • Hybrid processing mode for best performance on Apple Silicon

v1.1.0 - MIDI & Ableton Integration

New Features

  • MIDI Generation: 8-stem MIDI clip generation from separated audio
  • Ableton .als Projects: Auto-generate Ableton Live projects with stems + MIDI on tracks
  • Auto-Update Checker: Background update check for direct builds (3s after launch, 24h throttle)
  • Mac App Store: Available on the Mac App Store with Apple-managed updates

Improvements

  • Unified Build: Single binary with runtime trial/full detection
  • Settings Shortcut: Cmd+, (Mac) / Ctrl+, (PC) opens Settings
  • Version Notes: In-app changelog viewer
  • Update Icon: Compact refresh icon (↻) for checking updates in Settings

Technical

  • Streamlined build and distribution pipeline
  • Background update checker with dismissible notifications

v1.0.0 - Cross-Platform Release

🎉 Major milestone! Qie is now available on both Mac and PC with full feature parity.

🚀 New Features

  • 💻 PC Support: Full Windows PC compatibility with native performance
  • 🌐 Cross-Platform: Consistent experience across Mac and PC platforms
  • 📦 Distribution: Professional distribution builds for both platforms

🔧 Core Features

  • 🎵 Stem Separation: AI-powered separation of vocals, drums, bass, and melody
  • 🥁 Drum Separation: Advanced drum component isolation (kick, snare, cymbals, toms)
  • 🎼 Music Analysis: Automatic BPM detection and key analysis
  • 📏 8-Bar Segmentation: Intelligent audio chopping for DJ workflows
  • 🎛️ Real-time Playback: Low-latency audio engine with precise positioning
  • 📁 Professional Output: Organized file structure with meaningful naming

🌐 Platform Support

  • 🍎 macOS: 11.0+ (Big Sur), Apple Silicon & Intel
  • 💻 Windows: Windows 10+ (1909), x64 processors

This represents the foundation release for Qie's cross-platform audio processing capabilities.