Skip to content

Reset fork master to upstream (ServeurpersoCom/acestep.cpp)#9

Draft
Copilot wants to merge 25 commits intomasterfrom
copilot/reset-master-to-upstream
Draft

Reset fork master to upstream (ServeurpersoCom/acestep.cpp)#9
Copilot wants to merge 25 commits intomasterfrom
copilot/reset-master-to-upstream

Conversation

Copy link

Copilot AI commented Mar 7, 2026

The fork's master had diverged significantly from upstream — 23 fork-specific commits ahead (LoRA, cover mode, audio loader, CI workflows, etc.) and 15 upstream commits behind.

Changes

  • Removed 45 fork-only files: src/dit-lora.cpp, src/audio.h, src/audio_loader.cpp, src/safetensors.h, src/wav.h, CI workflows, example scripts, test fixtures, third_party/minimp3.h, and others
  • Added 2 upstream-only files: src/vae-enc.h, tools/neural-codec.cpp
  • Updated all files whose content differed between fork master and upstream master

Resulting tree SHA is identical to ServeurpersoCom/acestep.cpp@aeff0b8 (a03f89f5e10592857d33fb11b8cf55e0b2e383f0).


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

qxip and others added 24 commits February 28, 2026 19:26
- Add unified audio loader (audio.h, audio_loader.cpp, wav.h): WAV and MP3
  to stereo 48kHz float; MP3 via header-only minimp3, no temp files
- dit-vae: reference_audio path uses load_audio_48k_stereo; VAE encoder
  for timbre conditioning (requires VAE GGUF with encoder weights)
- Request API: task_type, reference_audio, src_audio, audio_cover_strength,
  repainting_start/end; docs in README and docs/MODES.md
- GitHub Actions: build.yml (Ubuntu + macOS on push/PR); test-generation.yml
  (manual + release only, short text2music/cover/full-pipeline tests)
- CI fixtures: tests/fixtures/ci-text2music.json, ci-cover.json (cover uses
  text2music WAV as reference)

Made-with: Cursor
Reference audio (WAV/MP3), CI build + test-generation
- examples/cover.json + cover.sh: cover mode (precomputed audio_codes, no LLM)
- examples/cover-reference.json + cover-reference.sh: cover + reference_audio (WAV/MP3)
- README: list cover and cover-reference in examples
- test-generation: cache key with runner.os, restore-keys per GitHub docs

Made-with: Cursor
- vae.h: use encoder output tensor length (out->ne[0]) for read size instead of
  T_audio/1920 to fix tensor read out of bounds on reference_audio encode
- dit-vae: support WAV and MP3 for reference_audio (single load path)
- tests/run-generation-tests.sh: local run of same three steps as CI; step 3
  copies fixture to request.json so ace-qwen3 writes request0.json
- test-generation.yml: same request.json copy for full-pipeline step
- README: validate locally first, then CI
- .gitignore: request.json, request0.json, tests/fixtures/*0.json

Made-with: Cursor
- Add examples/run-examples-ci.sh to run all 7 example scripts in order
- Add short-duration CI fixtures: ci-dit-only, ci-partial, ci-full, ci-request-reference
- Replace inline test-generation steps with single step running run-examples-ci.sh

Made-with: Cursor
- Resolve CMakeLists.txt: use tools/dit-vae.cpp + acestep-core, add src/audio_loader.cpp
- Resolve tools/dit-vae.cpp: use timer.h + audio.h, drop duplicate Timer
- Move audio.h, audio_loader.cpp, wav.h into src/ for consistent layout
- Add project root to acestep-core include path for third_party/minimp3.h

Made-with: Cursor
- Add safetensors reader and dit_ggml_load_lora (PEFT adapter_model.safetensors)
- Apply LoRA at linear layers in DiT (self/cross-attn, MLP) when base weights are separate
- CLI: --lora <path> and --lora-scale <float> in dit-vae
- Example: examples/lora.sh + lora.json (duckdbot/acestep-lora-cryda)
- README: LoRA section, example list, dit-vae options

Made-with: Cursor
…o path

- vae_encoder_free: reset sched, free in order (sched, weight_ctx, buf, backends), null ptrs
- dit-vae: size enc_out to max_lat = (T_audio/2048)+1 to avoid encoder write overflow

Made-with: Cursor
- dit-graph.h: apply LoRA deltas when base uses fused QKV/gate_up/ca_qkv
  so self-attn, MLP, and cross-attn all use adapters (fixes no audible effect)
- dit-lora.cpp: fix safetensors parse (rewind fp before parse); normalize
  keys for base_model.model.layers.* and .lora_A.weight/.lora_B.weight
- request: add custom_tag (LoRA trigger) and genre; parse language,
  is_instrumental, formatted_lyrics
- dit-vae: append custom_tag to caption for condition encoder when set
- examples/lora.json: nu-disco example with custom_tag crydamoure

Made-with: Cursor
Removed instructions for downloading LoRA adapter from Hugging Face.
- src_audio: load WAV/MP3, VAE encode, FSQ nearest-codeword encode to codes
  (fsq-detok.h: codeword table + latent_frames_to_codes; dit-vae: wire path)
- reference_audio + cover (audio_codes/src_audio) fully supported without Python
- MODES.md: cover and reference_audio marked supported; request table updated
- README: clarify audio_cover_strength vs guidance_scale vs reference_audio
  (audio_cover_strength = cover blend; reference_audio = no strength knob;
   guidance_scale = DiT CFG, separate)

Made-with: Cursor
ggml: add BF16/F16 support to snake and col2im_1d ops
… fork features (LoRA, cover mode, reference audio, VAE encoder)
…additions

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Resolve merge conflicts: resync with upstream while preserving fork features
vae: drop BF16 activation casts, decode in F32 throughout
Copilot AI changed the title [WIP] Reset master branch to match upstream master Reset fork master to upstream (ServeurpersoCom/acestep.cpp) Mar 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants