HOT-Step CPP — Features
Everything HOT-Step CPP adds on top of the base acestep.cpp engine.
C++ Inference Engine
Built on acestep.cpp (GGML/CUDA), with extensive modifications to the sampling, scheduling, and guidance systems:
Lua Plugin Architecture
All solvers, schedulers, guidance modes, and postprocess plugins are implemented as hot-loadable Lua plugins. Drop a .lua file into the appropriate engine/plugins/ subdirectory and it appears in the UI at next launch — no C++ rebuild required. Each plugin can declare its own user-facing parameters (sliders, toggles, dropdowns) via a schema table, which the UI renders dynamically. Solvers can declare owns_loop=true to take full control of the denoising loop for adaptive solvers like DOPRI5.
The engine provides a native C++ bridge for performance-critical operations (APG momentum smoothing, perpendicular projection, norm thresholding) that Lua plugins can call via the apg() function. Advanced plugins can also declare a post_step() hook that receives model evaluation callbacks for techniques requiring extra forward passes at arbitrary latent positions. See the Plugin Authoring Guide for the full API reference.
Solvers (17)
ODE/SDE solvers for the flow matching sampling loop:
| Plugin |
Description |
| Euler |
1st-order Euler method (1 NFE) |
| Heun |
2nd-order Heun's method (2 NFE) |
| RK4 |
Classic 4th-order Runge-Kutta (4 NFE) |
| RK5 |
5th-order Runge-Kutta (6 NFE) |
| GL2s |
Gauss-Legendre 2-stage implicit Runge-Kutta (2 NFE) |
| RF-Solver |
2nd-order rectified flow solver (2 NFE) |
| DPM++ 2M |
DPM-Solver++ multistep 2nd-order (1 NFE) |
| DPM++ 2M Adaptive |
Adaptive step-size variant of DPM++ 2M |
| DPM++ 3M |
DPM-Solver++ multistep 3rd-order (1 NFE) |
| UniPC |
Unified predictor-corrector (1 NFE) |
| UniPC-P |
UniPC with p-corrector (1 NFE) |
| JKASS Quality |
Multi-evaluation adaptive solver (4 NFE) |
| JKASS Fast |
Single-evaluation JKASS variant (1 NFE) |
| AFLOPS / AFLOPS-2 |
Adaptive flow ODE solver with error estimation |
| DOPRI5 / DOP853 |
Dormand-Prince adaptive solvers (5th/8th order) |
| SDE |
Stochastic differential equation solver with Philox RNG |
| STORK-2 / STORK-4 |
Stochastic Taylor Runge-Kutta solvers |
Schedulers (9)
Noise schedule curves for the denoising trajectory:
| Plugin |
Description |
| Linear |
Uniform timestep spacing |
| Cosine |
Cosine-annealed schedule |
| Power |
Polynomial schedule with configurable exponent |
| SGM Uniform |
Score-based generative model uniform schedule |
| DDIM Uniform |
DDIM-style uniform schedule |
| Linear-Quadratic |
Linear start transitioning to quadratic |
| Beta (5,7) |
Beta distribution schedule |
| Bong Tangent |
Tangent-based custom schedule |
| Beta Math |
Generalised beta distribution with configurable α/β |
Guidance Modes (7)
Classifier-free guidance strategies, all routed through the native APG bridge:
| Plugin |
Description |
| APG |
Analytical Perpendicular Guidance — momentum smoothing, perpendicular projection, norm thresholding |
| Dynamic CFG |
Adaptive guidance scale that varies across timesteps — high early for structure, low late for detail |
| CFG++ |
Manifold-constrained guidance for few-step models |
| Rescaled CFG |
Standard-deviation-based rescaling to prevent oversaturation |
| CFG-Zero⋆ |
Zero-init guidance — zeroes early ODE steps where CFG predictions are counterproductive (Fan et al. 2025) |
| SMC-CFG |
Sliding Mode Control guidance — control-theoretic correction for stability at high scales (Han et al. 2025) |
| CFG-MP |
Manifold Projection — iterative post-step projection using extra model evaluations to reduce the prediction gap (Su et al. 2025). Uses the post_step() hook for model callbacks |
Postprocess Plugins
Lua postprocess plugins that replace or augment the built-in VAE tiled decoder. Each plugin can declare its own UI parameters.
| Plugin |
Description |
| MD Audio Tiled Core |
Advanced tiled VAE decode with OLA crossfading, dual-pass merge, and integrated DSP chain. By MDMAchine. |
Other Engine Features
| Feature |
Description |
| Composite 2-Stage Scheduler |
Blend two scheduler curves across the denoising trajectory for fine-grained noise control. |
| Auto-Shift |
Adaptive noise shift scaling that adjusts based on track duration and step count. |
| DCW Sampling |
Differential Correction in Wavelet domain — an alternative sampling technique calibrated for the GGML engine. |
| Sideband Parameter Channel |
Extension layer for passing HOT-Step-specific parameters without modifying upstream function signatures, keeping the acestep.cpp sync path clean. |
| Latent Post-Processing |
Latent shift, latent rescale, and custom timestep scheduling — expose the latent space for experimentation. |
| LM Seed Locking |
Ties the LM seed to the DiT seed — locking the seed locks both, randomising randomises both. |
| Upstream Sync Infrastructure |
Marker-based system for tracking acestep.cpp divergence and cleanly merging upstream changes. |
| Safetensors Model Support |
Dual-format model loading — HuggingFace safetensors directories work alongside GGUF files for DiT, LM, Text Encoder, VAE, and Cond Encoder. Auto-detected by path (directory = safetensors, .gguf = GGUF). BF16 safetensors produce bit-perfect output vs BF16 GGUF. Format-agnostic WeightSource abstraction enables adapters to work with both base model formats. |
| Cover Noise Method |
Configurable noise injection method for cover generation with rescale implementation. |
LoRA / Adapter System
| Feature |
Description |
| Per-Group Adapter Scales |
Independent scale control for self_attn, cross_attn, mlp, and cond_embed weight groups. |
| K-Quant Adapter Support |
Custom CUDA copy kernels for GPU-accelerated merge of Q4_K_M, Q5_K_M, and Q6_K quantised adapters. |
| Threaded CPU Dequant |
Multi-threaded CPU fallback with AVX512 fast-path for K-quant adapter merge when GPU copy isn't available. |
| Runtime LoRA Mode |
Apply LoRA deltas in the forward pass graph at inference time, instead of permanently merging weights. Switchable per-generation. |
| Adapter Browser |
File browser modal with scan endpoints, trigger word injection, and support for absolute paths outside the registry. |
| Adapter Scale Override Presets |
Predefined scale profiles (e.g. "vocals up", "instruments up") selectable from the sidebar. |
| Merge Model Detection |
Correctly identifies SFT-turbo blend models and skips inappropriate guidance clamping that would degrade output. |
| Safetensors Base Model Support |
Adapter merge and runtime LoRA work with both GGUF and safetensors base models via the WeightSource abstraction — no format-specific code paths. |
Audio Processing Pipeline
| Feature |
Description |
| Lossless WAV Pipeline |
Engine outputs WAV16; 32-bit float WAV used throughout the processing chain to preserve dynamic range. |
| Matchering Mastering Engine |
Integrated loudness, EQ, and dynamics matching to a user-supplied reference track. |
| Mastered / Unmastered Toggle |
Instant A/B comparison via dual WaveSurfer instances with synced playback position. |
| Spectral Denoiser |
Wiener-filter spectral subtraction for post-generation artifact removal (evolved from initial spectral gating approach). |
| Profile-Based Denoiser |
Learns a noise profile from a reference sample for targeted, surgical artifact removal. |
| Spectral Lifter |
Post-processing pipeline with tunable parameters for spectral shaping. Ported to native C++ (originally a Python subprocess). |
| VST3 Host |
Scans, loads, and runs VST3 plugins for offline audio processing — 40+ plugins detected from standard install paths. |
| VST3 Chain in Pipeline |
Wire a VST3 processing chain directly into the generation output — mastering, EQ, compression, etc. from your existing plugin collection. |
| Real-Time Monitor (WASAPI) |
Low-latency audio preview with seek and transport controls for auditioning output before committing. |
| Duration Buffer + Auto-Trim |
Generates slightly longer than requested, then detects natural song endings and trims cleanly — no more abrupt cuts. |
| Configurable Fade-Out |
Slider-controlled fade duration; automatically skipped when auto-trim detects a clean ending. |
| Download with Format Conversion |
Export as WAV, MP3, or FLAC with configurable defaults in Settings. |
| 48kHz Native Processing |
Mastering pipeline operates at the native 48kHz sample rate — no lossy resample round-trip. |
| PP-VAE Neural Audio Polish |
Post-processing VAE that runs generated audio through an encode→decode round-trip to smooth spectral artifacts and improve tonal coherence. Optional wet/dry blend slider. F32 recommended for best quality. |
| ScragVAE Decoder |
Fine-tuned VAE decoder with +38% high-frequency energy and +29dB dynamic range improvement. Drop-in replacement for the standard decoder — selectable at runtime from the Models dropdown. |
| AI Cover Art |
Automatic 1024×1024 album cover art generation using FLUX.2-klein-4B via stable-diffusion.cpp. Downloads model + sd-cli binary on first use (~5.2 GB). Toggleable auto-generation after audio creation, plus on-demand "Generate Cover Art" from the song context menu. Prompts built from song subject or lyrics keywords. |
| Vocal Naturalizer ⚠️ |
Experimental. 5-stage DSP humanization pipeline for AI-generated vocals. Applies vibrato injection, formant randomization, metallic reduction, quantization masking, and transition smoothing directly to the full mix using frequency-band-targeted filters. Runs between Spectral Lifter and VST Chain, automatically skipped on instrumentals. All parameters exposed as sliders in a dedicated accordion. Note: This feature is under active development and may subtly degrade audio quality or interfere with downstream VST/mastering processing. A/B test with it disabled to verify results. Ported from ComfyUI_MusicTools (MIT License). |
| Audio Quality Evaluator |
Automatic post-generation quality scoring via spectral analysis. Three weighted metrics: Metallic Sound (40%, spectral rolloff at 85th percentile), Word Cuts (40%, spectral flux discontinuities via z-score analysis), and Noise/Hiss (20%, zero-crossing rate). Produces a 0–100% score per track. Selectable target — evaluate unmastered (raw), mastered (post-processed), or both for direct comparison. Scores stored in the song database and displayed as colour-coded badges (green ≥80%, amber 50–79%, red <50%) in Library cards with per-metric hover tooltips. Pure TypeScript implementation using a custom radix-2 Cooley-Tukey FFT — no external DSP dependencies. Ported from JK-AceStep-Nodes (MIT License). |
UI / UX
Create Modes
Two creation modes for different workflows, both sharing the same engine pipeline:
Auto-Gen
AI-driven song creation — minimal input, maximum automation:
| Feature |
Description |
| Genre-First Workflow |
Select from a curated, searchable genre taxonomy to define the song's style. Random genre selection available. |
| Three Lyric Modes |
Instrumental, AI-generated lyrics (with optional subject), or fully automated with random subject selection. |
| LLM Lyric Generation |
External LLM writes lyrics, style caption, and title — supports Gemini, LM Studio, OpenAI-compatible providers. |
| Preview Mode |
Toggle to review and edit AI-generated lyrics before committing to audio generation. |
| Random Subject |
Let the LLM pick the topic — generates a subject, then lyrics for that subject, then a matching title. |
| Random Genre |
One-click random genre selection from the full taxonomy. |
| Serial Queue |
Jobs run one at a time through an internal queue — queue multiple while one generates. |
| Live Progress |
Real-time stage updates (generating lyrics → resolving metadata → submitting → generating audio) with elapsed time. |
| Structured LLM Metadata |
AI-generated metadata (BPM, duration, key, time signature) via structured LLM prompts with editable system prompt. Caption rewrite operates independently of LM skip. |
Custom-Gen
Full manual control for power users:
| Feature |
Description |
| Complete Parameter Control |
Set style caption, lyrics, title, artist, BPM, duration, key signature, and time signature. |
| Instrumental Toggle |
Switch between vocal and instrumental modes. |
| Queue-Based Generation |
Queue multiple generations with configurable parallel job limits. |
| Direct Engine Access |
All global engine settings (solvers, schedulers, guidance, adapters) apply directly. |
| Artist-Title Metadata |
Fields for artist name, subject description, and key signature — embedded in generation metadata. |
General UI
| Feature |
Description |
| Full React + Tailwind UI |
Purpose-built dark-themed interface, ported and extended from the Python-based HOT-Step 9000. |
| WaveSurfer.js Waveform Player |
Bars-mode waveform visualisation with hover plugin; animated collapse/expand on pause. |
| Spectrum Analyzer |
audioMotion-analyzer integration with mirrored bar mode and configurable density. |
| Global Parameter Top Bar |
All engine settings extracted into a persistent, colour-coded top bar with collapsible section dropdowns. |
| VRAM Indicator |
Real-time GPU memory usage display in the top bar. |
| Terminal Panel |
Verbose generation progress streamed via SSE with batched UI updates for performance. |
| Generation Queue |
Queue additional generations while one is running; completed/cancelled jobs auto-dismiss after 3 seconds. |
| JSON Preset Export / Import |
Save and load complete generation parameter sets as JSON files. |
| Global Playlist Sidebar |
Persistent, resizable playlist replacing per-page floating players. |
| Inline Song Rename |
Pencil icon on any track for quick title editing. |
| Bulk Select & Delete |
Multi-select tracks in the library for batch deletion. |
| Human-Readable Model Labels |
Friendly names for GGUF model files with enriched badge summaries showing quantisation and size. |
| Toggle Switches |
All boolean controls use styled toggle switches instead of plain checkboxes. |
| Persistent UI State |
Accordion states, sidebar collapse, scroll positions, and panel sizes all persist across navigation. |
| Per-Track Download Buttons |
Download individual tracks directly from the playlist sidebar. |
| A/B Comparison |
Dual-track playback for comparing two generations side by side. Global A/B mini-bar above the player for cross-view comparison with seed-locked comparison support. |
| Library View Modes |
Three view modes — Grid (card overlay with cover art), List, and Table. Table mode has resizable columns with drag handles and localStorage persistence. |
| Send to Playlist Toggle |
Toggle in the generation queue to auto-send completed tracks to the playlist sidebar. |
| Player Stop Button |
Dedicated Stop button to decouple playbar collapse from pause behaviour. |
| Model Descriptions |
Rich model descriptions shown in the Models tab dropdowns — each model displays its characteristics, recommended use case, and format badge (GGUF/ST). |
| Format Badges |
Custom model dropdowns with visual GGUF/ST format badges to distinguish between quantised GGUF files and native safetensors models. |
| Dynamic Plugin Parameters |
Solver, scheduler, guidance, and postprocess plugins can declare custom UI parameters (sliders, toggles, dropdowns) that render dynamically — no hardcoded UI needed. |
Lyric Studio
A complete AI-powered lyrics and music generation workspace, powered by the Lireek backend:
| Feature |
Description |
| Lireek Backend |
Full server-side lyric engine with SQLite database for artists, albums, profiles, and generations. |
| LLM Orchestration |
7 LLM provider integrations (Gemini, LM Studio, OpenAI-compatible, etc.) with real-time SSE streaming. |
| Artist Profiles |
Per-artist configuration with adapter presets, reference tracks, style summaries, and computed generation statistics. |
| Lyric Profiler |
Statistical analysis engine — contraction rates, rhyme schemes, meter patterns, perspective tracking — computed locally without LLM calls. |
| Streaming Generation |
Real-time SSE streaming of lyrics with live UI updates as the LLM writes. |
| Audio Generation Queue |
Integrated music generation from lyrics with full parameter parity to Custom-Gen. |
| Bulk Operations |
"Fill to N" mode — auto-calculates how many generations each profile needs to reach a target count, with progress badges. |
| Send to Custom-Gen |
Transfers artist context, adapter path, reference track, key signature, and all metadata to Custom-Gen in one click. |
| Artist Sidebar |
Persistent sidebar with artist list, scroll position memory, and per-artist song counts. |
| Album Pages |
Browse by album with header bars, generated songs tab, and inline audio playback. |
| Database Migration |
Import tool for migrating from HOT-Step 9000’s hotstep_lyrics.db — artists, profiles, and generations. |
| Dynamic LLM Model List |
Fetches available models from provider APIs instead of using a hardcoded list. |
| Profile Stats Recalculation |
One-click re-run of all local statistical analysis without making any LLM calls. |
| LRC Synced Lyrics |
Timestamped lyric display synced to audio playback with seeking support. |
| Track Cropping |
Destructive IN/OUT point editing for trimming generated tracks to clean boundaries. |
| Subject Field |
Optional subject field for guiding lyric generation — sets the topic without dictating specific content. |
Cover Studio
Full-featured cover generation workspace with audio analysis, stem manipulation, and artist-specific generation:
| Feature |
Description |
| Audio Analysis |
Essentia-based extraction of BPM, key, energy, and timbre characteristics from source tracks. |
| Source Upload |
Upload and analyse reference audio for style-matched cover generation. Drag-and-drop with format auto-detection. |
| BPM Correction |
÷2 / Detected / ×2 buttons to fix Essentia’s common tempo halving/doubling errors. |
| Key Override |
Manual key correction dropdown when Essentia’s detection is wrong — shows both detected and overridden keys. |
| Style Description |
Editable caption field for describing the target style. Auto-filled from artist profile when available, freely editable. |
| Artist-Optional Generation |
Generate covers using just a style description — no artist or adapter required. |
| Pitch Shift |
±12 semitone slider with real-time key transposition preview (e.g. “+3 st → F Major”). |
| Tempo Scale |
0.5x–2.0x tempo slider with computed BPM preview. |
| Structure Fidelity |
Controls how closely the output follows the source’s arrangement and structure. |
| Source Timbre |
Controls how much of the original artist’s sonic character is preserved in the output. |
| Timbre Reference Conditioning |
Uses the target artist’s reference track as a DiT timbre conditioner to influence sonic character. |
| Stem Separation + Recombination |
Advanced mode: split source into stems via SuperSep, configure the stem mix, then generate from the recombined audio. |
| Album Adapter Presets |
Per-album adapter presets with bound reference tracks — select an album to auto-load the matching adapter and reference. |
| Cover Generation UI |
Full workspace with metadata extraction, artist grid, cover-specific sliders, progress tracking, and recent covers list. |
| Persistent State |
All settings, selections, and analysis results persist across navigation and reloads. |
Repaint Studio
Region-based audio regeneration with waveform selection and synchronized lyrics editing:
| Feature |
Description |
| Waveform Region Selector |
Visual waveform display with click-drag region selection for choosing which section of a track to regenerate. |
| LRC Lyrics Editor |
Synchronized lyrics editor showing timestamped lyrics aligned to the selected region. |
| Selective Regeneration |
Regenerate only the selected portion of a track while preserving the rest — fix problematic sections without re-generating the entire song. |
| WIP Status |
Includes a dismissable notice banner indicating the feature is under active development. |
Stem Studio
Neural audio source separation with a 4-stage ONNX pipeline and interactive stem mixer:
| Feature |
Description |
| SuperSep Pipeline |
4-stage cascaded separation using specialised ONNX models for different instrument groups. |
| Stage 1: BS-RoFormer |
Primary 6-stem split (Vocals, Drums, Bass, Guitar, Piano, Other) using Band-Split RoFormer with full-track chunking. |
| Stage 2: Mel-Band RoFormer |
Vocal sub-separation into Lead Vocals and Backing Vocals. Full-track processing with late-vocal detection. |
| Stage 3: MDX23C |
Drum sub-separation into Kick, Snare, Toms, Hi-Hat, Cymbals, and Other Percussion via STFT-based MDX processing. |
| Stage 4: HTDemucs |
Hybrid transformer for “Other” refinement — dual-input model taking both STFT spectrograms and raw waveforms, with dual-output combination. |
| 4 Separation Levels |
Basic (6 stems), Vocal Split (+ lead/backing), Full (+ drum sub-stems), Maximum (+ other sub-stems). |
| Interactive Stem Mixer |
Multi-solo, mute, and per-stem volume sliders with real-time Web Audio playback. |
| Chunking + Overlap-Add |
Full-length audio processing with 1-second crossfade windows for seamless chunk boundaries. |
| Sequential VRAM Management |
Models loaded and released strictly sequentially — peak GPU usage stays under 3 GB. |
| Per-Stage WAV Exports |
All stages generate raw WAVs in stage-N/ directories for diagnostics, regardless of downstream routing. |
| Hidden Intermediate Stems |
Debug stems (e.g. raw Vocals before lead/backing split) saved to disk but filtered from the UI mixer. |
| MDX STFT Preprocessing |
Generic engine function for MDX23C and HTDemucs models with stripped STFT layers — handles the [1,4,dim_f,T] tensor layout. |
| Source Library Browser |
Pick source audio from the song library with search, source filtering, and mastered/unmastered toggle. |
| ZIP Download |
Download all stems as a single ZIP archive, or download individual stems. |
| Persistent Source Selection |
Source audio URL and filename persist across sessions via localStorage. |
Stem Builder
Generatively create new instrument stems for source tracks using the DiT engine:
| Feature |
Description |
| Generative Stem Creation |
Select a source audio file and generate new AI-created instrument layers (vocals, drums, bass, guitar, piano) that complement the original track. |
| Instrument Layer Selection |
Choose which stems to generate — add missing instruments or create alternative takes for existing ones. |
| Per-Stem Preview |
Real-time audio preview of generated stems alongside the source track with per-stem volume controls. |
| Source Audio Browser |
Browse source audio from the song library with search and mastered/unmastered toggle. |
| Iterative Layering |
Build up arrangements by generating stems one at a time — each new layer is created in the context of the existing mix. |
| Full Pipeline Integration |
Generated stems pass through the complete engine pipeline including post-processing, mastering, and format export. |
MIDI Studio
Audio-to-MIDI transcription on HOT-Step's native ace-midi engine — a C++/GGML port of MuScriptor (Kyutai & Mirelo — code MIT, model weights CC BY-NC 4.0, non-commercial), validated byte-for-byte against the reference implementation. GPU-accelerated (a 3.5-min track transcribes in ~50 s on an RTX 5090), zero Python.
| Feature |
Description |
| Multi-Instrument Transcription |
Convert any library track — or a WAV/MP3 uploaded from your PC — into a multi-track .mid file: drums, bass, guitar, keys, and more (34 instrument groups + drums). |
| Model Choice + In-App Weight Download |
small (103M), medium (307M), or large (1.4B). The weights are gated on Hugging Face: request access via the in-app links (free), save your read token, and download each model with live progress — all inside MIDI Studio. |
| Live Event Stream |
The engine streams note events over SSE as it transcribes (chunk progress + notes-so-far in the UI; live playable piano roll planned). |
| Piano-Roll Preview |
Built-in SVG piano roll with per-channel instrument coloring and GM family legend, rendered from a native MIDI parser. |
| History |
Completed transcriptions persist to data/midi/ and survive restarts. |
StableStep
Post-processing refiner that re-renders the instrumental of a generated track through Stable Audio 3 (SDEdit-style partial re-noising) running natively in the C++ engine — no Python. Replaces autoencoder fizz with real spectral detail while vocals are separated, cleaned, and remixed byte-untouched. Powered by Stability AI (models under the Stability AI Community License).
| Feature |
Description |
| SDEdit Instrumental Refine |
The instrumental is encoded into SAME-L latent space, partially re-noised at the chosen strength, and denoised by the SA3 DiT (8-step distilled rectified flow) conditioned on a prompt derived from the track's own caption (vocal descriptors stripped, length appended). |
| Vocal-Safe Pipeline |
BS-RoFormer splits vocals (lead + backing) from the mix; the instrumental is derived as the exact complement so no content is lost. Vocals get a PP-VAE polish and are remixed over the refined instrumental — lyrics and performance are never re-generated. |
| Refine Strength |
0.10–0.60 slider (default 0.30). Low = cleanup; high = re-interpretation of the instrumentation. |
| Dual Engine Backends |
GGML (CUDA / Vulkan / CPU, 4 GGUF files ~5.8 GB — fastest option on NVIDIA in current testing) or ONNX Runtime with TensorRT (NVIDIA, ~12 GB). Auto mode picks whichever is installed. |
| In-App Model Download |
Model Manager → StableStep tab, with license acceptance and optional Hugging Face token. Both backend sets from scragnog/HOT-Step-CPP-StableStep. |
| Level Matching |
The refined instrumental and cleaned vocals are RMS-matched to their pre-processing levels, preserving the original vocal/instrumental balance through the chain. |
AI Assistant
In-app LLM-powered assistant with full context awareness:
| Feature |
Description |
| Streaming Chat Sidebar |
Toggleable chat panel with SSE-streamed responses, markdown rendering, and thinking/response separation. |
| Full Settings Awareness |
Every message includes a JSON snapshot of all engine parameters, content fields (lyrics, caption, BPM, duration, key, time signature, language), and active mode. |
| Mode-Aware Guidance |
Automatically detects which studio the user is in (Auto-Gen, Custom-Gen, Lyric Studio, Cover Studio, Stem Studio, Stem Builder) and tailors advice to that workflow. |
| Actionable Suggestions |
LLM responses can include structured action blocks that the user can preview as diffs and apply individually or in bulk — settings update reactively. |
| Content Editing |
Can write, rewrite, or update lyrics, style descriptions, and other content fields directly via action blocks with one-click apply. |
| Per-Action Apply |
Each suggested change has its own Apply button — cherry-pick individual settings without accepting the full batch. Applied items show a checkmark and dim out. |
| Thinking Separation |
LLM chain-of-thought is separated from the response and displayed in a collapsible "💭 Thought process" block — visible but visually distinct. |
| Multi-Provider Support |
Uses the same LLM provider registry as Lyric Studio — supports Gemini, LM Studio, OpenAI-compatible endpoints, etc. Provider and model selection persisted independently. |
| Knowledge Base |
Static knowledge base covering all engine parameters, solvers, schedulers, guidance modes, adapters, post-processing, troubleshooting, and lyric formatting rules. |
| Markdown Rendering |
Lightweight built-in renderer for headers, bold, italic, inline code, fenced code blocks, lists, and horizontal rules — no external dependencies. |
Timbre & Audio Conditioning
| Feature |
Description |
| Timbre Reference |
Use a reference track as a DiT timbre conditioner to influence the sonic character of generations. |
| FLAC Decoding |
Native dr_flac support for FLAC reference files alongside WAV and MP3. |
| LM Code Cache |
Cache LM-generated audio codes for deterministic re-generation with consistent structure. |
| LM Codes Strength |
Slider controlling how strongly cached LM codes influence the generation — from subtle guidance to exact reproduction. |
| Co-Resident Models |
Run DiT and VAE from different model files simultaneously (e.g. turbo DiT with full VAE). |
Settings & Configuration
| Feature |
Description |
| Settings Page |
Central configuration hub for models, adapters, mastering references, and download preferences. |
| Smart Defaults |
Works out of the box without a .env file — auto-discovers engine binary and model paths. |
| Selectable VAE Decoder |
Choose between standard and alternative VAE decoders at runtime. |
| LM / Thinking Toggle |
Skip or enable the LM inference phase entirely — useful for speed when you don't need metadata generation. |
| Nuke Generations |
One-click wipe of all generated content and database entries. |
| Configurable Download Defaults |
Set preferred export format, filename prefix, and download behaviour. |
| Environment Editor |
Read and edit the server's .env file directly from the Settings UI with categorised sections, masked API keys, and save confirmation. |
| Runtime Config Reload |
Hot-reload LLM provider settings and API keys without restarting the server. Engine-level changes show a restart notification. |
| VAE Chunk/Overlap Settings |
Exposed VAE chunk size and overlap parameters for tuning memory usage on Vulkan/low-VRAM GPUs. |
| OpenAI-Compatible Provider |
Generic OpenAI-compatible LLM provider supporting oMLX, vLLM, LocalAI, and similar endpoints. Configurable base URL and API key. |
Model Manager
| Feature |
Description |
| In-App Model Downloads |
Browse and download 100+ GGUF and safetensors models directly from the app — no manual file management needed. |
| Curated Starter Packs |
4 pre-configured bundles (Quick Start, Minimal, XL Quality, Blackwell Optimized) with one-click download of the full pipeline. |
| Tabbed Model Catalogue |
Browse all available models organised by role (DiT, LM, Text Encoder, VAE, PP-VAE) with descriptions and quantisation badges. |
| Concurrent Resumable Downloads |
Multiple simultaneous downloads with HTTP Range-based resumption — interruptions resume from where they left off. |
| Real-Time Progress |
SSE-streamed download progress with speed, ETA, and per-file status tracking. |
| Installed Status Tracking |
The catalogue shows which models you already have installed, with per-pack completion indicators. |
| Model Deletion |
Remove installed models directly from the UI with confirmation prompts. |
| 5 HuggingFace Repos |
Models sourced from Serveurperso/ACE-Step-1.5-GGUF, scragnog/ace-step-1.5-gguf-merge-models, scragnog/Ace-Step-1.5-MXFP4-Quants, scragnog/Ace-Step-1.5-ScragVAE, and scragnog/HOT-Step-CPP-PP-VAE. |
Build & Developer Tools
| Feature |
Description |
| dev-rebuild.bat |
Graceful HTTP shutdown of the running app before engine rebuild — prevents the supervisor's auto-restart from causing a respawn loop. |
| MSVC Build Compatibility |
Automatic Visual Studio discovery via vswhere, Ninja binary fallback, and Node.js version guard. |
| File-Based Logging |
Structured logging system mirroring HOT-Step 9000 patterns for consistent debugging. |
| Quantize Tool |
Experimental GGUF quantisation with IQ, NVFP4, MXFP4, and ternary format support. |
| Quant Benchmark |
Automated inference benchmarking with peak VRAM tracking and results logging. |
| MXFP4 Tensor Core Tests |
Blackwell GPU stress tests demonstrating 22–33% speedup with MXFP4 quantisation. |
| Graceful Shutdown |
Proper Windows process cleanup with a "you can close this page" confirmation screen. |
| Smart Update Scripts |
update-and-build.bat / .sh scripts for source builders — pulls latest changes, rebuilds engine, and reinstalls dependencies in one step. |