Skip to content
  1. Sep 09, 2026
    • Stefy Lanza (nextime / spora )'s avatar
      audio: implement music dub, demucs separation and ML restoration for real · 091fedd2
      Stefy Lanza (nextime / spora ) authored
      
      
      Three related placeholders were shipping as working features:
      
      - audio_stems.separate_with_provider() and audio_clean.restore_with_provider()
        were one-line stubs that unconditionally raised 501, so /v1/audio/stems and
        /v1/audio/cleanup only ever worked in ffmpeg fallback_mode despite demucs and
        deepfilternet being declared dependencies and probed by detect_audio_backends.
      - run_full_music_dub() ran only the STT step and returned hardcoded paths
        (vocals.wav, final_mix.wav) plus 'status': 'placeholder' for the other four,
        while the endpoint reported 'status': 'available'.
      
      Now:
      
      - separate_with_provider drives demucs (demucs.api, CLI fallback), keeps the
        vocals stem and sums drums+bass+other into an instrumental bed for
        vocals-instrumental; 4-stem passes the four through.
      - restore_with_provider runs DeepFilterNet (VoiceFixer fallback) and then applies
        the hum/click/loudness DSP with ffmpeg, so those options are no longer lost.
      - audio-music-dub is a real six-stage chain: separate -> transcribe the ISOLATED
        vocal -> adapt lyrics (LLM prompted for singable output with matching syllable
        count, argostranslate fallback) -> re-sing with F5-TTS cloned from the original
        vocal -> optional Seed-VC f0-conditioned singing pass -> ffmpeg remix + limiter.
        New request fields: text_model, voice_name/ref_text, sing_convert,
        diffusion_steps, pitch_shift, speed, seed, fallback_mode.
      
      Missing optional deps now degrade to a reported 'skipped'/'failed' step with a
      reason and a top-level status of 'complete' vs 'degraded' plus warnings[], rather
      than silently producing placeholders. 501s name the package to install.
      
      Verified offline with a fake-model harness: the chain produces a real RIFF wav
      mix end to end, feeds the vocal stem (not the mix) to STT, and correctly reports
      degraded when seed-vc is unavailable.
      
      Co-Authored-By: default avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
      Claude-Session: https://claude.ai/code/session_01R6iugoNeEgt9PkajKrFyq4
      091fedd2
  2. Jun 11, 2026
    • Stefy Lanza (nextime / spora )'s avatar
      Add task management, quantization, and hardware telemetry · 8ad15128
      Stefy Lanza (nextime / spora ) authored
      
      
      Tasks / queue management:
      - Central in-memory task registry with cooperative cancel, pause/resume,
        and step progress across image/video/audio/text generation + LoRA training
      - Tasks admin page (live 2s poll): cancel, interrupt, pause/resume, restart,
        remove; done jobs auto-drop from the list; bounded persisted job history
      - Disable interrupted-training recovery via --no-resume-jobs + settings toggle
      
      Quantization / acceleration:
      - TurboQuant embedding vector quantization (data-free, inner-product
        preserving): built-in NumPy backend + optional turboquant-py library,
        selectable per embedding model; /v1/embeddings `quantization` param
      - llama.cpp KV-cache quantization (cache_type_k/v) for GGUF text models,
        configurable in the Models UI
      
      Hardware telemetry:
      - Thermal cooldown state surfaced on the Tasks page (banner + per-task badge)
      - Live CPU/GPU/RAM/VRAM usage + temperature panel via /admin/api/system-stats
      
      Docs: API documentation gaps/accuracy pass + Swagger overhaul; DISTRIBUTION.md
      implementation spec. Plus I2V LoRA training channel-mismatch fix.
      
      Co-Authored-By: default avatarClaude Opus 4.8 <noreply@anthropic.com>
      8ad15128
  3. May 11, 2026
  4. May 06, 2026
Loading