From 1951dca7865b0e00f355ab133a29c44d81be1943 Mon Sep 17 00:00:00 2001 From: MrDongsls Date: Wed, 24 Jun 2026 13:36:45 +0800 Subject: [PATCH] [Model] add soulx-singer support (#3862) Signed-off-by: Mr.Dong <1042542469@qq.com> Signed-off-by: Yueqian Lin Co-authored-by: Mr.Dong <1042542469@qq.com> Co-authored-by: Yueqian Lin <70319226+linyueqian@users.noreply.github.com> Co-authored-by: Yueqian Lin --- .buildkite/test-merge.yml | 28 + .gitignore | 1 + docs/models/supported_models.md | 2 + .../diffusion/cpu_offload_diffusion.md | 1 + .../text_to_speech/README.md | 97 ++ .../text_to_speech/soulxsinger/benchmark.py | 162 +++ .../text_to_speech/soulxsinger/end2end.py | 285 +++++ .../online_serving/text_to_speech/README.md | 63 ++ .../soulxsinger/openai_chat_client.py | 186 ++++ .../text_to_speech/soulxsinger/run_server.sh | 39 + pyproject.toml | 6 + tests/assets/soulxsinger/music.json | 16 + tests/assets/soulxsinger/music.mp3 | Bin 0 -> 1243961 bytes tests/assets/soulxsinger/zh_prompt.json | 16 + tests/assets/soulxsinger/zh_prompt.mp3 | Bin 0 -> 86061 bytes .../e2e/offline_inference/test_soulxsinger.py | 241 +++++ vllm_omni/config/stage_config.py | 2 + vllm_omni/deploy/soulxsinger_svc.yaml | 19 + vllm_omni/deploy/soulxsinger_svs.yaml | 19 + .../diffusion/models/soulx_singer/__init__.py | 44 + .../models/soulx_singer/modules/__init__.py | 17 + .../models/soulx_singer/modules/convnext.py | 46 + .../models/soulx_singer/modules/decoder.py | 24 + .../soulx_singer/modules/flow_matching.py | 423 ++++++++ .../models/soulx_singer/modules/llama.py | 393 +++++++ .../soulx_singer/modules/mel_transform.py | 151 +++ .../modules/note_transcription.py | 958 +++++++++++++++++ .../modules/preprocess/__init__.py | 7 + .../soulx_singer/modules/preprocess/asr.py | 326 ++++++ .../modules/preprocess/mel_grid_f0.py | 96 ++ .../modules/preprocess/pipeline.py | 431 ++++++++ .../soulx_singer/modules/preprocess/rmvpe.py | 593 +++++++++++ .../soulx_singer/modules/preprocess/rosvot.py | 619 +++++++++++ .../modules/preprocess/segmenter.py | 267 +++++ .../soulx_singer/modules/preprocess/stack.py | 145 +++ .../soulx_singer/modules/preprocess/utils.py | 260 +++++ .../modules/preprocess/vocal_sep.py | 207 ++++ .../models/soulx_singer/modules/vocoder.py | 983 ++++++++++++++++++ .../soulx_singer/modules/whisper_encoder.py | 96 ++ .../pipeline_soulx_singer_base.py | 359 +++++++ .../soulx_singer/pipeline_soulx_singer_svc.py | 409 ++++++++ .../soulx_singer/pipeline_soulx_singer_svs.py | 353 +++++++ .../soulx_singer/preprocess/__init__.py | 1 + .../models/soulx_singer/preprocess/g2p.py | 86 ++ .../soulx_singer/preprocess/metadata_utils.py | 137 +++ .../models/soulx_singer/preprocess/payload.py | 106 ++ .../soulx_singer/preprocess/pre_process.py | 220 ++++ .../diffusion/models/soulx_singer/utils.py | 565 ++++++++++ vllm_omni/diffusion/registry.py | 14 + vllm_omni/engine/stage_init_utils.py | 27 +- 50 files changed, 9533 insertions(+), 13 deletions(-) create mode 100644 examples/offline_inference/text_to_speech/soulxsinger/benchmark.py create mode 100644 examples/offline_inference/text_to_speech/soulxsinger/end2end.py create mode 100644 examples/online_serving/text_to_speech/soulxsinger/openai_chat_client.py create mode 100755 examples/online_serving/text_to_speech/soulxsinger/run_server.sh create mode 100644 tests/assets/soulxsinger/music.json create mode 100644 tests/assets/soulxsinger/music.mp3 create mode 100644 tests/assets/soulxsinger/zh_prompt.json create mode 100644 tests/assets/soulxsinger/zh_prompt.mp3 create mode 100644 tests/e2e/offline_inference/test_soulxsinger.py create mode 100644 vllm_omni/deploy/soulxsinger_svc.yaml create mode 100644 vllm_omni/deploy/soulxsinger_svs.yaml create mode 100644 vllm_omni/diffusion/models/soulx_singer/__init__.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/__init__.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/convnext.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/decoder.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/flow_matching.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/llama.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/mel_transform.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/note_transcription.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/preprocess/__init__.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/preprocess/asr.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/preprocess/mel_grid_f0.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/preprocess/pipeline.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/preprocess/rmvpe.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/preprocess/rosvot.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/preprocess/segmenter.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/preprocess/stack.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/preprocess/utils.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/preprocess/vocal_sep.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/vocoder.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/modules/whisper_encoder.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/pipeline_soulx_singer_base.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/pipeline_soulx_singer_svc.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/pipeline_soulx_singer_svs.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/preprocess/__init__.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/preprocess/g2p.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/preprocess/metadata_utils.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/preprocess/payload.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/preprocess/pre_process.py create mode 100644 vllm_omni/diffusion/models/soulx_singer/utils.py diff --git a/.buildkite/test-merge.yml b/.buildkite/test-merge.yml index f2d5e972b..96ca753e2 100644 --- a/.buildkite/test-merge.yml +++ b/.buildkite/test-merge.yml @@ -545,6 +545,34 @@ steps: volumes: - "/fsx/hf_cache:/fsx/hf_cache" + - label: "TTS · SoulX-Singer Test" + source_file_dependencies: + - tests/e2e/offline_inference/test_soulxsinger.py + - vllm_omni/diffusion/models/soulx_singer/ + - vllm_omni/deploy/soulxsinger_svc.yaml + - vllm_omni/deploy/soulxsinger_svs.yaml + timeout_in_minutes: 30 + commands: + - | + timeout 30m bash -c " + export VLLM_LOGGING_LEVEL=DEBUG + export VLLM_WORKER_MULTIPROC_METHOD=spawn + pytest -s -v tests/e2e/offline_inference/test_soulxsinger.py -k 'svc or precomputed' -m 'advanced_model and cuda' --run-level 'advanced_model' + " + agents: + queue: "gpu_1_queue" + plugins: + - docker#v5.2.0: + image: public.ecr.aws/q9t5s3a7/vllm-ci-test-repo:$BUILDKITE_COMMIT + always-pull: true + propagate-environment: true + shm-size: "8gb" + environment: + - "HF_HOME=/fsx/hf_cache" + - "HF_TOKEN" + volumes: + - "/fsx/hf_cache:/fsx/hf_cache" + - label: "Diffusion · Qwen Image Edit Test" source_file_dependencies: - tests/e2e/online_serving/test_qwen_image_edit.py diff --git a/.gitignore b/.gitignore index 40a6916b5..a175e19e3 100644 --- a/.gitignore +++ b/.gitignore @@ -241,6 +241,7 @@ datasets/ *.json !tests/dfx/perf/tests/*.json !apps/ComfyUI-vLLM-Omni/example_workflows/*.json +!tests/assets/soulxsinger/*.json *.jsonl *.parquet diff --git a/docs/models/supported_models.md b/docs/models/supported_models.md index 79c44d740..75b3ea1ad 100644 --- a/docs/models/supported_models.md +++ b/docs/models/supported_models.md @@ -63,6 +63,8 @@ th { | `FluxPipeline` | FLUX.1-schnell | `black-forest-labs/FLUX.1-schnell` | ✅︎ | ✅︎ | | ✅︎ | | `OmniGen2Pipeline` | OmniGen2 | `OmniGen2/OmniGen2` | ✅︎ | ✅︎ | | ✅︎ | | `StableAudioPipeline` | Stable-Audio-Open | `stabilityai/stable-audio-open-1.0` | ✅︎ | ✅︎ | | ✅︎ | +| `SoulXSingerPipeline` | SoulX-Singer (SVS) | `Soul-AILab/SoulX-Singer` | ✅︎ | | | | +| `SoulXSingerSVCPipeline` | SoulX-Singer-SVC | `Soul-AILab/SoulX-Singer` (`model-svc.pt`) | ✅︎ | | | | | `AudioXPipeline` | AudioX | `zhangj1an/AudioX` | ✅︎ | ✅︎ | | | | `Qwen3TTSForConditionalGeneration` | Qwen3-TTS-12Hz-1.7B-CustomVoice | `Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice` | ✅︎ | ✅︎ | ✅︎ | ✅︎ | | `Qwen3TTSForConditionalGeneration` | Qwen3-TTS-12Hz-1.7B-VoiceDesign | `Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign` | ✅︎ | ✅︎ | ✅︎ | ✅︎ | diff --git a/docs/user_guide/diffusion/cpu_offload_diffusion.md b/docs/user_guide/diffusion/cpu_offload_diffusion.md index 526d2fd45..f827e79b3 100644 --- a/docs/user_guide/diffusion/cpu_offload_diffusion.md +++ b/docs/user_guide/diffusion/cpu_offload_diffusion.md @@ -197,6 +197,7 @@ Factory function `get_offload_backend()` selects the appropriate backend based o | StableDiffusion3Pipeline | `stabilityai/stable-diffusion-3.5-medium` | `SD3Transformer2DModel` | - | ✓ | `"transformer_blocks"` | | Wan22I2VPipeline | `Wan-AI/Wan2.2-I2V-A14B-Diffusers` | `WanTransformer3DModel` | ✓ | ✓ | `"blocks"` | | Wan22Pipeline | `Wan-AI/Wan2.2-T2V-A14B-Diffusers` | `WanTransformer3DModel` | ✓ | ✓ | `"blocks"` | +| SoulXSingerPipeline / SoulXSingerSVCPipeline | `Soul-AILab/SoulX-Singer` | `DiffLlama` (`cfm_decoder.model.diff_estimator`) | ✓ | ✓ | `"layers"` | | BagelPipeline | `ByteDance-Seed/BAGEL-7B-MoT` | `Qwen2MoTModel` | - | ✓ | `"layers"`, `"customized modules"` | **Notes:** diff --git a/examples/offline_inference/text_to_speech/README.md b/examples/offline_inference/text_to_speech/README.md index ea1d36051..180ab9954 100644 --- a/examples/offline_inference/text_to_speech/README.md +++ b/examples/offline_inference/text_to_speech/README.md @@ -521,3 +521,100 @@ Available voice presets are listed on the HF model card (`mistralai/Voxtral-4B-T - `--num-prompts N` replicates the prompt for performance measurement. - `--concurrency M` requires `--streaming` and must evenly divide `--num-prompts`. - Run `--help` for the full argument surface. + +--- + +## SoulX-Singer + +Singing voice synthesis (SVS) and conversion (SVC) at 24 kHz. Script: `soulxsinger/end2end.py`. Deploy: `vllm_omni/deploy/soulxsinger_svs.yaml` or `soulxsinger_svc.yaml`. + +### Prerequisites + +Download DiT and preprocess weights, then set up separate SVS / SVC view directories. Copy `soulxsinger/utils/phoneme/phone_set.json` from upstream [SoulX-Singer](https://github.com/Soul-AILab/SoulX-Singer) into the model weights dir as `phoneme/phone_set.json` — HuggingFace does not ship it. + +```bash +# 1. DiT weights +export BASE=path/to/SoulX-Singer +export PREPROCESS=path/to/SoulX-Singer-Preprocess +export SVC_DIR=path/to/SoulX-Singer-svc + +huggingface-cli download Soul-AILab/SoulX-Singer --local-dir "$BASE" + +# 2. Preprocess weights (required) +huggingface-cli download Soul-AILab/SoulX-Singer-Preprocess --local-dir "$PREPROCESS" +export SOULX_PREPROCESS_WEIGHTS_DIR="$PREPROCESS" + +# 3. SVS / SVC view directories +mkdir -p "$SVC_DIR" +cp $BASE/{config.yaml,README.md,assets} $SVC_DIR +mv $BASE/model-svc.pt $SVC_DIR/model-svc.pt + +cat > "$BASE/config.json" <<'EOF' +{ + "model_type": "soulxsinger", + "architectures": ["SoulXSingerPipeline"], + "max_num_seqs": 1 +} +EOF + +cat > "$SVC_DIR/config.json" <<'EOF' +{ + "model_type": "soulxsinger", + "architectures": ["SoulXSingerSVCPipeline"], + "max_num_seqs": 1 +} +EOF +``` + +`config.yaml` hyper-parameters live under `$BASE`; each view's `config.json` `architectures` field is the single source of truth for SVS vs SVC. Point `--model` at the matching directory (`$BASE` for SVS, `$SVC_DIR` for SVC). Deploy YAML is chosen automatically from `config.json`; optional `--svs` / `--svc` only assert the mode matches. + +**Online preprocess** is the default: pass `--prompt-audio` and `--target-audio`, and the worker runs vocal separation, F0, and (for SVS) lyrics/MIDI before DiT. Install only what your run needs: + +```bash +pip install "BS-RoFormer" # vocal sep + F0 on GPU — SVS and SVC +``` + +Mandarin SVS also needs FunASR and Chinese G2P; `ffmpeg` must be on `PATH`: + +```bash +# install optional dependencies: +pip install -e ".[soulx-svs]" +``` + +English SVS adds NeMo ASR and NLTK data; pass `--language English`: + +```bash +pip install "nemo_toolkit[asr]==2.6.1" lhotse==1.32.2 +python -c "import nltk; nltk.download('cmudict'); nltk.download('averaged_perceptron_tagger_eng')" +``` + +**Precomputed metadata** is the alternative: pass both `--prompt-metadata-path` and `--target-metadata-path` and skip online ASR/ROSVOT — none of the packages above are required. JSON can be produced by integrated preprocess on a prior run, or by upstream [SoulX-Singer](https://github.com/Soul-AILab/SoulX-Singer) `preprocess/` scripts if you prefer to run that outside vLLM-Omni. + +### Quick start + +```bash +# SVS — default demo audio: tests/assets/soulxsinger/zh_prompt.mp3 + music.mp3 +python examples/offline_inference/text_to_speech/soulxsinger/end2end.py \ + --model "$BASE" \ + --preprocess-weights-dir "$PREPROCESS" \ + --control score \ + --num-inference-steps 32 \ + -o output.wav + +python examples/offline_inference/text_to_speech/soulxsinger/end2end.py \ + --model "$SVC_DIR" \ + --preprocess-weights-dir "$PREPROCESS" \ + --svc \ + --num-inference-steps 32 \ + -o output_svc.wav +``` + +`SOULX_PREPROCESS_WEIGHTS_DIR` makes `--preprocess-weights-dir` optional. Long SVS targets are handled in one request. See `end2end.py --help` for `--pitch-shift`, `--vocal-sep`, `--auto-shift`, and language/control options. + +### Notes + +- Output: 24 kHz mono WAV; batch only. +- Defaults match upstream: `--guidance-scale 3.0`, `--seed 42`, `--auto-shift` on. +- SVS `--control`: `score` or `melody`. MIDI / lyric QC: upstream `midi_editor` only. + +--- diff --git a/examples/offline_inference/text_to_speech/soulxsinger/benchmark.py b/examples/offline_inference/text_to_speech/soulxsinger/benchmark.py new file mode 100644 index 000000000..97ed7eb97 --- /dev/null +++ b/examples/offline_inference/text_to_speech/soulxsinger/benchmark.py @@ -0,0 +1,162 @@ +"""Repeatable SoulX-Singer offline benchmark (preprocess + DiT, RTF + stage timings). + +Usage: + python benchmark.py --model /path/to/SoulX-Singer --svs \\ + --prompt-audio ../SoulX-Singer/example/audio/zh_prompt.mp3 \\ + --target-audio ../SoulX-Singer/example/audio/music.mp3 \\ + --preprocess-weights-dir /path/to/SoulX-Singer-Preprocess \\ + -o benchmark.wav + + python benchmark.py ... --enable-diffusion-pipeline-profiler +""" + +import argparse +import statistics +import time +from pathlib import Path + +import soundfile as sf +from end2end import ( + SVC_DEPLOY_CONFIG, + SVS_DEPLOY_CONFIG, + add_inference_args, + build_sampling, + extract_audio, + resolve_preprocess_weights_dir, +) + +from vllm_omni.entrypoints.omni import Omni + + +def _audio_duration_sec(outputs) -> float: + audio_np, sr = extract_audio(outputs) + return audio_np.size / sr + + +def _stage_durations_from_output(outputs) -> dict[str, float]: + omni_out = outputs[0] + durations = getattr(omni_out, "stage_durations", None) or {} + if durations: + return dict(durations) + ro = getattr(omni_out, "request_output", None) + if ro is not None: + return dict(getattr(ro, "stage_durations", None) or {}) + return {} + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser(description="SoulX-Singer offline benchmark") + add_inference_args(parser) + parser.add_argument("--warmup", type=int, default=1, help="Warmup runs (excluded from stats)") + parser.add_argument("--runs", type=int, default=3, help="Measured runs") + parser.add_argument( + "--enable-diffusion-pipeline-profiler", + action="store_true", + help="Enable low-overhead stage timing in DiffusionOutput.stage_durations", + ) + parser.add_argument( + "--enforce-eager", + action="store_true", + help="Disable torch.compile on diff_estimator (eager baseline for A/B)", + ) + parser.add_argument( + "--dtype", + type=str, + default=None, + choices=["bfloat16", "bf16", "float16", "fp16", "half"], + help="DiT trunk dtype (default from deploy YAML). Use float16 to match upstream --fp16.", + ) + parser.add_argument( + "--output", + "-o", + type=str, + default=None, + help="Save WAV from the last measured run (after warmup)", + ) + parser.add_argument( + "--save-each-run", + action="store_true", + help="With --output, also write measured runs as _run1.wav, _run2.wav, ...", + ) + return parser.parse_args() + + +def main() -> None: + args = parse_args() + preprocess_dir = resolve_preprocess_weights_dir(args.preprocess_weights_dir) + deploy_config = args.deploy_config or str(SVS_DEPLOY_CONFIG if args.svs else SVC_DEPLOY_CONFIG) + mode = "SVS" if args.svs else "SVC" + + omni_kwargs: dict = { + "model": args.model, + "deploy_config": deploy_config, + "async_chunk": False, # SoulX-Singer currently supports only batch mode (pseudo-streaming was stashed) + } + if args.enable_diffusion_pipeline_profiler: + omni_kwargs["enable_diffusion_pipeline_profiler"] = True + if args.enforce_eager: + omni_kwargs["enforce_eager"] = True + if args.dtype is not None: + omni_kwargs["dtype"] = args.dtype + + compile_mode = "eager" if args.enforce_eager else "torch.compile" + dtype_label = args.dtype or "from deploy YAML" + print(f"Loading SoulX-Singer {mode} from {args.model} [{compile_mode}, dtype={dtype_label}]") + + omni = Omni(**omni_kwargs) + kind = "svs" if args.svs else "svc" + sampling = build_sampling(args, preprocess_weights_dir=preprocess_dir, kind=kind) + prompt = {"prompt_token_ids": [0]} + + latencies_ms: list[float] = [] + rtfs: list[float] = [] + last_stages: dict[str, float] = {} + last_measured_outputs = None + + total_runs = args.warmup + args.runs + for run_idx in range(total_runs): + is_warmup = run_idx < args.warmup + label = "warmup" if is_warmup else f"run {run_idx - args.warmup + 1}/{args.runs}" + t0 = time.perf_counter() + outputs = list(omni.generate([prompt], sampling)) + elapsed_ms = (time.perf_counter() - t0) * 1000.0 + audio_sec = _audio_duration_sec(outputs) + rtf = (elapsed_ms / 1000.0) / audio_sec if audio_sec > 0 else float("inf") + print(f"[{label}] client={elapsed_ms:.1f} ms, audio={audio_sec:.2f}s, RTF={rtf:.3f}") + if not is_warmup: + latencies_ms.append(elapsed_ms) + rtfs.append(rtf) + last_stages = _stage_durations_from_output(outputs) + last_measured_outputs = outputs + if args.output and args.save_each_run: + measured_idx = run_idx - args.warmup + 1 + out_path = Path(args.output) + run_path = out_path.with_name(f"{out_path.stem}_run{measured_idx}{out_path.suffix}") + audio_np, sr = extract_audio(outputs) + sf.write(str(run_path), audio_np, sr) + print(f" saved {run_path} ({sr} Hz, {audio_np.size / sr:.2f}s)") + + omni.close() + + if args.output and last_measured_outputs is not None: + audio_np, sr = extract_audio(last_measured_outputs) + out_path = Path(args.output) + out_path.parent.mkdir(parents=True, exist_ok=True) + sf.write(str(out_path), audio_np, sr) + print(f"\nSaved last measured run → {out_path} ({sr} Hz, {audio_np.size / sr:.2f}s)") + + if latencies_ms: + print("\n=== Summary (measured runs) ===") + print(f"client_ms: mean={statistics.mean(latencies_ms):.1f}, stdev={statistics.pstdev(latencies_ms):.1f}") + print(f"RTF: mean={statistics.mean(rtfs):.3f}, stdev={statistics.pstdev(rtfs):.3f}") + if last_stages: + print("\nStage durations (last measured run):") + for name, value in sorted(last_stages.items()): + if name.endswith("_ms"): + print(f" {name}: {value:.1f} ms") + else: + print(f" {name}: {value * 1000.0:.1f} ms") + + +if __name__ == "__main__": + main() diff --git a/examples/offline_inference/text_to_speech/soulxsinger/end2end.py b/examples/offline_inference/text_to_speech/soulxsinger/end2end.py new file mode 100644 index 000000000..116b8da4b --- /dev/null +++ b/examples/offline_inference/text_to_speech/soulxsinger/end2end.py @@ -0,0 +1,285 @@ +"""Offline SoulX-Singer SVS / SVC: single-stage DiT (preprocess inline). + +Pass raw prompt/target audio; vLLM-Omni runs integrated preprocess then inference. + +Usage: + # SVS (default) + python end2end.py --model /path/to/SoulX-Singer \\ + --prompt-audio path/to/prompt/audio.mp3 \\ + --target-audio path/to/target/audio.mp3 \\ + --preprocess-weights-dir /path/to/SoulX-Singer-Preprocess \\ + -o output.wav + + # SVC (config.json must declare SoulXSingerSVCPipeline; --model points at SVC view) + python end2end.py --model /path/to/SoulX-Singer-svc \\ + --prompt-audio path/to/prompt/audio.mp3 \\ + --target-audio path/to/target/audio.mp3 \\ + --preprocess-weights-dir /path/to/SoulX-Singer-Preprocess \\ + -o output_svc.wav +""" + +import argparse +import os +from pathlib import Path + +import numpy as np +import soundfile as sf + +from vllm_omni.diffusion.models.soulx_singer.utils import resolve_soulx_kind, validate_soulx_extra_args +from vllm_omni.entrypoints.omni import Omni +from vllm_omni.inputs.data import OmniDiffusionSamplingParams + +REPO_ROOT = Path(__file__).resolve().parents[4] +SVS_DEPLOY_CONFIG = REPO_ROOT / "vllm_omni" / "deploy" / "soulxsinger_svs.yaml" +SVC_DEPLOY_CONFIG = REPO_ROOT / "vllm_omni" / "deploy" / "soulxsinger_svc.yaml" +DEFAULT_PROMPT_AUDIO = REPO_ROOT / "tests" / "assets" / "soulxsinger" / "zh_prompt.mp3" +DEFAULT_TARGET_AUDIO = REPO_ROOT / "tests" / "assets" / "soulxsinger" / "music.mp3" +_SAMPLE_RATE = 24000 + + +def _require_paths(paths: dict[str, str | None]) -> None: + missing = [name for name, p in paths.items() if not p or not os.path.isfile(p)] + if missing: + raise FileNotFoundError("Missing file(s): " + ", ".join(f"{k}={paths[k]!r}" for k in missing)) + + +def resolve_preprocess_weights_dir(explicit: str | None) -> str: + if explicit: + path = Path(explicit).expanduser().resolve() + if not (path / "rmvpe" / "rmvpe.pt").is_file(): + raise FileNotFoundError(f"--preprocess-weights-dir must contain rmvpe/rmvpe.pt: {path}") + return str(path) + env = os.environ.get("SOULX_PREPROCESS_WEIGHTS_DIR") + if env: + path = Path(env).expanduser().resolve() + if (path / "rmvpe" / "rmvpe.pt").is_file(): + return str(path) + raise FileNotFoundError( + "SoulX preprocess weights not found. Pass --preprocess-weights-dir or set " + "SOULX_PREPROCESS_WEIGHTS_DIR to a directory containing rmvpe/rmvpe.pt " + "(huggingface-cli download Soul-AILab/SoulX-Singer-Preprocess)." + ) + + +def build_sampling( + args: argparse.Namespace, + *, + preprocess_weights_dir: str, + kind: str, +) -> OmniDiffusionSamplingParams: + extra: dict = { + "prompt_audio": os.path.abspath(args.prompt_audio), + "target_audio": os.path.abspath(args.target_audio), + "preprocess_weights_dir": preprocess_weights_dir, + "vocal_sep": args.vocal_sep, + "auto_shift": args.auto_shift, + "pitch_shift": args.pitch_shift, + } + if kind == "svs": + extra["language"] = args.language + extra["control"] = args.control + if args.prompt_metadata_path: + extra["prompt_metadata_path"] = os.path.abspath(args.prompt_metadata_path) + if args.target_metadata_path: + extra["target_metadata_path"] = os.path.abspath(args.target_metadata_path) + if args.prompt_metadata_path or args.target_metadata_path: + extra["audio_path"] = os.path.abspath(args.prompt_wav_path or args.prompt_audio) + + extra = validate_soulx_extra_args(kind, extra) + + return OmniDiffusionSamplingParams( + num_inference_steps=args.num_inference_steps, + guidance_scale=args.guidance_scale, + seed=args.seed, + extra_args=extra, + ) + + +def extract_audio(outputs) -> tuple[np.ndarray, int]: + out = outputs[0] + mm = getattr(out, "multimodal_output", None) + if mm is None: + ro = getattr(out, "request_output", None) + if ro is not None: + mm = getattr(ro, "multimodal_output", None) + if mm is None and ro.outputs: + mm = getattr(ro.outputs[0], "multimodal_output", None) + if not mm or "audio" not in mm: + raise RuntimeError("No audio in multimodal_output") + + audio_val = mm["audio"] + if isinstance(audio_val, list): + chunks = [ + np.asarray(chunk.detach().cpu().float().numpy() if hasattr(chunk, "detach") else chunk).reshape(-1) + for chunk in audio_val + if chunk is not None + ] + audio_np = np.concatenate(chunks, axis=0) if chunks else np.array([], dtype=np.float32) + elif hasattr(audio_val, "cpu"): + audio_np = audio_val.detach().cpu().numpy().squeeze() + else: + audio_np = np.asarray(audio_val, dtype=np.float32).squeeze() + + sr_val = mm.get("sr", mm.get("audio_sample_rate", _SAMPLE_RATE)) + if isinstance(sr_val, list) and sr_val: + sr_val = sr_val[-1] + if hasattr(sr_val, "item"): + sr_val = sr_val.item() + return audio_np.astype(np.float32, copy=False), int(sr_val) + + +def add_inference_args(parser: argparse.ArgumentParser) -> None: + mode = parser.add_mutually_exclusive_group() + mode.add_argument( + "--svc", + action="store_true", + help="Assert SVC mode (must match config.json architectures)", + ) + parser.add_argument( + "--model", + type=str, + required=True, + help="SoulX-Singer weight directory ($BASE for SVS, $SVC_DIR for SVC)", + ) + parser.add_argument( + "--deploy-config", + type=str, + default=None, + help="Override deploy YAML (default: soulxsinger_svs.yaml or soulxsinger_svc.yaml)", + ) + parser.add_argument( + "--prompt-audio", + type=str, + default=str(DEFAULT_PROMPT_AUDIO), + help="Prompt / reference audio (mp3 or wav)", + ) + parser.add_argument( + "--target-audio", + type=str, + default=str(DEFAULT_TARGET_AUDIO), + help="Target content audio (mp3 or wav)", + ) + parser.add_argument( + "--prompt-metadata-path", + type=str, + default=None, + help="SVS precomputed prompt metadata.json (skips online ASR/ROSVOT for prompt)", + ) + parser.add_argument( + "--target-metadata-path", + type=str, + default=None, + help="SVS precomputed target metadata.json (skips online ASR/ROSVOT for target)", + ) + parser.add_argument( + "--prompt-wav-path", + type=str, + default=None, + help="SVS prompt vocal wav for metadata processor when using --prompt-metadata-path (default: --prompt-audio)", + ) + parser.add_argument( + "--preprocess-weights-dir", + type=str, + default=None, + help="SoulX-Singer-Preprocess weights (or set SOULX_PREPROCESS_WEIGHTS_DIR)", + ) + parser.add_argument( + "--language", + type=str, + default="Mandarin", + help="SVS lyrics language (Mandarin, Cantonese, English)", + ) + parser.add_argument( + "--control", + type=str, + default="melody", + choices=["score", "melody"], + help="SVS control mode", + ) + parser.add_argument( + "--vocal-sep", + action=argparse.BooleanOptionalAction, + default=False, + help="Run vocal separation during preprocess", + ) + parser.add_argument( + "--auto-shift", + action=argparse.BooleanOptionalAction, + default=True, + help="Auto pitch shift to align target pitch with prompt", + ) + parser.add_argument("--pitch-shift", type=int, default=0) + parser.add_argument("--num-inference-steps", type=int, default=32) + parser.add_argument("--guidance-scale", type=float, default=3.0) + parser.add_argument( + "--seed", + type=int, + default=42, + help="Optional CFM RNG seed. Omit for non-deterministic sampling.", + ) + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser(description="SoulX-Singer offline SVS / SVC (preprocess + DiT)") + add_inference_args(parser) + parser.add_argument("--output", "-o", type=str, default="output.wav") + args = parser.parse_args() + return args + + +def main() -> None: + args = parse_args() + kind = resolve_soulx_kind(args.model) + + if not (args.svc ^ (kind == "svs")): + raise ValueError(f"mode mismatch: {args.model}/config.json (declares {kind!r}), --svc={args.svc}") + + required = { + "prompt_audio": args.prompt_audio, + "target_audio": args.target_audio, + } + if kind == "svs" and bool(args.prompt_metadata_path) ^ bool(args.target_metadata_path): + raise ValueError( + "SVS precomputed metadata requires both --prompt-metadata-path and " + "--target-metadata-path (or neither, for online preprocess)." + ) + if args.prompt_metadata_path: + required["prompt_metadata_path"] = args.prompt_metadata_path + required["target_metadata_path"] = args.target_metadata_path + if args.prompt_wav_path: + required["prompt_wav_path"] = args.prompt_wav_path + _require_paths(required) + preprocess_dir = resolve_preprocess_weights_dir(args.preprocess_weights_dir) + deploy_config = args.deploy_config or str(SVC_DEPLOY_CONFIG if kind == "svc" else SVS_DEPLOY_CONFIG) + mode = kind.upper() + + print(f"Loading SoulX-Singer {mode} from {args.model}") + print(f" deploy: {deploy_config}") + print(f" prompt: {args.prompt_audio}") + print(f" target: {args.target_audio}") + + omni = Omni(model=args.model, deploy_config=deploy_config, async_chunk=False) # SoulX-Singer is batch-only + sampling = build_sampling( + args, + preprocess_weights_dir=preprocess_dir, + kind=kind, + ) + prompt = {"prompt_token_ids": [0], "multi_modal_data": {}} + + print("Running generate (inline preprocess + DiT)...") + outputs = list(omni.generate([prompt], sampling)) + if not outputs: + raise RuntimeError("No output from omni.generate") + + err = getattr(outputs[0], "error", None) + if err is not None: + raise RuntimeError(f"Pipeline error: {err}") + + audio_np, sr = extract_audio(outputs) + sf.write(args.output, audio_np, sr) + print(f"Saved {args.output} ({sr} Hz, {len(audio_np) / sr:.2f}s)") + omni.close() + + +if __name__ == "__main__": + main() diff --git a/examples/online_serving/text_to_speech/README.md b/examples/online_serving/text_to_speech/README.md index 1a3096fab..e8f862654 100644 --- a/examples/online_serving/text_to_speech/README.md +++ b/examples/online_serving/text_to_speech/README.md @@ -24,6 +24,7 @@ For the full list of supported architectures across all modalities, see | Qwen3-TTS | `Qwen/Qwen3-TTS-12Hz-1.7B-{CustomVoice,VoiceDesign,Base}` | ✓ (Base) | ✓ (PCM + WebSocket) | ✓ (presets + `/v1/audio/voices` upload) | ✓ (standard + FastRTC) | | VoxCPM2 | `openbmb/VoxCPM2` | ✓ | ✓ (AudioWorklet via gradio) | — | ✓ | | Voxtral TTS | `mistralai/Voxtral-4B-TTS-2603` | ✓ (gated upstream) | ✓ | ✓ (presets) | ✓ | +| SoulX-Singer | `Soul-AILab/SoulX-Singer` | ✓ (prompt audio) | — (batch only) | — (prompt + target audio) | — (chat client) | CosyVoice3 is intentionally absent: no online example exists for it yet. See its [offline section](../../offline_inference/text_to_speech/README.md#cosyvoice3) instead. @@ -661,3 +662,65 @@ The demo handles voice-preset selection and reference-audio upload. `voxtral_tts - Voice presets are listed on the HF model card (`mistralai/Voxtral-4B-TTS-2603`). - Voice cloning is gated upstream and may require a recent `mistral_common`. - A standalone CLI client is not yet shipped; the gradio demo is the canonical reference for now. + +--- + +## SoulX-Singer + +Singing voice synthesis (SVS) and conversion (SVC) at 24 kHz. Single-stage DiT with inline preprocess. Uses the `/v1/chat/completions` endpoint with multimodal input (`prompt_audio` + `target_audio`). + +### Prerequisites + +Download DiT and preprocess weights, then set up separate SVS / SVC view directories and install dependencies as described in the [offline README](../../offline_inference/text_to_speech/README.md#soulx-singer). `config.json` `architectures` field is the single source of truth for SVS vs SVC — point `MODEL` at the matching directory. + +### Launch + +```bash +# SVS (default) +export MODEL=/path/to/SoulX-Singer +export PREPROCESS=/path/to/SoulX-Singer-Preprocess +bash examples/online_serving/text_to_speech/soulxsinger/run_server.sh + +# SVC +export MODE=svc +export MODEL=/path/to/SoulX-Singer-svc +bash examples/online_serving/text_to_speech/soulxsinger/run_server.sh +``` + +Or equivalently, set `SOULX_PREPROCESS_WEIGHTS_DIR` and launch directly: +```bash +export SOULX_PREPROCESS_WEIGHTS_DIR=$PREPROCESS +vllm serve $MODEL --omni \ + --deploy-config vllm_omni/deploy/soulxsinger_${MODE}.yaml \ + --port 8192 --trust-remote-code --enforce-eager +``` + +### Sending requests + +Audio paths must be reachable from the server host (local filesystem or data URL). The client sends prompt vocal via `input_audio` and target accompaniment via `extra_args['target_audio']`. + +```bash +# Default demo audio: tests/assets/soulxsinger/zh_prompt.mp3 + music.mp3 +python examples/online_serving/text_to_speech/soulxsinger/openai_chat_client.py \ + --prompt-audio /path/on/server/zh_prompt.mp3 \ + --target-audio /path/on/server/music.mp3 \ + --preprocess-weights-dir /path/on/server/SoulX-Singer-Preprocess \ + -o output.wav +``` + +Use precomputed metadata to skip online preprocess with following command: +```bash +python examples/online_serving/text_to_speech/soulxsinger/openai_chat_client.py \ + --prompt-metadata-path /path/on/server/zh_prompt.json \ + --target-metadata-path /path/on/server/music.json \ + --audio-path /path/on/server/zh_prompt.mp3 \ + -o output.wav +``` + +`SOULX_PREPROCESS_WEIGHTS_DIR` makes `--preprocess-weights-dir` optional. See `openai_chat_client.py --help` for `--vocal-sep`, `--language`, `--num-inference-steps`, `--guidance-scale`, and `--seed`. + +### Notes + +- Output: 24 kHz mono WAV; batch only. +- Defaults match upstream: `--guidance-scale 3.0`, `--seed 42`, `--auto-shift` on. +- SVS `--control`: `score` or `melody`. MIDI / lyric QC: upstream `midi_editor` only. diff --git a/examples/online_serving/text_to_speech/soulxsinger/openai_chat_client.py b/examples/online_serving/text_to_speech/soulxsinger/openai_chat_client.py new file mode 100644 index 000000000..91035e625 --- /dev/null +++ b/examples/online_serving/text_to_speech/soulxsinger/openai_chat_client.py @@ -0,0 +1,186 @@ +#!/usr/bin/env python3 +"""SoulX-Singer OpenAI-compatible chat client (SVS / SVC). + +Sends prompt audio via ``input_audio`` and target accompaniment via +``extra_args['target_audio']`` (server-local path). For integrated preprocess, +also pass ``preprocess_weights_dir`` in ``extra_args``. + +Usage: + python openai_chat_client.py \\ + --prompt-audio /path/on/server/zh_prompt.mp3 \\ + --target-audio /path/on/server/music.mp3 \\ + --preprocess-weights-dir /path/on/server/SoulX-Singer-Preprocess \\ + -o output.wav +""" + +from __future__ import annotations + +import argparse +import base64 +import io +import sys +from pathlib import Path + +import requests +import soundfile +import torch + + +def _audio_to_data_url(path: Path) -> str: + with path.open("rb") as handle: + data = base64.b64encode(handle.read()).decode("ascii") + return f"data:audio/mpeg;base64,{data}" + + +def _save_wav(audio: torch.Tensor, path: Path, sample_rate: int) -> None: + audio = audio.to(torch.float32) + peak = audio.abs().max().clamp(min=1e-8) + audio = audio / peak + path.parent.mkdir(parents=True, exist_ok=True) + soundfile.write(str(path), audio.clamp(-1.0, 1.0).cpu().T.numpy(), sample_rate, subtype="PCM_16") + + +def _decode_audio_from_response(body: dict) -> tuple[torch.Tensor, int]: + for choice in body.get("choices", []): + audio_obj = choice.get("message", {}).get("audio") + if isinstance(audio_obj, dict) and audio_obj.get("data"): + data, sr = soundfile.read( + io.BytesIO(base64.b64decode(audio_obj["data"])), + dtype="float32", + always_2d=True, + ) + return torch.from_numpy(data).transpose(0, 1), sr + brief = {k: v for k, v in body.items() if k != "choices"} + raise RuntimeError(f"no audio in response message.audio: {brief}") + + +def main() -> int: + repo_root = Path(__file__).resolve().parents[4] + default_assets = repo_root / "tests" / "assets" / "soulxsinger" + + parser = argparse.ArgumentParser(description="SoulX-Singer online chat client") + parser.add_argument("--port", type=int, default=8192) + parser.add_argument("--model", default="Soul-AILab/SoulX-Singer") + parser.add_argument( + "--prompt-audio", + default=str(default_assets / "zh_prompt.mp3"), + help="Prompt vocal audio (path on server if using extra_args, or local for input_audio)", + ) + parser.add_argument( + "--target-audio", + default=str(default_assets / "music.mp3"), + help="Target accompaniment path on the server (extra_args['target_audio'])", + ) + parser.add_argument( + "--prompt-metadata-path", + default=None, + help="SVS precomputed prompt metadata.json", + ) + parser.add_argument( + "--target-metadata-path", + default=None, + help="SVS precomputed target metadata.json", + ) + parser.add_argument( + "--audio-path", + default=None, + help="SVS prompt vocal wav for precomputed metadata", + ) + parser.add_argument("--preprocess-weights-dir", default=None) + parser.add_argument("--output", "-o", default="soulxsinger_out.wav") + parser.add_argument("--svc", action="store_true", help="Use SVC mode knobs") + parser.add_argument("--language", default="Mandarin") + parser.add_argument("--num-inference-steps", type=int, default=32) + parser.add_argument("--guidance-scale", type=float, default=3.0) + parser.add_argument( + "--seed", + type=int, + default=42, + help="Optional CFM seed. Omit for non-deterministic sampling.", + ) + parser.add_argument( + "--auto-shift", + action=argparse.BooleanOptionalAction, + default=True, + help="Auto pitch shift (default: on, original upstream infer.sh)", + ) + parser.add_argument( + "--control", + default="melody", + choices=["melody", "score"], + help="SVS control mode", + ) + parser.add_argument("--vocal-sep", action="store_true") + args = parser.parse_args() + + meta_paths = (args.prompt_metadata_path, args.target_metadata_path, args.audio_path) + if any(meta_paths) and not all(meta_paths): + print( + "ERROR: precomputed metadata requires --prompt-metadata-path, " + "--target-metadata-path, and --audio-path together.", + file=sys.stderr, + ) + return 2 + + extra_args: dict = { + "vocal_sep": args.vocal_sep, + "auto_shift": args.auto_shift, + "pitch_shift": 0, + } + if all(meta_paths): + extra_args.update( + { + "prompt_metadata_path": str(Path(args.prompt_metadata_path).expanduser().resolve()), + "target_metadata_path": str(Path(args.target_metadata_path).expanduser().resolve()), + "audio_path": str(Path(args.audio_path).expanduser().resolve()), + } + ) + content = [{"type": "text", "text": "soulx-singer"}] + else: + prompt_path = Path(args.prompt_audio).expanduser().resolve() + if not prompt_path.is_file(): + print(f"ERROR: prompt audio not found: {prompt_path}", file=sys.stderr) + return 2 + extra_args["prompt_audio"] = str(prompt_path) + extra_args["target_audio"] = str(Path(args.target_audio).expanduser().resolve()) + if args.preprocess_weights_dir: + extra_args["preprocess_weights_dir"] = str(Path(args.preprocess_weights_dir).expanduser().resolve()) + content = [ + {"type": "text", "text": "soulx-singer"}, + { + "type": "input_audio", + "input_audio": {"data": _audio_to_data_url(prompt_path), "format": "mp3"}, + }, + ] + if not args.svc: + extra_args["language"] = args.language + extra_args["control"] = args.control + + payload = { + "model": args.model, + "modalities": ["audio"], + "messages": [{"role": "user", "content": content}], + "num_inference_steps": args.num_inference_steps, + "guidance_scale": args.guidance_scale, + "extra_args": extra_args, + } + if args.seed is not None: + payload["seed"] = args.seed + + print(f"POST http://localhost:{args.port}/v1/chat/completions") + response = requests.post( + f"http://localhost:{args.port}/v1/chat/completions", + headers={"Content-Type": "application/json"}, + json=payload, + timeout=1800, + ) + response.raise_for_status() + audio, sample_rate = _decode_audio_from_response(response.json()) + _save_wav(audio, Path(args.output), sample_rate) + duration = audio.shape[-1] / sample_rate + print(f"saved {args.output} sr={sample_rate}Hz duration={duration:.2f}s") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/examples/online_serving/text_to_speech/soulxsinger/run_server.sh b/examples/online_serving/text_to_speech/soulxsinger/run_server.sh new file mode 100755 index 000000000..3e20de39b --- /dev/null +++ b/examples/online_serving/text_to_speech/soulxsinger/run_server.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# Launch vLLM-Omni server for SoulX-Singer (single-stage DiT, preprocess inline). +# +# Usage: +# MODEL=/path/to/SoulX-Singer PREPROCESS=/path/to/Preprocess \ +# +# Audio paths in client extra_args must be readable on the server host. + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REPO_ROOT="$(cd "$SCRIPT_DIR/../../../.." && pwd)" + +MODEL="${MODEL:-Soul-AILab/SoulX-Singer}" +MODE="${MODE:-svs}" +PORT="${PORT:-8192}" +GPUS="${GPUS:-0}" + +if [[ "$MODE" == "svc" ]]; then + DEPLOY_CONFIG="${DEPLOY_CONFIG:-$REPO_ROOT/vllm_omni/deploy/soulxsinger_svc.yaml}" +else + DEPLOY_CONFIG="${DEPLOY_CONFIG:-$REPO_ROOT/vllm_omni/deploy/soulxsinger_svs.yaml}" +fi + +echo "Starting SoulX-Singer server" +echo " MODEL=$MODEL" +echo " MODE=$MODE" +echo " PORT=$PORT" +echo " DEPLOY_CONFIG=$DEPLOY_CONFIG" +echo " CUDA_VISIBLE_DEVICES=$GPUS" + +CUDA_VISIBLE_DEVICES="$GPUS" \ +vllm serve "$MODEL" \ + --omni \ + --deploy-config "$DEPLOY_CONFIG" \ + --host 0.0.0.0 \ + --port "$PORT" \ + --trust-remote-code \ + --enforce-eager diff --git a/pyproject.toml b/pyproject.toml index 196b544e6..962f58a8f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -119,6 +119,12 @@ docs = [ "pydantic", ] +soulx-svs = [ + "funasr>=1.0.0", + "g2pM>=0.1.2.5", + "g2p-en>=2.1.0", + "ToJyutping>=3.2.0", +] [project.urls] Homepage = "https://github.com/vllm-project/vllm-omni" diff --git a/tests/assets/soulxsinger/music.json b/tests/assets/soulxsinger/music.json new file mode 100644 index 000000000..d9e0d8882 --- /dev/null +++ b/tests/assets/soulxsinger/music.json @@ -0,0 +1,16 @@ +[ + { + "index": "vocal_240_51240", + "language": "Mandarin", + "time": [ + 240, + 51240 + ], + "duration": "0.21 0.18 0.34 0.38 0.26 0.22 0.50 0.20 0.33 0.13 0.60 0.22 0.38 0.52 0.30 0.12 1.82 0.98 0.20 0.26 0.38 0.36 0.58 0.54 0.26 0.50 1.46 3.03 0.24 0.24 0.29 0.25 0.20 0.14 0.80 0.22 0.54 0.30 0.24 0.16 0.58 0.28 0.38 1.73 0.79 0.24 0.30 0.34 0.30 0.30 0.34 0.21 0.21 0.36 0.34 0.23 1.85 1.90 0.23 0.39 0.68 0.50 0.31 0.43 0.76 0.38 2.00 1.87 0.68 0.72 0.56 0.62 0.80 0.40 0.42 1.68 1.79 0.70 0.66 0.54 0.24 0.48 0.68 0.40 2.34 0.14", + "text": " 只 是 因 为 为 在 人 群 群 中 多 看 了 你 一 眼 再 也 没 能 忘 掉 你 容 颜 梦 想 着 着 偶 偶 然 然 有 一 一 天 再 相 见 从 此 我 开 始 始 孤 孤 单 思 念 念 想 想 你 时 你 你 在 天 边 想 你 时 你 在 眼 前 前 想 你 时 你 你 在 脑 海 ", + "phoneme": " zh_zhi3 zh_shi4 zh_yin1 zh_wei4 zh_wei2 zh_zai4 zh_ren2 zh_qun2 zh_qun2 zh_zhong1 zh_duo1 zh_kan4 zh_le5 zh_ni3 zh_yi1 zh_yan3 zh_zai4 zh_ye3 zh_mei2 zh_neng2 zh_wang4 zh_diao4 zh_ni3 zh_rong2 zh_yan2 zh_meng4 zh_xiang3 zh_zhe5 zh_zhe5 zh_ou3 zh_ou3 zh_ran2 zh_ran2 zh_you3 zh_yi1 zh_yi1 zh_tian1 zh_zai4 zh_xiang1 zh_jian4 zh_cong2 zh_ci3 zh_wo3 zh_kai1 zh_shi3 zh_shi3 zh_gu1 zh_gu1 zh_dan1 zh_si1 zh_nian4 zh_nian4 zh_xiang3 zh_xiang3 zh_ni3 zh_shi2 zh_ni3 zh_ni3 zh_zai4 zh_tian1 zh_bian1 zh_xiang3 zh_ni3 zh_shi2 zh_ni3 zh_zai4 zh_yan3 zh_qian2 zh_qian2 zh_xiang3 zh_ni3 zh_shi2 zh_ni3 zh_ni3 zh_zai4 zh_nao3 zh_hai3 ", + "note_pitch": "0 64 64 64 66 68 66 66 66 64 64 64 64 66 64 60 61 0 63 63 63 64 66 63 61 59 56 0 68 66 66 68 68 66 66 64 64 0 64 66 61 61 61 64 0 62 63 63 64 64 66 65 66 61 58 59 56 0 69 71 66 68 68 71 66 64 61 0 66 61 68 66 64 63 61 59 0 71 66 68 68 71 66 64 61 0", + "note_type": "1 2 2 2 2 3 2 2 2 3 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 3 2 3 2 3 2 1 2 3 2 2 2 2 1 2 2 2 2 2 3 2 3 2 2 2 3 1 2 3 2 2 2 3 2 2 2 1 2 2 2 2 2 2 2 3 1 2 2 2 2 3 2 2 2 1", + "f0": "0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 318.9 332.2 331.2 323.9 312.3 0.0 0.0 0.0 0.0 0.0 0.0 340.9 342.3 340.2 337.4 333.5 329.3 327.8 328.3 329.1 330.5 331.9 331.5 329.2 327.6 327.4 327.7 329.6 330.5 329.5 328.1 328.5 330.1 330.4 329.5 328.9 331.0 333.6 332.8 331.7 330.2 330.6 330.9 329.5 327.6 332.4 343.5 363.9 368.7 369.3 368.2 366.7 371.3 382.0 392.9 402.3 409.8 413.8 416.3 416.4 415.4 414.1 413.4 415.3 417.4 418.3 413.6 416.0 0.0 0.0 0.0 0.0 368.2 362.5 361.3 362.0 362.9 364.3 366.4 367.5 368.4 368.9 368.1 367.6 369.7 371.1 371.1 369.5 368.0 367.3 366.6 367.1 369.5 372.0 371.3 368.2 368.1 369.6 369.9 373.4 376.5 360.2 285.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 384.0 376.7 372.0 371.7 373.9 376.3 375.5 361.2 333.0 317.8 319.0 329.1 333.5 333.2 333.2 333.3 328.0 314.5 0.0 0.0 0.0 320.6 326.5 332.9 335.7 334.1 329.9 327.4 326.3 326.6 329.1 330.5 330.0 328.0 326.7 328.6 331.1 332.4 332.1 332.8 333.2 333.1 331.8 328.6 318.9 293.2 323.6 327.5 330.0 332.8 331.1 319.4 272.2 0.0 0.0 0.0 0.0 278.5 294.5 310.0 318.5 322.7 327.4 334.1 337.2 336.3 328.5 321.0 324.2 341.5 362.2 374.7 375.8 370.5 366.0 365.2 368.7 371.7 374.4 373.0 368.7 370.4 374.8 375.1 372.5 368.7 363.0 357.1 359.0 366.8 377.1 379.5 371.5 359.9 351.0 358.4 371.7 377.9 375.8 367.8 359.7 363.6 375.3 379.9 377.5 372.9 359.8 345.2 337.1 334.5 333.4 332.8 329.6 319.2 292.8 261.7 253.4 262.8 273.0 278.1 279.3 278.6 277.6 277.9 278.3 278.0 277.3 276.7 275.6 275.3 276.1 277.8 278.2 277.7 277.6 277.2 276.4 275.5 273.9 271.8 270.7 274.7 282.7 285.5 281.4 273.1 264.4 262.2 268.9 278.4 284.3 283.6 277.3 268.5 262.2 263.2 270.7 278.8 285.0 287.3 282.0 272.1 265.2 266.0 272.1 278.2 283.8 285.1 281.4 272.6 267.2 269.1 276.1 282.7 289.3 290.5 285.6 273.9 267.5 267.4 271.8 277.7 282.6 283.1 277.8 269.8 265.6 268.6 273.8 281.1 286.2 287.2 282.3 270.4 264.5 263.3 263.0 268.5 268.3 268.7 270.9 277.2 277.4 284.3 285.7 282.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 311.5 306.4 306.0 306.8 305.8 305.0 307.2 310.8 312.4 313.5 314.4 314.6 313.7 312.2 311.1 311.1 312.8 314.6 312.7 306.5 299.7 302.7 308.7 315.2 314.2 310.9 309.4 309.8 310.6 310.7 310.8 311.4 312.2 313.0 312.5 312.2 312.2 311.9 312.0 312.2 311.4 306.1 303.3 309.3 315.0 325.3 324.4 323.9 325.0 326.4 327.7 327.7 328.1 328.6 327.8 328.3 328.3 327.6 328.6 336.1 347.2 359.4 371.0 374.9 371.3 366.5 369.5 375.5 376.2 370.2 365.7 367.3 372.9 376.9 375.3 368.4 360.1 358.0 365.4 380.8 383.5 380.4 374.4 367.6 365.9 372.0 376.3 377.9 375.7 372.6 368.6 361.2 353.7 0.0 309.4 302.3 299.2 300.6 305.7 308.5 308.6 309.0 310.9 310.9 309.5 308.6 309.0 311.3 313.0 314.4 314.5 313.0 312.1 311.2 308.0 299.5 295.8 295.0 285.7 278.0 280.1 281.2 279.9 278.3 278.3 279.5 279.7 272.2 259.1 0.0 0.0 0.0 240.7 236.0 233.8 233.5 234.6 235.7 235.6 236.2 239.8 245.4 248.8 250.1 250.4 249.9 249.1 247.2 241.7 231.7 216.0 197.6 192.1 197.2 204.3 206.5 205.4 201.7 200.8 203.5 208.2 210.9 210.3 207.1 203.5 202.3 202.1 202.8 205.1 207.3 208.1 207.3 205.4 202.1 199.3 200.5 206.1 212.9 212.9 206.5 197.1 191.1 191.2 196.8 203.6 207.8 208.7 206.4 201.7 197.3 197.4 200.7 206.5 209.9 209.9 206.9 203.3 201.2 203.4 207.7 210.5 208.9 207.6 206.5 204.2 202.0 203.6 205.7 210.8 213.1 214.3 210.6 204.1 199.7 202.3 211.9 217.7 215.1 215.0 215.3 213.3 0.0 0.0 216.3 0.0 0.0 195.2 209.0 205.3 201.3 196.8 195.7 195.8 195.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 431.9 425.8 421.0 417.7 419.3 422.7 423.4 421.1 417.9 411.9 408.6 411.5 414.9 419.6 426.7 424.2 0.0 0.0 0.0 280.8 279.4 369.7 371.8 370.6 369.8 370.5 370.5 371.4 374.6 374.0 361.0 332.7 328.0 0.0 359.0 365.0 371.1 373.8 371.9 369.7 369.6 371.0 378.3 390.4 403.4 414.1 417.9 417.5 417.0 416.6 415.7 414.9 414.5 413.8 413.5 413.6 413.8 415.2 416.9 417.3 415.4 415.0 414.1 411.4 409.2 403.5 392.7 375.6 367.5 365.8 368.8 370.7 370.8 369.0 367.0 366.0 366.2 367.8 369.2 368.8 367.2 366.7 367.3 367.3 368.8 368.5 366.8 365.3 364.0 363.0 365.0 367.3 367.7 365.5 364.0 364.9 367.4 370.3 371.3 369.9 366.5 364.1 368.3 385.8 406.7 409.4 399.7 376.0 357.2 359.9 372.4 377.5 366.9 345.1 320.6 315.8 321.8 329.0 329.9 326.4 324.5 324.8 324.9 325.3 325.1 324.7 325.9 326.8 326.6 326.6 326.4 325.4 323.2 322.5 323.9 326.2 328.6 329.9 329.5 329.0 328.2 327.7 327.9 329.6 331.2 331.4 334.2 340.1 335.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 309.0 320.1 329.6 334.4 334.4 334.5 338.2 346.0 355.1 361.4 366.1 369.5 372.7 373.3 372.9 375.2 375.8 374.7 367.6 360.1 0.0 0.0 0.0 0.0 0.0 0.0 283.6 280.4 277.2 274.3 271.8 271.0 273.3 277.2 278.8 278.1 277.2 277.4 278.8 279.3 280.2 281.4 279.2 274.9 268.3 254.1 239.9 0.0 0.0 267.7 267.7 270.1 271.8 273.1 276.3 278.3 269.1 256.1 0.0 0.0 0.0 0.0 286.0 281.1 275.7 272.7 271.7 271.7 272.5 274.0 275.5 277.9 281.1 287.1 314.0 342.2 363.0 376.8 375.4 365.8 351.8 323.3 0.0 0.0 0.0 0.0 299.6 322.7 336.5 336.9 335.4 332.9 330.0 326.6 323.4 322.3 324.4 326.7 328.5 328.5 326.4 324.0 322.5 323.2 325.5 327.7 328.6 328.1 325.4 320.9 316.5 316.1 320.8 327.7 333.7 333.2 325.6 315.5 306.9 305.5 315.1 331.0 343.3 341.6 331.4 319.5 308.3 307.6 318.1 329.5 338.2 342.0 337.4 329.4 321.0 316.6 319.8 330.8 340.6 344.5 342.3 331.4 319.3 315.7 322.9 329.3 336.5 344.0 341.1 328.3 318.7 320.0 328.2 333.5 337.9 339.7 338.5 327.3 323.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 285.3 284.6 284.3 288.2 295.1 305.6 312.2 315.5 287.8 0.0 0.0 0.0 0.0 0.0 309.8 312.4 313.8 312.8 310.8 310.7 312.5 313.2 310.7 305.7 305.9 308.1 309.9 311.3 311.0 309.8 309.7 310.6 311.1 311.1 311.0 311.9 313.7 316.4 319.5 311.6 281.3 283.4 306.6 0.0 0.0 0.0 334.4 326.7 322.6 321.6 321.7 324.5 332.0 336.7 333.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 332.5 331.7 332.7 334.8 334.7 335.9 339.7 345.6 353.9 362.3 370.2 374.0 373.8 371.4 370.0 368.2 367.0 368.0 370.4 371.2 371.3 370.0 360.3 0.0 0.0 0.0 319.1 326.8 331.5 332.0 331.6 327.2 328.2 334.1 343.1 350.7 358.0 363.5 368.4 370.8 371.8 371.1 370.2 368.5 368.0 371.1 375.5 376.3 369.5 0.0 0.0 0.0 280.4 267.2 263.6 265.8 271.2 275.0 276.4 276.9 277.1 280.9 287.5 284.7 280.7 0.0 0.0 0.0 0.0 0.0 0.0 231.6 226.0 222.9 224.1 226.2 228.5 234.3 240.9 246.6 249.8 249.6 246.3 245.2 245.8 247.2 248.3 249.3 249.0 245.9 242.7 235.8 226.3 217.8 213.1 209.3 208.0 207.0 205.9 205.8 203.4 201.5 205.3 207.5 209.1 210.4 208.9 203.2 199.2 199.3 201.2 205.6 206.3 204.0 202.7 202.2 203.3 206.1 205.6 201.9 198.8 195.5 195.6 198.7 204.2 214.5 218.3 214.3 207.0 199.1 192.4 189.9 193.6 201.0 210.6 212.4 209.2 202.0 195.2 190.0 190.4 196.0 204.2 209.2 208.9 203.0 195.8 190.7 189.8 194.6 200.8 208.7 213.5 210.5 202.0 193.9 187.7 187.8 193.1 199.8 202.8 204.1 203.8 200.4 197.0 193.9 191.6 192.5 198.4 204.8 203.9 203.5 201.3 200.2 198.4 198.5 201.0 204.0 204.6 205.4 202.0 199.2 194.9 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 426.6 432.4 436.6 437.2 434.6 433.0 434.0 453.1 473.8 492.8 503.2 501.8 491.3 479.6 478.1 489.7 503.6 508.3 503.2 489.5 482.3 484.2 495.7 505.4 506.6 501.6 495.4 492.7 497.1 500.4 496.1 490.1 480.4 453.8 412.6 373.6 357.7 354.5 356.8 361.0 365.0 367.8 369.5 370.1 371.1 371.3 370.8 370.1 369.7 369.0 369.5 370.4 371.1 370.9 370.2 370.8 371.3 372.7 380.2 386.9 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 435.0 427.8 417.0 411.6 412.6 411.2 410.7 412.5 413.7 414.9 414.8 415.7 415.4 414.0 413.8 414.6 415.2 416.3 415.2 413.6 413.4 414.9 416.8 416.4 414.7 413.8 413.2 414.7 417.5 420.7 428.2 443.1 459.8 481.7 502.3 510.8 509.1 497.8 490.6 493.5 500.8 508.3 511.8 504.6 493.5 487.3 492.3 507.2 518.8 514.8 496.4 489.6 490.4 491.8 493.3 0.0 0.0 0.0 0.0 0.0 391.9 368.8 360.2 358.3 360.0 362.0 361.8 360.9 360.3 361.8 365.7 368.7 369.3 367.7 364.7 365.6 368.4 370.4 371.7 369.0 366.8 367.5 367.9 369.4 374.6 384.6 396.8 388.2 382.8 0.0 0.0 0.0 0.0 0.0 352.6 339.5 328.2 326.0 326.5 326.9 328.2 329.4 329.4 329.3 337.3 349.1 350.9 343.6 333.4 326.5 327.1 331.5 333.4 326.8 318.4 0.0 0.0 0.0 282.0 283.6 281.6 279.5 273.2 267.9 268.8 273.2 277.5 279.8 278.7 276.8 273.3 268.7 265.0 266.1 272.4 282.3 284.9 279.4 268.5 255.3 253.0 259.9 270.2 281.5 284.3 279.7 270.1 260.2 256.4 260.1 266.6 273.0 279.6 283.6 282.3 272.3 262.1 255.8 259.8 269.6 274.9 278.7 278.4 271.5 261.7 255.8 256.8 263.9 272.1 279.7 278.4 269.9 259.0 255.9 262.1 269.2 274.5 279.6 282.1 280.7 274.3 269.9 270.9 270.7 273.8 276.9 274.9 271.1 266.5 266.7 269.4 276.9 282.9 282.0 279.5 274.9 271.2 267.9 263.1 270.2 281.3 285.5 283.9 280.6 271.1 262.8 263.9 263.9 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 362.9 364.0 366.8 366.6 363.6 359.8 357.7 359.9 367.6 371.6 365.4 359.3 358.6 359.5 365.5 375.7 378.1 371.5 359.5 350.8 358.6 374.7 381.7 376.8 363.6 353.3 356.9 367.8 378.3 380.8 375.7 372.3 372.6 374.7 372.9 365.2 346.4 314.8 285.6 277.3 275.4 275.3 277.5 279.2 279.2 278.8 277.6 276.4 276.5 277.6 278.8 279.9 281.8 282.7 281.0 279.2 278.6 279.4 279.9 279.2 278.7 281.7 285.8 289.9 288.7 284.4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 428.0 417.9 410.0 409.5 411.2 414.0 417.5 417.9 418.1 419.3 419.0 417.8 417.1 417.2 416.6 415.8 415.0 415.1 414.5 410.9 401.5 388.2 371.5 359.2 363.0 371.7 375.7 370.6 359.6 353.4 358.7 367.0 374.5 378.2 373.7 362.8 358.0 361.6 368.5 373.7 377.7 375.8 368.8 361.7 360.5 366.7 372.5 375.6 380.1 384.9 383.5 376.6 0.0 0.0 0.0 0.0 0.0 331.7 320.0 316.8 320.7 325.1 327.0 327.4 326.6 326.4 325.5 325.1 326.2 327.6 328.5 328.4 327.7 328.7 329.9 329.8 329.7 327.7 326.5 327.8 328.9 329.3 329.8 329.2 328.8 329.4 330.4 331.0 331.0 330.5 329.2 328.2 328.3 328.7 329.4 327.5 322.9 314.8 299.3 290.8 292.3 299.0 305.4 309.2 312.1 313.9 316.8 320.4 327.6 333.1 338.0 341.2 342.1 338.4 331.0 0.0 0.0 0.0 0.0 0.0 0.0 311.7 292.5 281.8 276.1 275.1 276.6 277.6 277.4 274.0 264.8 249.6 239.1 238.8 243.0 245.7 245.0 241.9 237.9 234.6 237.1 242.7 250.4 252.5 248.3 240.7 231.6 228.3 234.0 240.6 247.0 250.6 248.5 242.1 233.6 226.8 227.2 234.0 240.7 246.9 248.9 244.4 237.6 230.8 228.8 236.4 246.9 250.2 249.2 245.4 239.9 232.5 224.7 226.5 238.5 252.0 257.4 255.9 248.4 237.4 230.5 231.6 238.8 247.6 252.6 253.9 253.0 248.9 241.8 236.4 234.1 236.5 246.2 257.7 255.4 248.2 238.5 234.8 237.8 244.4 250.5 253.8 251.7 246.7 240.0 238.3 244.8 251.6 256.4 256.9 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 484.0 484.5 487.5 490.6 487.2 479.7 478.9 483.8 494.1 505.7 510.3 501.1 485.4 472.4 472.3 495.6 515.8 517.1 503.8 486.5 475.1 479.9 491.4 507.9 509.9 505.0 496.2 485.7 484.5 490.8 495.4 497.7 496.6 489.9 469.1 424.3 387.2 373.0 367.3 364.4 364.6 366.2 366.6 368.8 371.9 373.1 371.4 368.9 367.1 367.0 367.7 368.8 370.1 369.8 369.2 369.8 370.0 369.0 369.0 371.0 375.2 385.3 391.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 425.2 418.5 409.4 409.5 408.1 406.3 408.4 410.3 412.8 413.8 412.6 411.2 410.8 410.4 410.2 410.5 412.2 413.6 413.4 412.6 412.6 413.4 415.6 417.9 418.5 417.0 415.0 415.0 416.8 421.5 437.9 455.0 472.6 493.0 502.2 496.7 484.6 480.6 487.2 498.6 506.3 506.2 499.4 489.7 489.5 496.2 503.8 507.2 501.8 491.1 489.9 501.1 520.5 533.7 525.8 0.0 0.0 0.0 0.0 0.0 421.8 365.2 351.0 352.0 358.0 362.6 365.6 365.4 363.2 362.5 362.2 362.4 364.1 365.2 364.9 363.5 363.4 366.3 368.5 370.0 369.7 368.5 366.9 365.7 366.3 368.6 370.8 372.2 370.2 373.1 377.0 376.5 371.0 346.8 326.1 325.2 328.4 331.4 334.0 332.2 327.2 324.4 331.3 349.7 363.2 362.0 346.1 327.4 321.8 329.8 340.7 348.4 349.9 346.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 269.5 275.7 282.6 282.9 278.8 275.2 274.3 273.5 273.9 275.3 276.4 277.3 276.1 272.3 268.0 268.3 272.5 279.1 281.7 280.1 271.3 261.0 257.3 262.7 273.2 280.8 283.3 279.3 269.1 258.3 258.0 266.3 278.2 286.7 287.8 283.4 274.9 264.7 257.7 260.0 272.0 286.3 294.7 289.8 274.5 263.8 263.4 268.8 277.3 284.1 286.5 285.2 281.7 272.7 264.3 260.3 267.7 281.7 289.2 289.0 281.2 266.2 256.0 254.4 261.5 276.4 286.8 288.8 286.7 273.8 260.9 260.8 270.2 283.4 291.3 292.8 286.1 273.8 265.2 264.0 271.3 283.8 290.3 289.7 277.7 266.9 260.5 263.0 267.8 281.5 286.7 286.1 285.5 280.1 279.0 283.0 284.1 284.5 285.5 282.2 0.0 0.0 280.0 276.4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0" + } +] diff --git a/tests/assets/soulxsinger/music.mp3 b/tests/assets/soulxsinger/music.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..f3126e79e386848a3c5743a9df5a72d2159de3d7 GIT binary patch literal 1243961 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

{A3S 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 OT3)&2-fzb)U_{9fK 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

ognXH;@Dm^VmnLmkGcv!;=`fALj~H?koV|GQ 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�g%U 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%0Dmj>62LU{nI}UbWa^ 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

  • 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
    J_#Shm|+qfPqd6kx0* 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%0A_ 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
    >-G89~PA|q_u_}<)~02 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�vVWO%ADdST)wapY$`vo+?M*JZi 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 literal 0 HcmV?d00001 diff --git a/tests/assets/soulxsinger/zh_prompt.json b/tests/assets/soulxsinger/zh_prompt.json new file mode 100644 index 000000000..86ff3614e --- /dev/null +++ b/tests/assets/soulxsinger/zh_prompt.json @@ -0,0 +1,16 @@ +[ + { + "index": "vocal_320_10687", + "language": "Mandarin", + "time": [ + 320, + 10687 + ], + "duration": "0.23 0.34 0.26 0.70 0.52 0.46 0.36 0.44 0.14 0.24 0.64 0.47 0.51 1.10 0.28 0.38 0.32 0.32 0.38 0.32 0.31 0.19 1.45", + "text": " 除 了 想 你 你 除 了 了 爱 你 你 我 什 么 什 么 都 愿 愿 意", + "phoneme": " zh_chu2 zh_le5 zh_xiang3 zh_ni3 zh_ni3 zh_chu2 zh_le5 zh_le5 zh_ai4 zh_ni3 zh_ni3 zh_wo3 zh_shen2 zh_me5 zh_shen2 zh_me5 zh_dou1 zh_yuan4 zh_yuan4 zh_yi4", + "note_pitch": "0 62 65 67 67 69 0 67 69 67 65 67 69 67 67 66 64 64 60 60 65 67 0", + "note_type": "1 2 2 2 2 3 1 2 2 3 2 2 3 1 2 2 2 2 2 2 2 3 2", + "f0": "0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 294.1 288.2 290.6 294.6 295.7 292.8 291.5 294.4 295.4 294.7 293.5 292.2 294.4 295.8 293.2 297.7 320.1 338.1 348.3 348.7 344.4 342.6 346.2 354.8 356.9 353.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 401.1 403.8 405.0 402.1 398.4 395.6 393.3 392.0 391.4 390.3 390.2 390.3 390.3 391.3 392.8 393.6 391.7 390.5 391.4 391.6 391.5 393.5 393.8 390.8 387.4 387.8 389.3 390.8 392.2 391.6 390.2 389.8 389.1 388.4 390.0 395.5 397.2 396.7 395.5 395.1 394.6 394.9 395.6 395.2 394.6 395.4 395.9 394.0 391.7 390.7 391.7 392.6 391.6 395.7 405.8 441.7 462.5 463.8 450.2 430.9 414.5 415.2 426.7 439.8 454.4 462.9 447.8 422.5 400.6 403.2 423.5 451.3 482.3 492.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 435.9 414.3 406.2 402.8 398.2 396.7 396.7 395.2 398.3 416.9 441.6 446.9 441.5 437.3 435.3 432.9 431.6 432.3 434.8 436.7 433.8 422.8 406.7 390.9 382.0 381.7 384.7 382.7 368.1 357.4 355.6 355.1 352.4 348.1 346.4 348.7 351.6 355.0 354.4 351.7 349.9 349.2 348.1 346.0 345.4 344.2 344.4 345.5 346.6 349.0 349.7 349.1 349.5 349.6 349.7 349.4 349.5 352.2 354.5 355.7 355.6 356.9 359.4 361.5 363.8 360.4 354.3 357.2 363.9 372.4 382.6 399.1 402.9 400.6 395.5 390.5 388.9 390.2 391.1 391.9 391.5 390.4 390.2 391.3 391.6 391.0 388.6 386.2 389.1 403.8 430.2 441.8 449.5 448.1 443.2 438.3 432.9 430.7 434.6 442.0 447.6 446.0 440.3 434.7 431.1 435.7 442.3 445.9 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 423.8 402.1 398.5 397.6 393.4 390.5 391.4 402.5 427.6 442.5 442.5 435.1 430.1 430.8 439.9 447.4 442.2 426.1 412.3 399.8 391.8 389.5 388.5 387.8 386.4 384.7 384.5 387.9 391.2 391.8 392.9 393.8 392.0 392.0 395.4 398.1 398.2 396.3 393.1 391.1 388.9 386.6 383.1 381.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 357.8 367.6 370.9 365.4 359.3 355.7 358.1 372.7 396.8 404.0 398.4 392.6 389.2 388.8 383.6 362.3 341.1 325.1 326.3 327.9 331.3 333.3 326.0 319.4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 356.4 353.5 349.0 346.5 338.4 328.4 323.7 326.2 334.2 338.4 331.6 309.8 280.6 256.4 252.8 256.1 258.3 256.9 257.6 261.1 259.7 258.7 258.6 260.2 262.2 262.4 262.9 264.2 263.4 260.2 256.4 253.2 238.7 223.3 231.6 257.7 258.1 258.4 258.8 258.0 256.8 255.8 254.0 255.1 258.1 261.9 263.7 262.6 256.7 253.1 250.2 246.7 258.7 294.4 327.1 342.6 346.0 344.1 341.2 342.3 345.2 350.1 364.7 382.5 396.1 396.1 389.2 381.8 381.1 387.2 397.0 399.3 390.7 374.3 360.1 350.6 346.6 347.4 350.7 354.4 354.3 351.7 349.8 348.4 346.9 347.0 348.4 349.5 351.0 352.3 353.6 353.3 350.5 348.3 345.5 344.3 344.4 347.0 350.6 352.0 351.0 350.8 350.1 347.6 345.7 347.0 350.3 351.7 350.7 348.5 346.9 347.7 349.0 349.1 348.5 346.8 346.3 348.4 349.0 349.2 351.1 349.6 348.3 350.5 351.1 348.0 347.6 349.1 351.3 356.0 361.3 360.6 354.0 341.0 316.2 302.9 302.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0" + } +] diff --git a/tests/assets/soulxsinger/zh_prompt.mp3 b/tests/assets/soulxsinger/zh_prompt.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..bc306410a44cdd6f80b0519847424a7a8e0ac954 GIT binary patch literal 86061 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%0A;-}aZy|6N*h+CFB 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/offline_inference/test_soulxsinger.py b/tests/e2e/offline_inference/test_soulxsinger.py new file mode 100644 index 000000000..465f5547b --- /dev/null +++ b/tests/e2e/offline_inference/test_soulxsinger.py @@ -0,0 +1,241 @@ +"""E2E offline inference tests for SoulX-Singer (single-stage, preprocess inline).""" + +import functools +import importlib +import json +import os +import shutil +from pathlib import Path + +os.environ["VLLM_WORKER_MULTIPROC_METHOD"] = "spawn" + +import numpy as np +import pytest + +from tests.helpers.mark import hardware_test +from tests.helpers.media import get_asset_path +from tests.helpers.runtime import OmniRunner +from tests.helpers.stage_config import get_deploy_config_path +from vllm_omni.inputs.data import OmniDiffusionSamplingParams + +PROMPT_AUDIO = get_asset_path("soulxsinger/zh_prompt.mp3") +TARGET_AUDIO = get_asset_path("soulxsinger/music.mp3") +PROMPT_METADATA = get_asset_path("soulxsinger/zh_prompt.json") +TARGET_METADATA = get_asset_path("soulxsinger/music.json") +SAMPLE_RATE = 24_000 + +# phone_set.json (phoneme vocab) is not shipped on HuggingFace; SVS loads it +# from the model dir. Stage it from this pinned upstream commit so the SVS DiT +# can run in CI; the SVS tests skip gracefully if it cannot be fetched. +_PHONE_SET_URL = ( + "https://raw.githubusercontent.com/Soul-AILab/SoulX-Singer/" + "81aeb3ae772c70093c3de74dc23c92d983801ae4/soulxsinger/utils/phoneme/phone_set.json" +) + +if not PROMPT_AUDIO.is_file() or not TARGET_AUDIO.is_file(): + pytest.skip( + f"Missing SoulX-Singer audio assets: {PROMPT_AUDIO.name}, {TARGET_AUDIO.name}", + allow_module_level=True, + ) + +pytestmark = [pytest.mark.advanced_model, pytest.mark.diffusion, pytest.mark.tts] + +_CASES = ( + pytest.param( + "SoulXSingerPipeline", + "soulxsinger_svs.yaml", + { + "language": "Mandarin", + "vocal_sep": False, + "control": "score", + "auto_shift": False, + "pitch_shift": 0, + }, + ("g2pM", "g2p_en"), + id="svs", + ), + pytest.param( + "SoulXSingerSVCPipeline", + "soulxsinger_svc.yaml", + {"vocal_sep": False, "auto_shift": False, "pitch_shift": 0}, + (), + id="svc", + ), +) + + +@functools.lru_cache(maxsize=1) +def _resolve_weights() -> tuple[Path, Path, Path]: + from huggingface_hub import snapshot_download + + base = Path(snapshot_download("Soul-AILab/SoulX-Singer", allow_patterns=["*"])) + + # phone_set.json is not on HF; best-effort stage it from pinned upstream so + # SVS can load. SVS tests skip (not fail) if both this and a manual copy are absent. + phone_set = base / "phoneme" / "phone_set.json" + if not phone_set.is_file() and not (base / "phone_set.json").is_file(): + try: + from urllib.request import urlretrieve + + phone_set.parent.mkdir(exist_ok=True) + urlretrieve(_PHONE_SET_URL, phone_set) + except Exception: + pass + + # make a temporary svc directory + svc_dir = base.parent / "SoulX-Singer-SVC" + svc_dir.mkdir(parents=True, exist_ok=True) + shutil.copyfile(base / "config.yaml", svc_dir / "config.yaml") + shutil.move(base / "model-svc.pt", svc_dir / "model-svc.pt") + + if raw := os.environ.get("SOULX_PREPROCESS_WEIGHTS_DIR"): + pre = Path(raw).expanduser().resolve() + if (pre / "rmvpe" / "rmvpe.pt").is_file(): + return base, svc_dir, pre + + from huggingface_hub import snapshot_download + + pre = Path(snapshot_download("Soul-AILab/SoulX-Singer-Preprocess", allow_patterns=["*"])) + return base, svc_dir, pre + + +@pytest.fixture(scope="session") +def soulx_weights() -> tuple[Path, Path, Path]: + try: + return _resolve_weights() + except Exception as exc: + pytest.skip(f"Set SOULXSINGER_MODEL_DIR / SOULX_PREPROCESS_WEIGHTS_DIR. ({exc})") + + +def _flatten_audio(audio_val) -> np.ndarray: + import torch + + if isinstance(audio_val, list): + chunks = [c.detach().cpu().float().numpy().reshape(-1) for c in audio_val if c is not None] + return np.concatenate(chunks) if chunks else np.array([], dtype=np.float32) + if isinstance(audio_val, torch.Tensor): + return audio_val.detach().cpu().float().numpy().reshape(-1) + return np.asarray(audio_val, dtype=np.float32).reshape(-1) + + +@hardware_test(res={"cuda": "L4"}, num_cards=1) +@pytest.mark.parametrize("architecture,deploy_yaml,extra_args,py_deps", _CASES) +def test_soulxsinger_multistage_from_audio( + soulx_weights: tuple[Path, Path, Path], + architecture: str, + deploy_yaml: str, + extra_args: dict, + py_deps: tuple[str, ...], +) -> None: + for mod in py_deps: + try: + importlib.import_module(mod) + except ImportError as exc: + pytest.fail(f"SoulX SVS requires {mod}: {exc}") + + base_dir, svc_dir, preprocess_dir = soulx_weights + + # SVS mode requires phone_set.json in the model directory + if architecture == "SoulXSingerPipeline": + json.dump( + {"model_type": "soulxsinger", "architectures": ["SoulXSingerPipeline"], "max_num_seqs": 1}, + open(base_dir / "config.json", "w"), + indent=4, + ) + model = str(base_dir) + if not (base_dir / "phoneme" / "phone_set.json").is_file() and not (base_dir / "phone_set.json").is_file(): + pytest.skip( + "SoulX-Singer SVS test requires phoneme/phone_set.json. " + "Copy it from github.com/Soul-AILab/SoulX-Singer into the model dir. " + "See `examples/offline_inference/text_to_speech/README.md` for details." + ) + if architecture == "SoulXSingerSVCPipeline": + json.dump( + {"model_type": "soulxsinger", "architectures": ["SoulXSingerSVCPipeline"], "max_num_seqs": 1}, + open(svc_dir / "config.json", "w"), + indent=4, + ) + model = str(svc_dir) + + with OmniRunner( + model, + stage_configs_path=get_deploy_config_path(deploy_yaml), + async_chunk=False, + ) as runner: + sampling = OmniDiffusionSamplingParams( + num_inference_steps=4, + guidance_scale=3.0, + seed=42, + extra_args={ + "prompt_audio": str(PROMPT_AUDIO), + "target_audio": str(TARGET_AUDIO), + "preprocess_weights_dir": str(preprocess_dir), + **extra_args, + }, + ) + prompt = {"prompt_token_ids": [0]} + outputs = runner.generate([prompt], sampling) + + assert outputs and outputs[0].error is None, outputs[0].error if outputs else "no output" + mm = outputs[0].multimodal_output + assert isinstance(mm, dict) and "audio" in mm + audio = _flatten_audio(mm["audio"]) + assert 12_000 <= audio.size + assert np.isfinite(audio).all() and float(np.max(np.abs(audio))) > 1e-4 + duration_s = audio.size / SAMPLE_RATE + assert 50.0 <= duration_s <= 52.0, f"duration={duration_s:.1f}s" + + +@hardware_test(res={"cuda": "L4"}, num_cards=1) +def test_soulxsinger_svs_precomputed(soulx_weights: tuple[Path, Path, Path]) -> None: + """SVS from precomputed note/lyric metadata. + + Exercises the SVS DiT + vocoder serving path while skipping the heavy + upstream preprocess (funasr ASR + ROSVOT note transcription), so it runs in + the merge gate without those non-pip dependencies. + """ + base_dir, _svc_dir, preprocess_dir = soulx_weights + + if not PROMPT_METADATA.is_file() or not TARGET_METADATA.is_file(): + pytest.skip(f"Missing SoulX-Singer metadata fixtures: {PROMPT_METADATA.name}, {TARGET_METADATA.name}") + if not (base_dir / "phoneme" / "phone_set.json").is_file() and not (base_dir / "phone_set.json").is_file(): + pytest.skip( + "SoulX-Singer SVS requires phoneme/phone_set.json (upstream fetch unavailable). " + "See `examples/offline_inference/text_to_speech/README.md`." + ) + + json.dump( + {"model_type": "soulxsinger", "architectures": ["SoulXSingerPipeline"], "max_num_seqs": 1}, + open(base_dir / "config.json", "w"), + indent=4, + ) + + with OmniRunner( + str(base_dir), + stage_configs_path=get_deploy_config_path("soulxsinger_svs.yaml"), + async_chunk=False, + ) as runner: + sampling = OmniDiffusionSamplingParams( + num_inference_steps=4, + guidance_scale=3.0, + seed=42, + extra_args={ + "language": "Mandarin", + "control": "score", + "prompt_metadata_path": str(PROMPT_METADATA), + "target_metadata_path": str(TARGET_METADATA), + "audio_path": str(PROMPT_AUDIO), + "preprocess_weights_dir": str(preprocess_dir), + }, + ) + prompt = {"prompt_token_ids": [0]} + outputs = runner.generate([prompt], sampling) + + assert outputs and outputs[0].error is None, outputs[0].error if outputs else "no output" + mm = outputs[0].multimodal_output + assert isinstance(mm, dict) and "audio" in mm + audio = _flatten_audio(mm["audio"]) + assert 12_000 <= audio.size + assert np.isfinite(audio).all() and float(np.max(np.abs(audio))) > 1e-4 + duration_s = audio.size / SAMPLE_RATE + assert 50.0 <= duration_s <= 52.0, f"duration={duration_s:.1f}s" diff --git a/vllm_omni/config/stage_config.py b/vllm_omni/config/stage_config.py index edabee9a9..45bd80c7a 100644 --- a/vllm_omni/config/stage_config.py +++ b/vllm_omni/config/stage_config.py @@ -706,6 +706,8 @@ def _build_engine_args( ``engine_extras`` can still carry a stage-specific ``dtype``). """ engine_args: dict[str, Any] = {"model_arch": ps.model_arch or pipeline.model_arch} + if ps.execution_type == StageExecutionType.DIFFUSION and ps.model_arch: + engine_args.setdefault("model_class_name", ps.model_arch) if ps.engine_output_type: engine_args["engine_output_type"] = ps.engine_output_type if next_stage_proc: diff --git a/vllm_omni/deploy/soulxsinger_svc.yaml b/vllm_omni/deploy/soulxsinger_svc.yaml new file mode 100644 index 000000000..a9d815806 --- /dev/null +++ b/vllm_omni/deploy/soulxsinger_svc.yaml @@ -0,0 +1,19 @@ +# SoulX-Singer SVC: single-stage DiT (preprocess inline in pre_process_func). +# +# Use: vllm serve --omni +pipeline: soulxsinger_svc +async_chunk: false +dtype: float16 +trust_remote_code: true +distributed_executor_backend: "mp" + +stages: + - stage_id: 0 + max_num_seqs: 1 + gpu_memory_utilization: 0.5 + enforce_eager: false + devices: "0" + default_sampling_params: + num_inference_steps: 32 + guidance_scale: 3.0 + seed: 42 diff --git a/vllm_omni/deploy/soulxsinger_svs.yaml b/vllm_omni/deploy/soulxsinger_svs.yaml new file mode 100644 index 000000000..3f021cb53 --- /dev/null +++ b/vllm_omni/deploy/soulxsinger_svs.yaml @@ -0,0 +1,19 @@ +# SoulX-Singer SVS: single-stage DiT (preprocess inline in pre_process_func). +# +# Use: vllm serve --omni +pipeline: soulxsinger_svs +async_chunk: false +dtype: float16 +trust_remote_code: true +distributed_executor_backend: "mp" + +stages: + - stage_id: 0 + max_num_seqs: 1 + gpu_memory_utilization: 0.5 + enforce_eager: false + devices: "0" + default_sampling_params: + num_inference_steps: 32 + guidance_scale: 3.0 + seed: 42 diff --git a/vllm_omni/diffusion/models/soulx_singer/__init__.py b/vllm_omni/diffusion/models/soulx_singer/__init__.py new file mode 100644 index 000000000..30235d2c1 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/__init__.py @@ -0,0 +1,44 @@ +"""SoulX-Singer SVS / SVC flow-matching singing models for vLLM-Omni.""" + +__all__ = [ + "FlowMatchingAudioPipeline", + "PipelineSoulXSingerSVS", + "PipelineSoulXSingerSVC", + "get_soulxsinger_post_process_func", + "get_soulxsinger_pre_process_func", + "get_soulxsinger_svc_pre_process_func", +] + + +def __getattr__(name: str): + if name in {"FlowMatchingAudioPipeline", "get_soulxsinger_post_process_func"}: + from vllm_omni.diffusion.models.soulx_singer.pipeline_soulx_singer_base import ( + FlowMatchingAudioPipeline, + get_soulxsinger_post_process_func, + ) + + return { + "FlowMatchingAudioPipeline": FlowMatchingAudioPipeline, + "get_soulxsinger_post_process_func": get_soulxsinger_post_process_func, + }[name] + if name in {"PipelineSoulXSingerSVC", "get_soulxsinger_svc_pre_process_func"}: + from vllm_omni.diffusion.models.soulx_singer.pipeline_soulx_singer_svc import ( + PipelineSoulXSingerSVC, + get_soulxsinger_svc_pre_process_func, + ) + + return { + "PipelineSoulXSingerSVC": PipelineSoulXSingerSVC, + "get_soulxsinger_svc_pre_process_func": get_soulxsinger_svc_pre_process_func, + }[name] + if name in {"PipelineSoulXSingerSVS", "get_soulxsinger_pre_process_func"}: + from vllm_omni.diffusion.models.soulx_singer.pipeline_soulx_singer_svs import ( + PipelineSoulXSingerSVS, + get_soulxsinger_pre_process_func, + ) + + return { + "PipelineSoulXSingerSVS": PipelineSoulXSingerSVS, + "get_soulxsinger_pre_process_func": get_soulxsinger_pre_process_func, + }[name] + raise AttributeError(f"module {__name__!r} has no attribute {name!r}") diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/__init__.py b/vllm_omni/diffusion/models/soulx_singer/modules/__init__.py new file mode 100644 index 000000000..282ab12ab --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/__init__.py @@ -0,0 +1,17 @@ +from .convnext import ConvNeXtV2Block +from .decoder import CFMDecoder +from .flow_matching import FlowMatchingTransformer +from .llama import DiffLlama +from .mel_transform import MelSpectrogramEncoder +from .vocoder import Vocoder +from .whisper_encoder import WhisperEncoder + +__all__ = [ + "ConvNeXtV2Block", + "FlowMatchingTransformer", + "CFMDecoder", + "DiffLlama", + "MelSpectrogramEncoder", + "Vocoder", + "WhisperEncoder", +] diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/convnext.py b/vllm_omni/diffusion/models/soulx_singer/modules/convnext.py new file mode 100644 index 000000000..465898e8a --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/convnext.py @@ -0,0 +1,46 @@ +import torch +import torch.nn as nn + + +class GRN(nn.Module): + def __init__(self, dim): + super().__init__() + self.gamma = nn.Parameter(torch.zeros(1, 1, dim)) + self.beta = nn.Parameter(torch.zeros(1, 1, dim)) + + def forward(self, x): + Gx = torch.norm(x, p=2, dim=1, keepdim=True) + Nx = Gx / (Gx.mean(dim=-1, keepdim=True) + 1e-6) + return self.gamma * (x * Nx) + self.beta + x + + +# ref: https://github.com/SWivid/F5-TTS/blob/main/src/f5_tts/model/modules.py#L247 +class ConvNeXtV2Block(nn.Module): + def __init__( + self, + dim: int, + intermediate_dim: int, + dilation: int = 1, + ): + super().__init__() + padding = (dilation * (7 - 1)) // 2 + self.dwconv = nn.Conv1d( + dim, dim, kernel_size=7, padding=padding, groups=dim, dilation=dilation + ) # depthwise conv + self.norm = nn.LayerNorm(dim, eps=1e-6) + self.pwconv1 = nn.Linear(dim, intermediate_dim) # pointwise/1x1 convs, implemented with linear layers + self.act = nn.GELU() + self.grn = GRN(intermediate_dim) + self.pwconv2 = nn.Linear(intermediate_dim, dim) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + residual = x + x = x.transpose(1, 2) # b n d -> b d n + x = self.dwconv(x) + x = x.transpose(1, 2) # b d n -> b n d + x = self.norm(x) + x = self.pwconv1(x) + x = self.act(x) + x = self.grn(x) + x = self.pwconv2(x) + return residual + x diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/decoder.py b/vllm_omni/diffusion/models/soulx_singer/modules/decoder.py new file mode 100644 index 000000000..6b1fda616 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/decoder.py @@ -0,0 +1,24 @@ +import torch +import torch.nn as nn + +from vllm_omni.diffusion.models.soulx_singer.modules.flow_matching import FlowMatchingTransformer + + +class CFMDecoder(nn.Module): + def __init__(self, config): + super().__init__() + self.model = FlowMatchingTransformer(cfg=config, **config) + + def forward(self, mel, x_mask, decoder_inp, is_prompt): + outputs = self.model(mel, x_mask, decoder_inp, is_prompt) + + noise, x, flow_pred, final_mask, prompt_len = outputs["output"] + return noise, x, flow_pred, final_mask, prompt_len + + def reverse_diffusion(self, pt_mel, pt_decoder_inp, gt_decoder_inp, n_timesteps=32, cfg=1): + diffusion_cond = torch.cat([pt_decoder_inp, gt_decoder_inp], dim=1) + diffusion_cond_emb = self.model.cond_emb(diffusion_cond) + diffusion_prompt = pt_mel + + generated = self.model.reverse_diffusion(diffusion_cond_emb, diffusion_prompt, n_timesteps=n_timesteps, cfg=cfg) + return generated diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/flow_matching.py b/vllm_omni/diffusion/models/soulx_singer/modules/flow_matching.py new file mode 100644 index 000000000..19e87b65b --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/flow_matching.py @@ -0,0 +1,423 @@ +# https://github.com/open-mmlab/Amphion/blob/main/models/svc/flow_matching_transformer/fmt_model.py + +# Copyright (c) 2023 Amphion. +# +# This source code is licensed under the MIT license found in the +# LICENSE file in the root directory of this source tree. + +import math + +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F +from transformers import LlamaConfig + +from vllm_omni.diffusion.models.soulx_singer.modules.llama import DiffLlama + + +class FlowMatchingTransformer(nn.Module): + def __init__( + self, + mel_dim=100, + hidden_size=1024, + num_layers=12, + num_heads=16, + cfg_drop_prob=0.2, + use_embedding=True, + cond_codebook_size=1024, + cond_scale_factor=1, + sigma=1e-5, + time_scheduler="linear", + cfg=None, + ): + super().__init__() + self.cfg = cfg + + if cfg is not None: + mel_dim = getattr(cfg, "mel_dim", mel_dim) + hidden_size = getattr(cfg, "hidden_size", hidden_size) + num_layers = getattr(cfg, "num_layers", num_layers) + num_heads = getattr(cfg, "num_heads", num_heads) + cfg_drop_prob = getattr(cfg, "cfg_drop_prob", cfg_drop_prob) + cond_codebook_size = getattr(cfg, "cond_codebook_size", cond_codebook_size) + time_scheduler = getattr(cfg, "time_scheduler", time_scheduler) + sigma = getattr(cfg, "sigma", sigma) + cond_scale_factor = getattr(cfg, "cond_scale_factor", cond_scale_factor) + + self.mel_dim = mel_dim + self.hidden_size = hidden_size + self.num_layers = num_layers + self.num_heads = num_heads + self.cfg_drop_prob = cfg_drop_prob + self.cond_codebook_size = cond_codebook_size + self.time_scheduler = time_scheduler + self.sigma = sigma + self.cond_scale_factor = cond_scale_factor + + if use_embedding: + self.cond_emb = nn.Embedding(cond_codebook_size, self.hidden_size) + else: + self.cond_emb = nn.Linear(cond_codebook_size, self.hidden_size) + + if cond_scale_factor != 1: + self.do_resampling = True + assert np.log2(cond_scale_factor).is_integer() + + up_layers = [] + for _ in range(int(np.log2(cond_scale_factor))): + up_layers.extend( + [ + nn.ConvTranspose1d(hidden_size, hidden_size, kernel_size=4, stride=2, padding=1), + nn.GELU(), + ] + ) + self.resampling_layers = nn.Sequential(*up_layers) + else: + self.do_resampling = False + + ### REPA: Use the Wav2Vec2Bert features to align. ### + self.use_repa = "repa" in cfg + self.repa_layer_index = None + if self.use_repa: + self.repa_layer_index = cfg.repa.layer_index + + self.repa_mlp_layer = nn.Sequential( + nn.Linear(hidden_size, hidden_size * 4), + nn.SiLU(), + nn.Linear(hidden_size * 4, cfg.repa.output_dim), + ) + + ### CTC: Use the ASR loss ### + self.use_ctc = "ctc" in cfg + self.ctc_layer_index = None + if self.use_ctc: + self.ctc_layer_index = cfg.ctc.layer_index + + self.ctc_mlp_layer = nn.Sequential( + nn.Linear(hidden_size, hidden_size * 4), + nn.SiLU(), + nn.Linear(hidden_size * 4, cfg.ctc.output_dim), + ) + + self.reset_parameters() + + # DiffLlama config must be overridden manually to make sure the + # internal RoPE head dimension is correct + llama_config = LlamaConfig( + vocab_size=0, + bos_token_id=None, + eos_token_id=None, + hidden_size=hidden_size, + num_attention_heads=num_heads, + num_hidden_layers=num_layers, + rms_norm_eps=1e-6, + output_hidden_states=False, + output_attentions=False, + use_cache=False, + ) + self.diff_estimator = DiffLlama( + mel_dim=mel_dim, hidden_size=hidden_size, num_heads=num_heads, num_layers=num_layers, config=llama_config + ) + + self.sigma = sigma + + @torch.no_grad() + def forward_diffusion(self, x, t, is_prompt=None): + """ + x: (B, T, mel_dim) + t: (B,) + """ + new_t = t + t = t.unsqueeze(-1).unsqueeze(-1) + z = torch.randn(x.shape, dtype=x.dtype, device=x.device, requires_grad=False) # (B, T, mel_dim) + + # get prompt len + if torch.rand(1) <= self.cfg_drop_prob: + prompt_len = torch.zeros(x.shape[0]).to(x) + is_prompt = torch.zeros_like(x[:, :, 0]) + else: + if is_prompt is None: + prompt_len = torch.randint(min(x.shape[1] // 4, 5), int(x.shape[1] * 0.4), (x.shape[0],)).to( + x.device + ) # (B,) + + # get is_prompt + is_prompt = torch.zeros_like(x[:, :, 0]) # (B, T) + col_indices = torch.arange(is_prompt.shape[1]).repeat(is_prompt.shape[0], 1).to(prompt_len) # (B, T) + is_prompt[col_indices < prompt_len.unsqueeze(1)] = 1 # (B, T) 1 if prompt + else: + prompt_len = is_prompt.sum(dim=1) # (B,) + + mask = torch.ones_like(x[:, :, 0]) # mask if 1, not mask if 0 + mask[is_prompt.bool()] = 0 + mask = mask[:, :, None] + + # flow matching: xt = (1 - (1 - sigma) * t) * x0 + t * x; where x0 ~ N(0, 1), x is a sample + # flow gt: x - (1 - sigma) * x0 = x - (1 - sigma) * noise + xt = ((1 - (1 - self.sigma) * t) * z + t * x) * mask + x * (1 - mask) + + return xt, z, new_t, prompt_len, mask + + def loss_t(self, x, x_mask, t, cond=None, is_prompt=None): + xt, z, new_t, prompt_len, mask = self.forward_diffusion(x, t, is_prompt) + + noise = z + + # drop all condition for cfg, so if prompt_len is 0, we also drop cond + if cond is not None: + cond = cond * torch.where( + prompt_len > 0, + torch.ones_like(prompt_len), + torch.zeros_like(prompt_len), + ).to(cond.device).unsqueeze(-1).unsqueeze(-1) + + dit_output = self.diff_estimator(xt, new_t, cond, x_mask, return_dict=True) + flow_pred = dit_output["output"] # (B, T, mel_dim) + + # final mask used for loss calculation + final_mask = mask * x_mask[..., None] # (B, T, 1) + + results = {"output": (noise, x, flow_pred, final_mask, prompt_len)} + + if self.use_repa: + repa_hidden_states = dit_output["hidden_states"][self.repa_layer_index] # (B, T, hidden_size) + + repa_pred = self.repa_mlp_layer(repa_hidden_states) # (B, T, repa_dim) + results["repa"] = repa_pred + + if self.use_ctc: + ctc_hidden_states = dit_output["hidden_states"][self.ctc_layer_index] # (B, T, hidden_size) + ctc_pred = self.ctc_mlp_layer(ctc_hidden_states) # (B, T, ctc_dim) + results["ctc"] = ctc_pred + + return results + + def compute_loss(self, x, x_mask, cond=None, is_prompt=None): + # x0: (B, T, num_quantizer) + # x_mask: (B, T) mask is 0 for padding + t = torch.rand(x.shape[0], device=x.device, requires_grad=False) + t = torch.clamp(t, 1e-5, 1.0) + # generation is harder at the start than later; use a cosine + # scheduler for timestep t when time_scheduler == "cos". + if self.time_scheduler == "cos": + t = 1 - torch.cos(t * math.pi * 0.5) + else: + pass + return self.loss_t(x, x_mask, t, cond, is_prompt) + + def reset_parameters(self): + def _reset_parameters(m): + if isinstance(m, nn.MultiheadAttention): + if m._qkv_same_embed_dim: + nn.init.normal_(m.in_proj_weight, std=0.02) + else: + nn.init.normal_(m.q_proj_weight, std=0.02) + nn.init.normal_(m.k_proj_weight, std=0.02) + nn.init.normal_(m.v_proj_weight, std=0.02) + + if m.in_proj_bias is not None: + nn.init.constant_(m.in_proj_bias, 0.0) + nn.init.constant_(m.out_proj.bias, 0.0) + if m.bias_k is not None: + nn.init.xavier_normal_(m.bias_k) + if m.bias_v is not None: + nn.init.xavier_normal_(m.bias_v) + + elif ( + isinstance(m, nn.Conv1d) + or isinstance(m, nn.ConvTranspose1d) + or isinstance(m, nn.Conv2d) + or isinstance(m, nn.ConvTranspose2d) + ): + m.weight.data.normal_(0.0, 0.02) + + elif isinstance(m, nn.Linear): + m.weight.data.normal_(mean=0.0, std=0.02) + if m.bias is not None: + m.bias.data.zero_() + + elif isinstance(m, nn.Embedding): + m.weight.data.normal_(mean=0.0, std=0.02) + if m.padding_idx is not None: + m.weight.data[m.padding_idx].zero_() + + self.apply(_reset_parameters) + + @torch.no_grad() + def reverse_diffusion( + self, + cond, + prompt, + x_mask=None, + prompt_mask=None, + n_timesteps=10, + cfg=1.0, + rescale_cfg=0.75, + ): + h = 1.0 / n_timesteps + prompt_len = prompt.shape[1] + target_len = cond.shape[1] - prompt_len + trunk_dtype = cond.dtype + + if x_mask is None: + x_mask = torch.ones(cond.shape[0], target_len, dtype=trunk_dtype, device=cond.device) + if prompt_mask is None: + prompt_mask = torch.ones(cond.shape[0], prompt_len, dtype=trunk_dtype, device=cond.device) + xt_mask = torch.cat([prompt_mask, x_mask], dim=1) + z = torch.randn( + (cond.shape[0], target_len, self.mel_dim), + dtype=trunk_dtype, + device=cond.device, + requires_grad=False, + ) + xt = z + h_tensor = torch.tensor(h, dtype=trunk_dtype, device=cond.device) + + # t from 0 to 1: x0 = z ~ N(0, 1) + for i in range(n_timesteps): + xt_input = torch.cat([prompt, xt], dim=1) + t = torch.full( + (z.shape[0],), + fill_value=(i + 0.5) * h, + dtype=trunk_dtype, + device=z.device, + ) + flow_pred = self.diff_estimator(xt_input, t, cond, xt_mask) + flow_pred = flow_pred[:, prompt_len:, :] + + # cfg + if cfg > 0: + uncond_flow_pred = self.diff_estimator(xt, t, torch.zeros_like(cond)[:, : xt.shape[1], :], x_mask) + pos_flow_pred_std = flow_pred.std() + flow_pred_cfg = flow_pred + cfg * (flow_pred - uncond_flow_pred) + rescale_flow_pred = flow_pred_cfg * pos_flow_pred_std / flow_pred_cfg.std() + flow_pred = rescale_cfg * rescale_flow_pred + (1 - rescale_cfg) * flow_pred_cfg + + xt = xt + flow_pred * h_tensor + + return xt + + @torch.no_grad() + def reverse_diffusion_v2( + self, + cond, + prompt, + x_mask=None, + prompt_mask=None, + n_timesteps=10, + cfg=1.0, + rescale_cfg=0.75, + ): + h = 1.0 / n_timesteps + prompt_len = prompt.shape[1] + target_len = cond.shape[1] - prompt_len * 2 + + if x_mask is None: + x_mask = torch.ones(cond.shape[0], target_len).to(cond.device) # (B, T) + if prompt_mask is None: + prompt_mask = torch.ones(cond.shape[0], prompt_len).to(cond.device) # (B, prompt_len) + xt_mask = torch.cat([prompt_mask, x_mask, prompt_mask], dim=1) + z = torch.randn( + (cond.shape[0], target_len, self.mel_dim), + dtype=cond.dtype, + device=cond.device, + requires_grad=False, + ) + xt = z + + # t from 0 to 1: x0 = z ~ N(0, 1) + for i in range(n_timesteps): + xt_input = torch.cat([prompt, xt, prompt], dim=1) + t = (0 + (i + 0.5) * h) * torch.ones(z.shape[0], dtype=z.dtype, device=z.device) + flow_pred = self.diff_estimator(xt_input, t, cond, xt_mask) + flow_pred = flow_pred[:, prompt_len:-prompt_len, :] + + # cfg + if cfg > 0: + uncond_flow_pred = self.diff_estimator(xt, t, torch.zeros_like(cond)[:, : xt.shape[1], :], x_mask) + pos_flow_pred_std = flow_pred.std() + flow_pred_cfg = flow_pred + cfg * (flow_pred - uncond_flow_pred) + rescale_flow_pred = flow_pred_cfg * pos_flow_pred_std / flow_pred_cfg.std() + flow_pred = rescale_cfg * rescale_flow_pred + (1 - rescale_cfg) * flow_pred_cfg + + dxt = flow_pred * h + xt = xt + dxt + + return xt + + def forward( + self, + x: torch.Tensor, + x_mask: torch.Tensor, + cond_code: torch.Tensor, + is_prompt: torch.Tensor | None = None, + ): + """ + Args: + x: (B, T, mel_dim) + x_mask: (B, T) + cond_code: (B, T), Note that cond_code might be not at 50Hz! + """ + T = x.shape[1] + + cond = self.cond_emb(cond_code) # (B, T, hidden_size) + if self.do_resampling: + # Align to the frame rate of Mels + cond = self.resampling_layers(cond.transpose(1, 2)).transpose(1, 2) + + # print("cond_code: {}, after resampling: {}".format(cond_code.shape, cond.shape)) + + if cond.shape[1] >= T: # Check time dimension + cond = cond[:, :T, :] + else: + padding_frames = T - cond.shape[1] + last_frame = cond[:, -1:, :] + padding = last_frame.repeat(1, padding_frames, 1) + cond = torch.cat([cond, padding], dim=1) + + return self.compute_loss(x, x_mask, cond, is_prompt) + + +if __name__ == "__main__": + model_cfg = { + "mel_dim": 128, + "hidden_size": 256, + "num_layers": 8, + "num_heads": 8, + "cfg_drop_prob": 0.2, + "use_embedding": False, + "cond_codebook_size": 256, + "cond_scale_factor": 1, + "sigma": 1e-5, + "time_scheduler": "cos", + } + + device = "cuda" + x = torch.randn(2, 100, 128).to(device) + x_mask = torch.ones(2, 100).to(device) + # cond_code = torch.randint(0, 16384, (2, 25)).to(device) + cond_code = torch.randn(2, 100, 256).to(device) + + model = FlowMatchingTransformer(cfg=model_cfg, **model_cfg).to(device) + outputs = model(x, x_mask, cond_code) + print(outputs) + + noise, x, flow_pred, final_mask, prompt_len = outputs["output"] + final_mask = final_mask.squeeze(-1) + + flow_gt = x - (1 - 1e-5) * noise + + # [B, n_frames, D] + diff_loss = F.l1_loss(flow_pred, flow_gt, reduction="none").float() * final_mask.unsqueeze(-1) + diff_loss = torch.mean(diff_loss, dim=2).sum() / final_mask.sum() + + print("diff_loss:", diff_loss.item()) + + diffusion_cond = torch.randn(2, 150, 256).to(device) + diffusion_cond_emb = model.cond_emb(diffusion_cond) + diffusion_prompt = torch.randn(2, 50, 128).to(device) + n_timesteps = 32 + + generated = model.reverse_diffusion(diffusion_cond_emb, diffusion_prompt, n_timesteps=n_timesteps) + print("generated:", generated.shape) diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/llama.py b/vllm_omni/diffusion/models/soulx_singer/modules/llama.py new file mode 100644 index 000000000..23a3377f2 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/llama.py @@ -0,0 +1,393 @@ +import math + +import torch +import torch.nn as nn +from cache_dit import ForwardPattern +from transformers import LlamaConfig, LlamaModel +from transformers.modeling_outputs import BaseModelOutputWithPast +from transformers.models.llama.modeling_llama import LlamaDecoderLayer + +from vllm_omni.diffusion.cache.cache_dit_backend import CacheDiTAdapterConfig +from vllm_omni.diffusion.distributed.sp_plan import SequenceParallelInput, SequenceParallelOutput + + +class SinusoidalPosEmb(nn.Module): + def __init__(self, dim): + super().__init__() + self.dim = dim + + def forward(self, x): + device = x.device + dtype = x.dtype + half_dim = self.dim // 2 + emb = math.log(10000) / (half_dim - 1) + emb = torch.exp(torch.arange(half_dim, device=device, dtype=dtype) * -emb) + emb = x[:, None] * emb[None, :] + emb = torch.cat((emb.sin(), emb.cos()), dim=-1) + return emb + + +class LlamaAdaptiveRMSNorm(nn.Module): + def __init__(self, hidden_size=1024, eps=1e-6, dim_cond=1024): + super().__init__() + self.to_weight = nn.Linear(dim_cond, hidden_size) + nn.init.zeros_(self.to_weight.weight) + nn.init.ones_(self.to_weight.bias) + self.variance_epsilon = eps + self._is_hf_initialized = True + + def forward(self, hidden_states, cond_embedding): + input_dtype = hidden_states.dtype + variance = hidden_states.to(torch.float32).pow(2).mean(-1, keepdim=True) + hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon) + + weight = self.to_weight(cond_embedding) + if len(weight.shape) == 2: + weight = weight.unsqueeze(1) + + return (weight * hidden_states).to(input_dtype) + + +class LlamaNARDecoderLayer(LlamaDecoderLayer): + def __init__(self, config: LlamaConfig, layer_idx: int): + super().__init__(config, layer_idx) + + self.input_layernorm = LlamaAdaptiveRMSNorm( + config.hidden_size, + eps=config.rms_norm_eps, + dim_cond=config.hidden_size, + ) + self.post_attention_layernorm = LlamaAdaptiveRMSNorm( + config.hidden_size, + eps=config.rms_norm_eps, + dim_cond=config.hidden_size, + ) + + def forward( + self, + hidden_states: torch.Tensor, + cond_embedding: torch.Tensor, + attention_mask: torch.Tensor | None = None, + position_embeddings: tuple[torch.Tensor, torch.Tensor] | None = None, + output_attentions: bool | None = False, + cache_position: torch.LongTensor | None = None, + **kwargs, + ) -> tuple[torch.FloatTensor, ...]: + residual = hidden_states + hidden_states = self.input_layernorm(hidden_states, cond_embedding=cond_embedding) + + # RoPE is computed by the parent model and passed in as (cos, sin). + hidden_states, self_attn_weights = self.self_attn( + hidden_states=hidden_states, + position_embeddings=position_embeddings, + attention_mask=attention_mask, + cache_position=cache_position, + output_attentions=output_attentions, + **kwargs, + ) + + hidden_states = residual + hidden_states + + residual = hidden_states + hidden_states = self.post_attention_layernorm( + hidden_states, + cond_embedding=cond_embedding, + ) + hidden_states = self.mlp(hidden_states) + hidden_states = residual + hidden_states + + outputs = (hidden_states,) + + if output_attentions: + outputs += (self_attn_weights,) + + return outputs + + +class DiffLlama(LlamaModel): + # Regional torch.compile in DiffusionModelRunner targets these blocks. + _repeated_blocks = ["LlamaNARDecoderLayer"] + _layerwise_offload_blocks_attrs = ["layers"] + + # cache-dit: Llama-style backbone with static condition embeddings injected + # before the decoder loop (like Stable Audio Open). Pattern_3 handles the + # cross-attention-style conditioning on the ``layers`` ModuleList. + _cache_dit_adapter_config = CacheDiTAdapterConfig( + block_forward_patterns={ + "layers": ForwardPattern.Pattern_3, + }, + ) + + # Sequence parallelism: shard mel sequence before the first decoder layer and + # gather after the output projection. Tensor parallelism still requires + # migrating attention to vLLM parallel linear layers. + _sp_plan = { + "layers.0": { + "hidden_states": SequenceParallelInput(split_dim=1, expected_dims=3), + }, + "mel_out_mlp": SequenceParallelOutput(gather_dim=1, expected_dims=3), + } + + @staticmethod + def _is_transformer_block(name: str, module: nn.Module) -> bool: + del module + return name.startswith("layers.") and name.split(".")[-1].isdigit() + + _hsdp_shard_conditions = [_is_transformer_block] + + def __init__( + self, + mel_dim=100, + hidden_size=1024, + num_heads=16, + num_layers=16, + dropout=0.1, + ffn_dropout=0.1, + attention_dropout=0.0, + config: LlamaConfig | None = None, + ): + if config is None: + config = LlamaConfig( + vocab_size=32000, + hidden_size=hidden_size, + intermediate_size=hidden_size * 4, + num_hidden_layers=num_layers, + num_attention_heads=num_heads, + num_key_value_heads=num_heads, + max_position_embeddings=4096, + rms_norm_eps=1e-6, + attention_dropout=attention_dropout, + use_cache=False, + attn_implementation="eager", + ) + + config.use_cache = False + + super().__init__(config) + + # Keep custom decoder layers on the same attention backend. + layer_config = LlamaConfig( + vocab_size=config.vocab_size, + hidden_size=hidden_size, + intermediate_size=hidden_size * 4, + num_hidden_layers=num_layers, + num_attention_heads=num_heads, + num_key_value_heads=num_heads, + max_position_embeddings=4096, + rms_norm_eps=config.rms_norm_eps, + attention_dropout=attention_dropout, + use_cache=False, + attn_implementation="eager", + bos_token_id=None, + eos_token_id=None, + ) + + self.layers = nn.ModuleList( + [ + LlamaNARDecoderLayer( + layer_config, + layer_idx=i, + ) + for i in range(num_layers) + ] + ) + + self.norm = LlamaAdaptiveRMSNorm(hidden_size, dim_cond=hidden_size) + + self.diff_step_embedding = SinusoidalPosEmb(hidden_size) + self.diff_step_mlp = nn.Sequential( + nn.Linear(hidden_size, hidden_size * 4), + nn.SiLU(), + nn.Linear(hidden_size * 4, hidden_size), + ) + + self.cond_mlp = nn.Sequential( + nn.Linear(hidden_size, hidden_size * 4), + nn.SiLU(), + nn.Linear(hidden_size * 4, hidden_size), + ) + + self.mel_mlp = nn.Sequential( + nn.Linear(mel_dim, hidden_size * 4), + nn.SiLU(), + nn.Linear(hidden_size * 4, hidden_size), + ) + + self.mel_out_mlp = nn.Sequential( + nn.Linear(hidden_size, hidden_size * 4), + nn.SiLU(), + nn.Linear(hidden_size * 4, mel_dim), + ) + + self.embed_tokens = None + + self.post_init() + + def _prepare_decoder_attention_mask( + self, + attention_mask, + input_shape, + inputs_embeds, + past_key_values_length=0, + ): + """ + Build a 4D additive padding mask. + + This model is non-autoregressive, so no causal mask is added here. + """ + + combined_attention_mask = None + + def _expand_mask(mask: torch.Tensor, dtype: torch.dtype, tgt_len: int | None = None): + bsz, src_len = mask.size() + tgt_len = tgt_len if tgt_len is not None else src_len + + expanded_mask = ( + mask[:, None, None, :] + .expand( + bsz, + 1, + tgt_len, + src_len, + ) + .to(dtype) + ) + + inverted_mask = 1.0 - expanded_mask + + return inverted_mask.masked_fill( + inverted_mask.to(torch.bool), + torch.finfo(dtype).min, + ) + + if attention_mask is not None: + expanded_attn_mask = _expand_mask( + attention_mask, + inputs_embeds.dtype, + tgt_len=input_shape[-1], + ).to(inputs_embeds.device) + + combined_attention_mask = ( + expanded_attn_mask if combined_attention_mask is None else expanded_attn_mask + combined_attention_mask + ) + + return combined_attention_mask + + def forward( + self, + x, + diffusion_step, + cond, + x_mask, + input_ids: torch.LongTensor = None, + attention_mask: torch.Tensor | None = None, + position_ids: torch.LongTensor | None = None, + past_key_values: list[torch.FloatTensor] | None = None, + inputs_embeds: torch.FloatTensor | None = None, + use_cache: bool | None = None, + output_attentions: bool | None = None, + output_hidden_states: bool | None = None, + return_dict: bool | None = False, + ) -> BaseModelOutputWithPast | torch.Tensor | dict: + batch_size, seq_length, _ = x.shape + + cond_embedding = self.cond_mlp(cond) + x = self.mel_mlp(x) + + diffusion_step = self.diff_step_embedding(diffusion_step).to(device=x.device, dtype=x.dtype) + diffusion_step = self.diff_step_mlp(diffusion_step) + + x = x + cond_embedding + + inputs_embeds = x + attention_mask = x_mask + + output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions + output_hidden_states = ( + output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states + ) + + # KV cache is disabled because this diffusion decoder processes full sequences. + + if past_key_values is not None: + raise NotImplementedError("KV cache is disabled for this non-autoregressive DiffLlama implementation.") + + if position_ids is None: + device = input_ids.device if input_ids is not None else inputs_embeds.device + position_ids = torch.arange( + 0, + seq_length, + dtype=torch.long, + device=device, + ) + position_ids = position_ids.unsqueeze(0).expand(batch_size, -1) + else: + position_ids = position_ids.view(batch_size, seq_length).long() + + if attention_mask is None: + attention_mask = torch.ones( + (batch_size, seq_length), + dtype=torch.bool, + device=inputs_embeds.device, + ) + + attention_mask = self._prepare_decoder_attention_mask( + attention_mask, + (batch_size, seq_length), + inputs_embeds, + past_key_values_length=0, + ) + + hidden_states = inputs_embeds + + all_hidden_states = () if output_hidden_states else None + all_self_attns = () if output_attentions else None + all_layer_hidden_states = [] + + cache_position = torch.arange( + 0, + seq_length, + device=hidden_states.device, + dtype=torch.long, + ) + + # LlamaAttention expects precomputed rotary embeddings. + position_embeddings = self.rotary_emb(hidden_states, position_ids) + + for idx, decoder_layer in enumerate(self.layers): + if output_hidden_states: + all_hidden_states += (hidden_states,) + + if self.gradient_checkpointing and self.training: + raise NotImplementedError + + layer_outputs = decoder_layer( + hidden_states, + cond_embedding=diffusion_step, + attention_mask=attention_mask, + position_embeddings=position_embeddings, + output_attentions=output_attentions, + cache_position=cache_position, + ) + + hidden_states = layer_outputs[0] + all_layer_hidden_states.append(hidden_states.clone()) + + if output_attentions: + all_self_attns += (layer_outputs[1],) + + hidden_states = self.norm(hidden_states, cond_embedding=diffusion_step) + + if output_hidden_states: + all_hidden_states += (hidden_states,) + + hidden_states = self.mel_out_mlp(hidden_states) + + if return_dict: + return { + "output": hidden_states, + "hidden_states": all_layer_hidden_states, + "attentions": all_self_attns, + } + + return hidden_states diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/mel_transform.py b/vllm_omni/diffusion/models/soulx_singer/modules/mel_transform.py new file mode 100644 index 000000000..cc767dcf3 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/mel_transform.py @@ -0,0 +1,151 @@ +import math +from typing import Any + +import numpy as np +import torch +import torch.nn as nn + +from vllm_omni.utils.audio import mel_filter_bank as librosa_mel_fn + + +def dynamic_range_compression(x, c=1, clip_val=1e-5): + return np.log(np.clip(x, a_min=clip_val, a_max=None) * c) + + +def dynamic_range_decompression(x, c=1): + return np.exp(x) / c + + +def dynamic_range_compression_torch(x, c=1, clip_val=1e-5): + return torch.log(torch.clamp(x, min=clip_val) * c) + + +def dynamic_range_decompression_torch(x, c=1): + return torch.exp(x) / c + + +def spectral_normalize_torch(magnitudes): + output = dynamic_range_compression_torch(magnitudes) + return output + + +def spectral_de_normalize_torch(magnitudes): + output = dynamic_range_decompression_torch(magnitudes) + return output + + +class MelSpectrogram(nn.Module): + def __init__( + self, + n_fft, + num_mels, + sampling_rate, + hop_size, + win_size, + fmin, + fmax, + center=False, + ): + super().__init__() + self.n_fft = n_fft + self.hop_size = hop_size + self.win_size = win_size + self.sampling_rate = sampling_rate + self.num_mels = num_mels + self.fmin = fmin + self.fmax = fmax + self.center = center + + mel_basis = {} + hann_window = {} + + mel = librosa_mel_fn(sr=sampling_rate, n_fft=n_fft, n_mels=num_mels, fmin=fmin, fmax=fmax) + mel_basis = mel.to(torch.float32) + hann_window = torch.hann_window(win_size) + + self.register_buffer("mel_basis", mel_basis) + self.register_buffer("hann_window", hann_window) + + def forward(self, y): + y = torch.nn.functional.pad( + y.unsqueeze(1), + ( + int((self.n_fft - self.hop_size) / 2), + int((self.n_fft - self.hop_size) / 2), + ), + mode="reflect", + ) + y = y.squeeze(1) + spec = torch.stft( + y, + self.n_fft, + hop_length=self.hop_size, + win_length=self.win_size, + window=self.hann_window, + center=self.center, + pad_mode="reflect", + normalized=False, + onesided=True, + return_complex=True, + ) + spec = torch.view_as_real(spec) + + spec = torch.sqrt(spec.pow(2).sum(-1) + (1e-9)) + + spec = torch.matmul(self.mel_basis, spec) + spec = spectral_normalize_torch(spec) + + return spec + + +def load_mel_spectrogram(): + return load_mel_spectrogram_from_cfg(None) + + +def _get_from_mapping(cfg: Any, key: str, default: Any = None) -> Any: + """Safely read a field from a dict/OmegaConf-like object.""" + if cfg is None: + return default + if isinstance(cfg, dict): + return cfg.get(key, default) + return getattr(cfg, key, default) + + +def load_mel_spectrogram_from_cfg(audio_cfg: Any | None = None) -> MelSpectrogram: + """Build MelSpectrogram from `audio_config`-like config. + + Expected keys (either in dict or Hydra/OmegaConf object): + - hop_size, sample_rate (or sampling_rate), n_fft, num_mels, win_size, fmin, fmax + """ + # Defaults keep current behavior. + mel_cfg: dict[str, Any] = { + "hop_size": _get_from_mapping(audio_cfg, "hop_size", 480), + "sampling_rate": _get_from_mapping( + audio_cfg, + "sampling_rate", + _get_from_mapping(audio_cfg, "sample_rate", 24000), + ), + "n_fft": _get_from_mapping(audio_cfg, "n_fft", 1920), + "num_mels": _get_from_mapping(audio_cfg, "num_mels", 128), + "win_size": _get_from_mapping(audio_cfg, "win_size", 1920), + "fmin": _get_from_mapping(audio_cfg, "fmin", 0), + "fmax": _get_from_mapping(audio_cfg, "fmax", 12000), + } + + mel_model = MelSpectrogram(**mel_cfg) + mel_model.eval() + return mel_model + + +class MelSpectrogramEncoder(nn.Module): + def __init__(self, audio_config: dict | None = None): + super().__init__() + self.model = load_mel_spectrogram_from_cfg(audio_config) + audio_config = audio_config or {} + self.mel_mean = audio_config.get("mel_mean", -4.92) + self.mel_var = audio_config.get("mel_var", 8.14) + + def forward(self, x): + x = self.model(x).transpose(1, 2) + x = (x - self.mel_mean) / math.sqrt(self.mel_var) + return x diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/note_transcription.py b/vllm_omni/diffusion/models/soulx_singer/modules/note_transcription.py new file mode 100644 index 000000000..70933dd92 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/note_transcription.py @@ -0,0 +1,958 @@ +import math + +import numpy as np +import packaging.version as version +import torch +import torch.nn as nn + +# ---------------------- note transcription common layers ---------------------- + + +class LayerNorm(nn.LayerNorm): + def __init__(self, nout: int, dim: int = -1, eps: float = 1e-5): + """Construct an LayerNorm object.""" + super().__init__(nout, eps=eps) + self.dim = dim + + def forward(self, x): + if self.dim == -1: + return super().forward(x) + return super().forward(x.transpose(1, -1)).transpose(1, -1) + + +class Reshape(nn.Module): + def __init__(self, *args): + super().__init__() + self.shape = args + + def forward(self, x): + return x.view(self.shape) + + +class Permute(nn.Module): + def __init__(self, *args): + super().__init__() + self.args = args + + def forward(self, x): + return x.permute(self.args) + + +class LambdaLayer(nn.Module): + def __init__(self, lambd): + super().__init__() + self.lambd = lambd + + def forward(self, x): + return self.lambd(x) + + +class ResidualBlock(nn.Module): + """ + Implements a residual block pattern: + [Norm] → [Conv1d] → [Scale] → [Activation] → [Conv1d] + repeated n times, each as a residual unit. + """ + + def __init__( + self, + channels: int, + kernel_size: int, + dilation: int, + n: int = 2, + c_multiple: int = 2, + ln_eps: float = 1e-12, + ): + super().__init__() + + self.blocks = nn.ModuleList( + [ + nn.Sequential( + LayerNorm(channels, dim=1, eps=ln_eps), + nn.Conv1d( + channels, + c_multiple * channels, + kernel_size, + dilation=dilation, + padding=(dilation * (kernel_size - 1)) // 2, + ), + LambdaLayer(lambda x: x * kernel_size**-0.5), # scaling for stability + nn.LeakyReLU(), + nn.Conv1d(c_multiple * channels, channels, kernel_size=1, dilation=dilation), + ) + for _ in range(n) + ] + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + nonpadding = (x.abs().sum(1) > 0).float()[:, None, :] + for block in self.blocks: + x_res = block(x) + x = (x + x_res) * nonpadding + return x + + +class ConvBlocks(nn.Module): + """ + Decodes the expanded phoneme encoding into spectrograms. + """ + + def __init__( + self, + hidden_size, + out_dims, + dilations, + kernel_size, + layers_in_block=2, + c_multiple=2, + ln_eps=1e-5, + is_btc=True, + post_net_kernel=3, + ): + super().__init__() + self.is_btc = is_btc + + res_blocks = [ + ResidualBlock( + hidden_size, + kernel_size=kernel_size, + dilation=1, + n=layers_in_block, + c_multiple=c_multiple, + ln_eps=ln_eps, + ) + for _ in range(1) + ] # default 1 + self.res_blocks = nn.Sequential(*res_blocks) + + # Output normalization and conv + self.last_norm = LayerNorm(hidden_size, dim=1, eps=ln_eps) + self.post_net1 = nn.Conv1d(hidden_size, out_dims, kernel_size=post_net_kernel, padding=post_net_kernel // 2) + + def forward(self, x: torch.Tensor, nonpadding: torch.Tensor | None = None) -> torch.Tensor: + if self.is_btc: + x = x.transpose(1, 2) + if nonpadding is None: + nonpadding = (x.abs().sum(1) > 0).float()[:, None, :] + elif self.is_btc: + nonpadding = nonpadding.transpose(1, 2) + x = self.res_blocks(x) * nonpadding + x = self.last_norm(x) * nonpadding + x = self.post_net1(x) * nonpadding + if self.is_btc: + x = x.transpose(1, 2) + return x + + +def Linear(in_features: int, out_features: int, bias: bool = True, init_type: str = "xavier"): + m = nn.Linear(in_features, out_features, bias) + if init_type == "xavier": + nn.init.xavier_uniform_(m.weight) + elif init_type == "kaiming": + nn.init.kaiming_normal_(m.weight, mode="fan_in") + if bias: + nn.init.constant_(m.bias, 0.0) + return m + + +def Embedding(num_embeddings, embedding_dim, padding_idx=None, init_type="normal"): + m = nn.Embedding(num_embeddings, embedding_dim, padding_idx=padding_idx) + if init_type == "normal": + nn.init.normal_(m.weight, mean=0, std=embedding_dim**-0.5) + elif init_type == "kaiming": + nn.init.kaiming_normal_(m.weight, mode="fan_in") + if padding_idx is not None: + nn.init.constant_(m.weight[padding_idx], 0) + return m + + +# ---------------------- note transcription espnet attention ---------------------- + + +class MultiHeadedAttention(nn.Module): + """Multi-Head Attention layer. + Args: + n_head (int): The number of heads. + n_feat (int): The number of features. + dropout_rate (float): Dropout rate. + """ + + def __init__(self, n_head, n_feat, dropout_rate, flash=False): + """Construct an MultiHeadedAttention object.""" + super().__init__() + assert n_feat % n_head == 0 + # We assume d_v always equals d_k + self.d_k = n_feat // n_head + self.h = n_head + self.linear_q = nn.Linear(n_feat, n_feat) + self.linear_k = nn.Linear(n_feat, n_feat) + self.linear_v = nn.Linear(n_feat, n_feat) + self.linear_out = nn.Linear(n_feat, n_feat) + self.attn = None + self.dropout = nn.Dropout(p=dropout_rate) + self.dropout_rate = dropout_rate + self.flash = flash + + def forward_qkv(self, query, key, value): + """Transform query, key and value. + Args: + query (torch.Tensor): Query tensor (#batch, time1, size). + key (torch.Tensor): Key tensor (#batch, time2, size). + value (torch.Tensor): Value tensor (#batch, time2, size). + Returns: + torch.Tensor: Transformed query tensor (#batch, n_head, time1, d_k). + torch.Tensor: Transformed key tensor (#batch, n_head, time2, d_k). + torch.Tensor: Transformed value tensor (#batch, n_head, time2, d_k). + """ + n_batch = query.size(0) + q = self.linear_q(query).view(n_batch, -1, self.h, self.d_k) + k = self.linear_k(key).view(n_batch, -1, self.h, self.d_k) + v = self.linear_v(value).view(n_batch, -1, self.h, self.d_k) + q = q.transpose(1, 2) # (batch, head, time1, d_k) + k = k.transpose(1, 2) # (batch, head, time2, d_k) + v = v.transpose(1, 2) # (batch, head, time2, d_k) + + return q, k, v + + def forward_attention(self, value, scores, mask): + """Compute attention context vector. + Args: + value (torch.Tensor): Transformed value (#batch, n_head, time2, d_k). + scores (torch.Tensor): Attention score (#batch, n_head, time1, time2). + mask (torch.Tensor): Mask (#batch, 1, time2) or (#batch, time1, time2). + Returns: + torch.Tensor: Transformed value (#batch, time1, d_model) + weighted by the attention score (#batch, time1, time2). + """ + n_batch = value.size(0) + if mask is not None: + mask = mask.unsqueeze(1).eq(0) # (batch, 1, *, time2) + min_value = float(np.finfo(torch.tensor(0, dtype=scores.dtype).numpy().dtype).min) + scores = scores.masked_fill(mask, min_value) + self.attn = torch.softmax(scores, dim=-1).masked_fill(mask, 0.0) # (batch, head, time1, time2) + else: + self.attn = torch.softmax(scores, dim=-1) # (batch, head, time1, time2) + + p_attn = self.dropout(self.attn) + x = torch.matmul(p_attn, value) # (batch, head, time1, d_k) + x = x.transpose(1, 2).contiguous().view(n_batch, -1, self.h * self.d_k) # (batch, time1, d_model) + + return self.linear_out(x) # (batch, time1, d_model) + + def forward(self, query, key, value, mask): + """Compute scaled dot product attention. + Args: + query (torch.Tensor): Query tensor (#batch, time1, size). + key (torch.Tensor): Key tensor (#batch, time2, size). + value (torch.Tensor): Value tensor (#batch, time2, size). + mask (torch.Tensor): Mask tensor (#batch, 1, time2) or + (#batch, time1, time2). + Returns: + torch.Tensor: Output tensor (#batch, time1, d_model). + """ + q, k, v = self.forward_qkv(query, key, value) + if version.parse(torch.__version__) >= version.parse("2.0") and self.flash: + n_batch = value.size(0) + x = torch.nn.functional.scaled_dot_product_attention( + q, k, v, attn_mask=mask.unsqueeze(1) if mask is not None else None, dropout_p=self.dropout_rate + ) + x = x.transpose(1, 2).contiguous().view(n_batch, -1, self.h * self.d_k) # (batch, time1, d_model) + return self.linear_out(x) + else: + scores = torch.matmul(q, k.transpose(-2, -1)) / math.sqrt(self.d_k) + return self.forward_attention(v, scores, mask) + + +class RelPositionMultiHeadedAttention(MultiHeadedAttention): + """Multi-Head Attention layer with relative position encoding. + Paper: https://arxiv.org/abs/1901.02860 + Args: + n_head (int): The number of heads. + n_feat (int): The number of features. + dropout_rate (float): Dropout rate. + """ + + def __init__(self, n_head, n_feat, dropout_rate): + """Construct an RelPositionMultiHeadedAttention object.""" + super().__init__(n_head, n_feat, dropout_rate) + # linear transformation for positional encoding + self.linear_pos = nn.Linear(n_feat, n_feat, bias=False) + # these two learnable bias are used in matrix c and matrix d + # as described in https://arxiv.org/abs/1901.02860 Section 3.3 + self.pos_bias_u = nn.Parameter(torch.Tensor(self.h, self.d_k)) + self.pos_bias_v = nn.Parameter(torch.Tensor(self.h, self.d_k)) + torch.nn.init.xavier_uniform_(self.pos_bias_u) + torch.nn.init.xavier_uniform_(self.pos_bias_v) + + def rel_shift(self, x, zero_triu=False): + """Compute relative positinal encoding. + Args: + x (torch.Tensor): Input tensor (batch, time, size). + zero_triu (bool): If true, return the lower triangular part of the matrix. + Returns: + torch.Tensor: Output tensor. + """ + zero_pad = torch.zeros((*x.size()[:3], 1), device=x.device, dtype=x.dtype) + x_padded = torch.cat([zero_pad, x], dim=-1) + + x_padded = x_padded.view(*x.size()[:2], x.size(3) + 1, x.size(2)) + x = x_padded[:, :, 1:].view_as(x) + + if zero_triu: + ones = torch.ones((x.size(2), x.size(3))) + x = x * torch.tril(ones, x.size(3) - x.size(2))[None, None, :, :] + + return x + + def forward(self, query, key, value, pos_emb, mask): + """Compute 'Scaled Dot Product Attention' with rel. positional encoding. + Args: + query (torch.Tensor): Query tensor (#batch, time1, size). + key (torch.Tensor): Key tensor (#batch, time2, size). + value (torch.Tensor): Value tensor (#batch, time2, size). + pos_emb (torch.Tensor): Positional embedding tensor (#batch, time2, size). + mask (torch.Tensor): Mask tensor (#batch, 1, time2) or + (#batch, time1, time2). + Returns: + torch.Tensor: Output tensor (#batch, time1, d_model). + """ + q, k, v = self.forward_qkv(query, key, value) + q = q.transpose(1, 2) # (batch, time1, head, d_k) + + n_batch_pos = pos_emb.size(0) + p = self.linear_pos(pos_emb).view(n_batch_pos, -1, self.h, self.d_k) + p = p.transpose(1, 2) # (batch, head, time1, d_k) + + # (batch, head, time1, d_k) + q_with_bias_u = (q + self.pos_bias_u).transpose(1, 2) + # (batch, head, time1, d_k) + q_with_bias_v = (q + self.pos_bias_v).transpose(1, 2) + + # compute attention score + # first compute matrix a and matrix c + # as described in https://arxiv.org/abs/1901.02860 Section 3.3 + # (batch, head, time1, time2) + matrix_ac = torch.matmul(q_with_bias_u, k.transpose(-2, -1)) + + # compute matrix b and matrix d + # (batch, head, time1, time2) + matrix_bd = torch.matmul(q_with_bias_v, p.transpose(-2, -1)) + matrix_bd = self.rel_shift(matrix_bd) + + scores = (matrix_ac + matrix_bd) / math.sqrt(self.d_k) # (batch, head, time1, time2) + + return self.forward_attention(v, scores, mask) + + +# ---------------------- note transcription positional encoding ---------------------- + + +class PositionalEncoding(torch.nn.Module): + """Positional encoding. + Args: + d_model (int): Embedding dimension. + max_len (int): Maximum input length. + reverse (bool): Whether to reverse the input position. + """ + + def __init__(self, d_model, max_len=5000, reverse=False): + """Construct an PositionalEncoding object.""" + super().__init__() + self.d_model = d_model + self.reverse = reverse + self.xscale = math.sqrt(self.d_model) + self.pe = None + + self.extend_pe(torch.tensor(0.0).expand(1, max_len)) + + def extend_pe(self, x): + """Reset the positional encodings.""" + if self.pe is not None: + if self.pe.size(1) >= x.size(1): + if self.pe.dtype != x.dtype or self.pe.device != x.device: + self.pe = self.pe.to(dtype=x.dtype, device=x.device) + return + pe = torch.zeros(x.size(1), self.d_model) + if self.reverse: + position = torch.arange(x.size(1) - 1, -1, -1.0, dtype=torch.float32).unsqueeze(1) + else: + position = torch.arange(0, x.size(1), dtype=torch.float32).unsqueeze(1) + div_term = torch.exp( + torch.arange(0, self.d_model, 2, dtype=torch.float32) * -(math.log(10000.0) / self.d_model) + ) + pe[:, 0::2] = torch.sin(position * div_term) + pe[:, 1::2] = torch.cos(position * div_term) + pe = pe.unsqueeze(0) + self.pe = pe.to(device=x.device, dtype=x.dtype) + + def forward(self, x: torch.Tensor): + """Add positional encoding. + Args: + x (torch.Tensor): Input tensor (batch, time, `*`). + Returns: + torch.Tensor: Encoded tensor (batch, time, `*`). + """ + self.extend_pe(x) + x = x * self.xscale + self.pe[:, : x.size(1)] + return x + + +class RelPositionalEncoding(PositionalEncoding): + """Relative positional encoding module. + See : Appendix B in https://arxiv.org/abs/1901.02860 + Args: + d_model (int): Embedding dimension. + max_len (int): Maximum input length. + """ + + def __init__(self, d_model, max_len=5000): + super().__init__(d_model, max_len, reverse=True) + + def forward(self, x): + """Compute positional encoding. + Args: + x (torch.Tensor): Input tensor (batch, time, `*`). + Returns: + torch.Tensor: Encoded tensor (batch, time, `*`). + torch.Tensor: Positional embedding tensor (1, time, `*`). + """ + self.extend_pe(x) + x = x * self.xscale + pos_emb = self.pe[:, : x.size(1)] + return x, pos_emb + + +# ---------------------- note transcription conformer layers ---------------------- + + +class ConvolutionModule(nn.Module): + def __init__(self, channels: int, kernel_size: int, activation: nn.Module = nn.ReLU(), bias: bool = True): + super().__init__() + if (kernel_size - 1) % 2 != 0: + raise ValueError("kernel_size should be a odd number for 'SAME' padding") + + self.pointwise_conv1 = nn.Conv1d(channels, 2 * channels, kernel_size=1, bias=bias) + self.depthwise_conv = nn.Conv1d( + channels, channels, kernel_size=kernel_size, padding=(kernel_size - 1) // 2, groups=channels, bias=bias + ) + self.norm = nn.BatchNorm1d(channels) + self.pointwise_conv2 = nn.Conv1d(channels, channels, kernel_size=1, bias=bias) + self.activation = activation + + def forward(self, x): + # (batch, time, channels) -> (batch, channels, time) + x = x.transpose(1, 2) + + x = self.pointwise_conv1(x) + x = nn.functional.glu(x, dim=1) + + x = self.depthwise_conv(x) + x = self.norm(x) + x = self.activation(x) + + x = self.pointwise_conv2(x) + x = x.transpose(1, 2) + return x + + +class MultiLayeredConv1d(nn.Module): + """ + Multi-layered Conv1d that replaces feed-forward in Transformer block. + + Reference: + FastSpeech: Fast, Robust and Controllable Text to Speech + https://arxiv.org/pdf/1905.09263.pdf + """ + + def __init__(self, in_chans, hidden_chans, kernel_size): + super().__init__() + padding = (kernel_size - 1) // 2 + self.w_1 = nn.Conv1d(in_chans, hidden_chans, kernel_size, padding=padding) + self.w_2 = nn.Conv1d(hidden_chans, in_chans, kernel_size, padding=padding) + + def forward(self, x): + """ + Args: + x (torch.Tensor): (batch, time, in_chans) + Returns: + torch.Tensor: (batch, time, in_chans) + """ + # Conv1d expects (batch, channels, time) + x = x.transpose(1, 2) + x = torch.relu(self.w_1(x)) + x = self.w_2(x) + x = x.transpose(1, 2) + return x + + +class Swish(nn.Module): + """Swish activation function.""" + + def forward(self, x): + return x * torch.sigmoid(x) + + +class EncoderLayer(nn.Module): + """ + A single encoder layer: optional macaron FFN, self-attn, conv, FFN, norms. + Args: + size (int): Input dimension. + self_attn (nn.Module): Self-attention module. + feed_forward (nn.Module): Standard feed-forward network. + feed_forward_macaron (nn.Module): Optional, second FFN in macaron structure. + conv_module (nn.Module): Optional, convolution module. + normalize_before (bool): If True, use pre-layer norm. Else, post-layer norm. + concat_after (bool): If True, concat attn in/out, else residual. + """ + + def __init__( + self, + size, + self_attn, + feed_forward, + feed_forward_macaron, + conv_module, + normalize_before=True, + concat_after=False, + ): + super().__init__() + self.size = size + self.self_attn = self_attn + self.feed_forward = feed_forward + self.feed_forward_macaron = feed_forward_macaron + self.conv_module = conv_module + + self.norm_ff = LayerNorm(size) + self.norm_mha = LayerNorm(size) + + self.ff_scale = 0.5 if feed_forward_macaron is not None else 1.0 + self.norm_ff_macaron = LayerNorm(size) if feed_forward_macaron is not None else None + + if conv_module is not None: + self.norm_conv = LayerNorm(size) + self.norm_final = LayerNorm(size) + else: + self.norm_conv = None + self.norm_final = None + + self.normalize_before = normalize_before + self.concat_after = concat_after + if self.concat_after: + self.concat_linear = nn.Linear(2 * size, size) + + def forward(self, x_input, mask, cache=None) -> tuple: + """ + Forward pass for the encoder layer. + + Args: + x_input (Tensor or Tuple): Input tensor of shape (batch, time, size) + or tuple (x, pos_emb) where pos_emb is the positional embedding. + mask (Tensor): Mask tensor of shape (batch, time) or (batch, 1, time). + cache (Tensor, optional): Input cache for streaming (can be None). + + Returns: + Tuple[Tensor, Tensor]: (outputs, mask), where outputs either includes + pos_emb or not, depending on input. + """ + # Unpack possible (x, pos_emb) tuple input + if isinstance(x_input, tuple): + x, pos_emb = x_input + else: + x, pos_emb = x_input, None + + # --- Macaron Feed-Forward (first FFN) --- + if self.feed_forward_macaron is not None: + residual = x + if self.normalize_before: + x = self.norm_ff_macaron(x) + x = residual + self.ff_scale * self.feed_forward_macaron(x) + if not self.normalize_before: + x = self.norm_ff_macaron(x) + + # --- Self-Attention --- + residual = x + if self.normalize_before: + x = self.norm_mha(x) + + # Handle cache for streaming + if cache is not None: + assert cache.shape == (x.shape[0], x.shape[1] - 1, self.size) + x_q = x[:, -1:, :] + residual = residual[:, -1:, :] + mask = mask[:, -1:, :] if mask is not None else None + else: + x_q = x + + # Apply self-attention (with or without positional embeddings) + if pos_emb is not None: + attn_out = self.self_attn(x_q, x, x, pos_emb, mask) + else: + attn_out = self.self_attn(x_q, x, x, mask) + + if self.concat_after: + x = torch.cat((x, attn_out), dim=-1) + x = residual + self.concat_linear(x) + else: + x = residual + attn_out + if not self.normalize_before: + x = self.norm_mha(x) + + # --- Convolution Module --- + if self.conv_module is not None: + residual = x + if self.normalize_before: + x = self.norm_conv(x) + x = residual + self.conv_module(x) + if not self.normalize_before: + x = self.norm_conv(x) + + # --- Feed-Forward (second FFN) --- + residual = x + if self.normalize_before: + x = self.norm_ff(x) + x = residual + self.ff_scale * self.feed_forward(x) + if not self.normalize_before: + x = self.norm_ff(x) + + # --- Final normalization, if present --- + if self.norm_final is not None: + x = self.norm_final(x) + + # --- Append to cache if streaming --- + if cache is not None: + x = torch.cat([cache, x], dim=1) + + # --- Final return, with or without positional embedding --- + if pos_emb is not None: + return (x, pos_emb), mask + else: + return x, mask + + +class ConformerLayers(nn.Module): + def __init__(self, hidden_size, num_layers, kernel_size=9, num_heads=4, use_last_norm=True, save_hidden=False): + super().__init__() + self.use_last_norm = use_last_norm + self.layers = nn.ModuleList() + positionwise_layer = MultiLayeredConv1d + positionwise_layer_args = (hidden_size, hidden_size * 4, 1) + self.pos_embed = RelPositionalEncoding(hidden_size) + self.encoder_layers = nn.ModuleList( + [ + EncoderLayer( + hidden_size, + RelPositionMultiHeadedAttention(num_heads, hidden_size, 0.0), + positionwise_layer(*positionwise_layer_args), + positionwise_layer(*positionwise_layer_args), + ConvolutionModule(hidden_size, kernel_size, Swish()), + ) + for _ in range(num_layers) + ] + ) + if self.use_last_norm: + self.layer_norm = nn.LayerNorm(hidden_size) + else: + self.layer_norm = nn.Linear(hidden_size, hidden_size) + self.save_hidden = save_hidden + if save_hidden: + self.hiddens = [] + + def forward(self, x, padding_mask=None): + """ + + :param x: [B, T, H] + :param padding_mask: [B, T] + :return: [B, T, H] + """ + self.hiddens = [] + nonpadding_mask = x.abs().sum(-1) > 0 + x = self.pos_embed(x) + for layer in self.encoder_layers: + x, mask = layer(x, nonpadding_mask[:, None, :]) + if self.save_hidden: + self.hiddens.append(x[0]) + x = x[0] + x = self.layer_norm(x) * nonpadding_mask.float()[:, :, None] + return x + + +# ---------------------- note transcription backbone layers ---------------------- + + +class UnetDown(nn.Module): + def __init__( + self, + hidden_size, + n_layers, + kernel_size, + down_rates, + channel_multiples=None, + is_btc=True, + constant_channels=False, + ): + super().__init__() + assert n_layers == len(down_rates) # downs, down sample rate + down_rates = [int(i) for i in down_rates] + self.n_layers = n_layers + self.hidden_size = hidden_size + self.is_btc = is_btc + channel_multiples = channel_multiples if channel_multiples is not None else down_rates + self.layers = nn.ModuleList() + self.downs = nn.ModuleList() + in_channels = hidden_size + for i in range(self.n_layers): + out_channels = int(in_channels * channel_multiples[i]) if not constant_channels else in_channels + self.layers.append( + nn.Sequential( + ResidualBlock(in_channels, kernel_size, dilation=1, n=1, c_multiple=1, ln_eps=1e-5), + nn.Conv1d(in_channels, out_channels, kernel_size, padding=(kernel_size - 1) // 2), + ResidualBlock(out_channels, kernel_size, dilation=1, n=1, c_multiple=1, ln_eps=1e-5), + ) + ) + self.downs.append(nn.Sequential(nn.AvgPool1d(down_rates[i]))) + in_channels = out_channels + self.last_norm = LayerNorm(out_channels, dim=1, eps=1e-6) + self.post_net = nn.Conv1d(out_channels, out_channels, kernel_size=kernel_size, padding=kernel_size // 2) + + def forward(self, x, **kwargs): + # x [B, T, C] + if self.is_btc: + x = x.transpose(1, 2) # [B, C, T] + skip_xs = [] + for i in range(self.n_layers): + skip_x = self.layers[i](x) + x = self.downs[i](skip_x) + if self.is_btc: + skip_xs.append(skip_x.transpose(1, 2)) # [B, T, C] + else: + skip_xs.append(skip_x) + x = self.post_net(self.last_norm(x)) + if self.is_btc: + x = x.transpose(1, 2) + return x, skip_xs + + +class UnetMid(nn.Module): + def __init__(self, hidden_size, kernel_size, n_layers=None, in_dims=None, out_dims=None, is_btc=True, net=None): + super().__init__() + in_dims = in_dims if in_dims is not None else hidden_size + out_dims = out_dims if out_dims is not None else hidden_size + self.pre = nn.Conv1d(in_dims, hidden_size, kernel_size, padding=kernel_size // 2) + self.post = nn.Conv1d(hidden_size, out_dims, kernel_size, padding=kernel_size // 2) + self.is_btc = is_btc + if net is not None: + self.net = net + else: + self.net = ConvBlocks( + hidden_size, + out_dims=hidden_size, + dilations=None, + kernel_size=kernel_size, + layers_in_block=2, + c_multiple=2, + post_net_kernel=3, + is_btc=is_btc, + ) + + def forward(self, x, cond=None, **kwargs): + # x [B, T, C] + if self.is_btc: + x = self.pre(x.transpose(1, 2)).transpose(1, 2) + else: + x = self.pre(x) + if cond is None: + cond = 0 + x = self.net(x + cond) + if self.is_btc: + x = self.post(x.transpose(1, 2)).transpose(1, 2) + else: + x = self.post(x) + return x + + +class UnetUp(nn.Module): + def __init__( + self, + hidden_size, + n_layers, + kernel_size, + up_rates, + channel_multiples=None, + is_btc=True, + constant_channels=False, + use_skip_layer=False, + skip_scale=1.0, + ): + super().__init__() + assert n_layers == len(up_rates) # this is reversed in up module, from the output to the interface with middle + up_rates = [int(i) for i in up_rates] + self.n_layers = n_layers + self.hidden_size = hidden_size + self.is_btc = is_btc + self.skip_scale = skip_scale + channel_multiples = channel_multiples if channel_multiples is not None else up_rates + # in_channels = int(np.cumprod(channel_multiples)[-1] * hidden_size) if not constant_channels else hidden_size + self.in_channels_lst = ( + (np.cumprod([1] + channel_multiples) * hidden_size).astype(int) + if not constant_channels + else [hidden_size for _ in range(self.n_layers + 1)] + ) + in_channels = self.in_channels_lst[-1] + self.ups = nn.ModuleList() + self.skip_layers = nn.ModuleList() + self.layers = nn.ModuleList() + for i in range(self.n_layers - 1, -1, -1): + out_channels = self.in_channels_lst[i] if not constant_channels else in_channels + self.ups.append( + nn.Sequential( + nn.ConvTranspose1d( + in_channels, + in_channels, + kernel_size=kernel_size, + stride=up_rates[i], + padding=kernel_size // 2, + output_padding=up_rates[i] - 1, + ), + LayerNorm(in_channels, dim=1, eps=1e-6), + nn.LeakyReLU(), + ) + ) + self.layers.append( + nn.Sequential( + nn.Conv1d(in_channels * 2, out_channels, kernel_size, padding=(kernel_size - 1) // 2), + ResidualBlock(out_channels, kernel_size, dilation=1, n=1, c_multiple=1, ln_eps=1e-5), + ) + ) + if use_skip_layer: + self.skip_layers.append( + ResidualBlock(in_channels, kernel_size, dilation=1, n=1, c_multiple=1, ln_eps=1e-5) + ) + else: + self.skip_layers.append(nn.Identity()) + + in_channels = out_channels + self.out_channels = out_channels + self.last_norm = LayerNorm(out_channels, dim=1, eps=1e-6) + self.post_net = nn.Conv1d(out_channels, out_channels, kernel_size=kernel_size, padding=kernel_size // 2) + + def forward(self, x, skips, **kwargs): + # x [B, T, C] + if self.is_btc: + x = x.transpose(1, 2) # [B, C, T] + for i in range(self.n_layers): + x = self.ups[i](x) + skip_x = ( + skips[self.n_layers - i - 1] if not self.is_btc else skips[self.n_layers - i - 1].transpose(1, 2) + ) # [B, T, C] -> [B, C, T] + skip_x = self.skip_layers[i](skip_x) * self.skip_scale + x = torch.cat((x, skip_x), dim=1) # [B, C, T] + x = self.layers[i](x) + x = self.post_net(self.last_norm(x)) + if self.is_btc: + x = x.transpose(1, 2) + return x + + +class Unet(nn.Module): + def __init__( + self, + hidden_size, + down_layers, + up_layers, + kernel_size, + updown_rates, + mid_layers=None, + channel_multiples=None, + is_btc=True, + constant_channels=False, + mid_net=None, + use_skip_layer=False, + skip_scale=1.0, + ): + super().__init__() + assert len(updown_rates) == down_layers == up_layers, f"{len(updown_rates)}, {down_layers}, {up_layers}" + if channel_multiples is not None: + assert len(channel_multiples) == len(updown_rates) + else: + channel_multiples = updown_rates + self.down = UnetDown( + hidden_size, down_layers, kernel_size, updown_rates, channel_multiples, is_btc, constant_channels + ) + down_out_dims = int(np.cumprod(channel_multiples)[-1] * hidden_size) if not constant_channels else hidden_size + self.mid = UnetMid( + hidden_size, + kernel_size, + mid_layers, + in_dims=down_out_dims, + out_dims=down_out_dims, + is_btc=is_btc, + net=mid_net, + ) + self.up = UnetUp( + hidden_size, + up_layers, + kernel_size, + updown_rates, + channel_multiples, + is_btc, + constant_channels, + use_skip_layer, + skip_scale, + ) + + def forward(self, x, mid_cond=None, **kwargs): + x, skips = self.down(x) + x = self.mid(x, mid_cond) + x = self.up(x, skips) + return x + + +class BackboneNet(nn.Module): + def __init__(self, hparams): + super().__init__() + self.hidden_size = hidden_size = hparams["hidden_size"] + updown_rates = [2, 2, 2] + channel_multiples = [1, 1, 1] + if hparams.get("updown_rates", None) is not None: + updown_rates = [int(i) for i in hparams.get("updown_rates", None).split("-")] + if hparams.get("channel_multiples", None) is not None: + channel_multiples = [float(i) for i in hparams.get("channel_multiples", None).split("-")] + assert len(updown_rates) == len(channel_multiples) + # convs + if hparams.get("bkb_net", "conv") == "conv": + self.net = Unet( + hidden_size, + down_layers=len(updown_rates), + mid_layers=hparams.get("bkb_layers", 12), + up_layers=len(updown_rates), + kernel_size=3, + updown_rates=updown_rates, + channel_multiples=channel_multiples, + is_btc=True, + constant_channels=False, + mid_net=None, + use_skip_layer=hparams.get("unet_skip_layer", False), + ) + # conformer + elif hparams.get("bkb_net", "conv") == "conformer": + mid_net = ConformerLayers( + hidden_size, + num_layers=hparams.get("bkb_layers", 12), + kernel_size=hparams.get("conformer_kernel", 9), + num_heads=4, + ) + self.net = Unet( + hidden_size, + down_layers=len(updown_rates), + up_layers=len(updown_rates), + kernel_size=3, + updown_rates=updown_rates, + channel_multiples=channel_multiples, + is_btc=True, + constant_channels=False, + mid_net=mid_net, + use_skip_layer=hparams.get("unet_skip_layer", False), + ) + + def forward(self, x): + return self.net(x) diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/__init__.py b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/__init__.py new file mode 100644 index 000000000..9e020f61b --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/__init__.py @@ -0,0 +1,7 @@ +"""Preprocess neural network modules for SoulX-Singer.""" + +from .pipeline import SoulXPreprocessPipeline + +__all__ = [ + "SoulXPreprocessPipeline", +] diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/asr.py b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/asr.py new file mode 100644 index 000000000..0752c73f8 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/asr.py @@ -0,0 +1,326 @@ +"""Lyric transcription (Paraformer + Parakeet) for SoulX preprocess.""" + +import os +import re +import tempfile +from pathlib import Path +from typing import Any + +import numpy as np +import soundfile as sf +import torch +import torch.nn as nn +from omegaconf import open_dict +from vllm.logger import init_logger + +from .utils import get_audio_duration + +logger = init_logger(__name__) + + +def _import_funasr_automodel(): + """Import FunASR without shelling out to ffmpeg at module import time.""" + import subprocess + from functools import wraps + + real_check_output = subprocess.check_output + + @wraps(real_check_output) + def _safe_check_output(cmd, *args, **kwargs): + if cmd and Path(str(cmd[0])).name == "ffmpeg": + raise FileNotFoundError("ffmpeg unavailable for FunASR import probe") + return real_check_output(cmd, *args, **kwargs) + + subprocess.check_output = _safe_check_output + try: + from funasr import AutoModel + finally: + subprocess.check_output = real_check_output + return AutoModel + + +def build_words_with_gaps(raw_words, raw_timestamps, audio_duration: float): + words, word_durs = [], [] + prev = 0.0 + for w, t in zip(raw_words, raw_timestamps): + s, e = float(t[0]), float(t[1]) + if s > prev: + words.append("") + word_durs.append(s - prev) + words.append(w) + word_durs.append(e - s) + prev = e + + if audio_duration > prev: + if not words: + words.append("") + word_durs.append(audio_duration) + elif words[-1] != "": + words.append("") + word_durs.append(audio_duration - prev) + else: + word_durs[-1] += audio_duration - prev + return words, word_durs + + +class ParaformerASR(nn.Module): + """Mandarin/Cantonese ASR via FunASR Paraformer.""" + + def __init__(self, model_path: str, device: str): + super().__init__() + from vllm_omni.diffusion.models.soulx_singer.utils import _patch_torchaudio_load + + _patch_torchaudio_load() + AutoModel = _import_funasr_automodel() + self.asr = AutoModel(model=model_path, disable_update=True, device=device) + logger.info("Loaded Paraformer ASR from %s", model_path) + + def _generate(self, source: str) -> tuple[list[str], list[float], float]: + out = self.asr.generate(source, output_timestamp=True)[0] + raw_words = out["text"].replace("@", "").split(" ") + raw_timestamps = [[t[0] / 1000, t[1] / 1000] for t in out["timestamp"]] + duration = float(raw_timestamps[-1][1]) if raw_timestamps else 0.0 + return raw_words, raw_timestamps, duration + + def _maybe_refine_with_sidecar_f0( + self, + wav_path: str, + words: list[str], + word_durs: list[float], + *, + sample_rate: int, + hop_size: int, + ) -> tuple[list[str], list[float]]: + """Match upstream ``_ASRZhModel.process``: refine using ``{wav}_f0.npy`` if present.""" + f0_path = os.path.splitext(wav_path)[0] + "_f0.npy" + if not os.path.isfile(f0_path): + return words, word_durs + f0 = np.load(f0_path) + if f0.size == 0: + return words, word_durs + return refine_word_durs_with_f0( + words, + word_durs, + f0, + sample_rate=sample_rate, + hop_size=hop_size, + ) + + @torch.inference_mode() + def forward(self, audio: str | np.ndarray, sample_rate: int = 16000) -> tuple[list[str], list[float]]: + if isinstance(audio, str): + raw_words, raw_timestamps, _ = self._generate(audio) + audio_duration = get_audio_duration(audio) + words, word_durs = build_words_with_gaps(raw_words, raw_timestamps, audio_duration) + return self._maybe_refine_with_sidecar_f0( + audio, + words, + word_durs, + sample_rate=24000, + hop_size=480, + ) + + waveform = np.asarray(audio, dtype=np.float32).squeeze() + audio_duration = len(waveform) / float(sample_rate) + with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as tmp: + tmp_path = tmp.name + try: + sf.write(tmp_path, waveform, sample_rate) + raw_words, raw_timestamps, _ = self._generate(tmp_path) + words, word_durs = build_words_with_gaps(raw_words, raw_timestamps, audio_duration) + return self._maybe_refine_with_sidecar_f0( + tmp_path, + words, + word_durs, + sample_rate=24000, + hop_size=480, + ) + finally: + Path(tmp_path).unlink(missing_ok=True) + Path(os.path.splitext(tmp_path)[0] + "_f0.npy").unlink(missing_ok=True) + + +def _disable_nemo_cuda_graphs(model) -> None: + decoding_cfg = model.cfg.decoding + with open_dict(decoding_cfg): + if hasattr(decoding_cfg, "greedy") and decoding_cfg.greedy is not None: + decoding_cfg.greedy.use_cuda_graph_decoder = False + if hasattr(decoding_cfg, "beam") and decoding_cfg.beam is not None: + decoding_cfg.beam.allow_cuda_graphs = False + model.change_decoding_strategy(decoding_cfg) + + +class ParakeetASR(nn.Module): + """English ASR via NeMo Parakeet-TDT.""" + + def __init__(self, model_path: str, device: str): + super().__init__() + try: + import nemo.collections.asr as nemo_asr # type: ignore + except Exception as e: # pragma: no cover + raise ImportError( + "NeMo (nemo_toolkit) is required for ASR English but is not available in this Python env." + ) from e + + self.asr = nemo_asr.models.ASRModel.restore_from( + restore_path=model_path, + map_location=device, + ) + self.asr.eval() + _disable_nemo_cuda_graphs(self.asr) + logger.info("Loaded Parakeet ASR from %s", model_path) + + @staticmethod + def _clean_word(word: str) -> str: + return re.sub(r"[\?\.,:]", "", word).strip() + + @staticmethod + def _extract_word_segments(output: Any) -> list[dict[str, Any]]: + ts = getattr(output, "timestamp", None) + if not ts or not isinstance(ts, dict): + return [] + word_ts = ts.get("word") + return word_ts if isinstance(word_ts, list) else [] + + @torch.inference_mode() + def forward(self, audio: str | np.ndarray, sample_rate: int = 16000) -> tuple[list[str], list[float]]: + if isinstance(audio, str): + sources = [audio] + duration = 0.0 + else: + waveform = np.asarray(audio, dtype=np.float32).squeeze() + duration = len(waveform) / float(sample_rate) + with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as tmp: + tmp_path = tmp.name + sf.write(tmp_path, waveform, sample_rate) + sources = [tmp_path] + + try: + outputs = self.asr.transcribe( + sources, + timestamps=True, + batch_size=1, + num_workers=0, + ) + finally: + if not isinstance(audio, str): + Path(sources[0]).unlink(missing_ok=True) + + output = outputs[0] if outputs else None + raw_words: list[str] = [] + raw_timestamps: list[list[float]] = [] + if output is not None: + for w in self._extract_word_segments(output): + s, e = float(w.get("start", 0.0)), float(w.get("end", 0.0)) + word = self._clean_word(str(w.get("word", ""))) + if word: + raw_words.append(word) + raw_timestamps.append([s, e]) + + if raw_timestamps: + duration = max(duration, float(raw_timestamps[-1][1])) + return build_words_with_gaps(raw_words, raw_timestamps, duration) + + +def refine_word_durs_with_f0( + words: list[str], + word_durs: list[float], + f0: np.ndarray, + *, + sample_rate: int = 24000, + hop_size: int = 480, +) -> tuple[list[str], list[float]]: + boundaries = np.cumsum([0, *[int(dur * sample_rate / hop_size) for dur in word_durs]]).tolist() + sil_tolerance = 5 + ext_tolerance = 5 + new_words: list[str] = [] + new_word_durs: list[float] = [] + if words: + new_words.append(words[0]) + new_word_durs.append(word_durs[0]) + + for i in range(1, len(words)): + word = words[i] + if word == "": + start_frame = boundaries[i] + end_frame = boundaries[i + 1] + num_frames = end_frame - start_frame + frame_idx = start_frame + unvoiced_count = 0 + while frame_idx < end_frame: + if f0[frame_idx] <= 1: + unvoiced_count += 1 + if unvoiced_count >= sil_tolerance: + frame_idx -= sil_tolerance - 1 + break + else: + unvoiced_count = 0 + frame_idx += 1 + + voice_frames = frame_idx - start_frame + if voice_frames >= int(num_frames * 0.9): + new_word_durs[-1] += word_durs[i] + elif voice_frames >= ext_tolerance: + dur = voice_frames * hop_size / sample_rate + new_word_durs[-1] += dur + new_words.append("") + new_word_durs.append(word_durs[i] - dur) + else: + new_words.append(word) + new_word_durs.append(word_durs[i]) + else: + new_words.append(word) + new_word_durs.append(word_durs[i]) + return new_words, new_word_durs + + +class LyricModel(nn.Module): + def __init__( + self, + zh_model_path: str, + en_model_path: str, + device: str = "cuda", + *, + target_sr: int = 24000, + hop_size: int = 480, + ): + super().__init__() + self.device_str = device + self.en_model_path = en_model_path + self.target_sr = target_sr + self.hop_size = hop_size + self.zh_asr = ParaformerASR(zh_model_path, device=device) + self.en_asr: nn.Module | None = None + + @torch.inference_mode() + def forward( + self, + audio: str | np.ndarray, + language: str = "Mandarin", + *, + sample_rate: int = 16000, + f0: np.ndarray | None = None, + ) -> tuple[list[str], list[float]]: + if language not in {"Mandarin", "Cantonese", "English"}: + raise ValueError(f"Unsupported language: {language}") + + if language.lower() == "english": + if self.en_asr is None: + self.en_asr = ParakeetASR(self.en_model_path, device=self.device_str) + self.add_module("en_asr", self.en_asr) + words, durs = self.en_asr(audio, sample_rate=sample_rate) + else: + # Path-based ASR loads ``{wav}_f0.npy`` inside ParaformerASR (upstream parity). + if isinstance(audio, str): + words, durs = self.zh_asr(audio) + else: + words, durs = self.zh_asr(audio, sample_rate=sample_rate) + if f0 is not None and len(f0) > 0: + words, durs = refine_word_durs_with_f0( + words, + durs, + f0, + sample_rate=self.target_sr, + hop_size=self.hop_size, + ) + return words, durs diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/mel_grid_f0.py b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/mel_grid_f0.py new file mode 100644 index 000000000..825c1622f --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/mel_grid_f0.py @@ -0,0 +1,96 @@ +"""Resample RMVPE F0 (16 kHz hop) onto the SoulX mel frame grid.""" + +from __future__ import annotations + +import math +import time +from typing import TYPE_CHECKING + +import numpy as np +from scipy.interpolate import interp1d +from vllm.logger import init_logger + +from .rmvpe import RMVPE_SAMPLE_RATE +from .utils import load_mono_audio + +if TYPE_CHECKING: + from .rmvpe import RMVPE + +logger = init_logger(__name__) + +RMVPE_HOP = 160 + + +def interpolate_f0_to_mel_grid( + f0_16k: np.ndarray, + original_length: int, + original_sr: int, + *, + target_sr: int, + hop_size: int, + max_duration: float = 300.0, +) -> np.ndarray: + batch_max_length = int(max_duration * target_sr / hop_size) + duration_in_seconds = original_length / original_sr + effective_target_length = int(duration_in_seconds * target_sr) + original_frames = math.ceil(effective_target_length / hop_size) + target_frames = min(original_frames, batch_max_length) + + t_16k = np.arange(len(f0_16k)) * (RMVPE_HOP / float(original_sr)) + t_target = np.arange(target_frames) * (hop_size / float(target_sr)) + + if len(f0_16k) > 0: + f_interp = interp1d( + t_16k, + f0_16k, + kind="linear", + bounds_error=False, + fill_value=0.0, + assume_sorted=True, + ) + f0 = f_interp(t_target) + else: + f0 = np.zeros(target_frames) + + if len(f0) != target_frames: + f0 = f0[:target_frames] if len(f0) > target_frames else np.pad(f0, (0, target_frames - len(f0))) + return f0.astype(np.float32, copy=False) + + +def extract_f0_file( + rmvpe: RMVPE, + wav_path: str, + *, + target_sr: int, + hop_size: int, + f0_path: str | None = None, + thread: float = 0.03, + max_duration: float = 300.0, + verbose: bool = False, +) -> np.ndarray: + if verbose: + logger.info("[f0] extracting from %s", wav_path) + t0 = time.perf_counter() + + audio, _ = load_mono_audio(wav_path, target_sr=RMVPE_SAMPLE_RATE) + f0_16k = rmvpe.infer_from_audio(audio, sample_rate=RMVPE_SAMPLE_RATE) + f0 = interpolate_f0_to_mel_grid( + np.asarray(f0_16k, dtype=np.float32), + original_length=audio.shape[-1], + original_sr=RMVPE_SAMPLE_RATE, + target_sr=target_sr, + hop_size=hop_size, + max_duration=max_duration, + ) + + if verbose: + voiced_ratio = float(np.mean(f0 > 0)) if len(f0) else 0.0 + logger.info( + "[f0] done: frames=%s voiced_ratio=%.3f time=%.3fs", + len(f0), + voiced_ratio, + time.perf_counter() - t0, + ) + if f0_path is not None: + np.save(f0_path, f0) + return f0 diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/pipeline.py b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/pipeline.py new file mode 100644 index 000000000..aed72a995 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/pipeline.py @@ -0,0 +1,431 @@ +"""SoulX preprocess pipeline.""" + +from __future__ import annotations + +import json +import tempfile +from collections.abc import Iterable +from pathlib import Path +from typing import Any, ClassVar + +import numpy as np +import soundfile as sf +import torch +import torch.nn as nn +from vllm.logger import init_logger + +from vllm_omni.diffusion.data import DiffusionOutput, OmniDiffusionConfig +from vllm_omni.diffusion.distributed.utils import get_local_device +from vllm_omni.diffusion.models.interface import SupportAudioInput, SupportsComponentDiscovery +from vllm_omni.diffusion.models.soulx_singer.modules.preprocess.stack import SoulXPreprocessStack +from vllm_omni.diffusion.models.soulx_singer.modules.preprocess.utils import load_mono_audio, resample_mono +from vllm_omni.diffusion.models.soulx_singer.preprocess.metadata_utils import ( + SegmentMetadata, + _merge_group, + convert_metadata, +) +from vllm_omni.diffusion.models.soulx_singer.utils import ( + load_config, + load_wav, + preprocess_weight_paths, + resolve_preprocess_weights_root, + resolve_soulx_kind, +) + +logger = init_logger(__name__) + + +def build_svs_prompt_meta( + preprocess: SoulXPreprocessPipeline, + *, + prompt_audio: str | tuple[np.ndarray, int], + prompt_meta_raw: dict[str, Any], + metadata_processor, + vocal_sep: bool | None = None, +) -> dict[str, Any]: + """Build SVS prompt_meta; in-memory prompt wav is trimmed to mel2note length.""" + if isinstance(prompt_audio, str): + return metadata_processor.process(prompt_meta_raw, prompt_audio) + prompt_meta = metadata_processor.process(prompt_meta_raw, None) + prompt_vocal, prompt_sr = preprocess._extract_vocal(prompt_audio, vocal_sep=vocal_sep) + if prompt_sr != metadata_processor.sample_rate: + prompt_vocal = resample_mono( + prompt_vocal, + orig_sr=prompt_sr, + target_sr=metadata_processor.sample_rate, + ) + max_samples = prompt_meta["mel2note"].shape[1] * metadata_processor.hop_size + segment_wav = np.asarray(prompt_vocal[:max_samples], dtype=np.float32) + prompt_meta["wav"] = torch.from_numpy(segment_wav).unsqueeze(0).float().to(metadata_processor.device) + return prompt_meta + + +class SoulXPreprocessPipeline(nn.Module, SupportAudioInput, SupportsComponentDiscovery): + """Lazy-loaded preprocess stack integrated with vLLM-Omni diffusion lifecycle.""" + + support_audio_input: ClassVar[bool] = True + weights_sources: ClassVar[tuple] = () + _dit_modules: ClassVar[list[str]] = [] + _encoder_modules: ClassVar[list[str]] = [ + "stack.vocal_sep", + "stack.lyric", + "stack.rosvot", + ] + _vae_modules: ClassVar[list[str]] = [] + _resident_modules: ClassVar[list[str]] = ["stack.rmvpe"] + + def __init__( + self, + *, + od_config: OmniDiffusionConfig, + prefix: str = "", + vocal_sep: bool = True, + midi_transcribe: bool = True, + max_merge_duration_ms: int = 60000, + verbose: bool = False, + extra_args: dict[str, Any] | None = None, + ) -> None: + super().__init__() + del prefix + self.od_config = od_config + extra_args = extra_args or {} + self.kind = resolve_soulx_kind(od_config.model) + hf_config = load_config(str(Path(od_config.model) / "config.yaml")) + audio_config = hf_config.audio + if self.kind == "svc" and midi_transcribe: + logger.warning("SVC model (config.json): midi_transcribe is ignored; lyric/MIDI transcription is SVS-only.") + midi_transcribe = False + + self.vocal_sep = vocal_sep + self.midi_transcribe = midi_transcribe + self.max_merge_duration_ms = max_merge_duration_ms + self.verbose = verbose + self.target_sr = int(audio_config.sample_rate) + self.hop_size = int(audio_config.hop_size) + self._metadata_processor = None + self._weights_root: Path | None = None + self.stack: SoulXPreprocessStack | None = None + self._ensure_stack(extra_args) + + def _ensure_stack(self, extra_args: dict[str, Any] | None = None) -> None: + extra_args = extra_args or {} + weights_root = resolve_preprocess_weights_root(self.od_config) + if self.stack is not None and self._weights_root == weights_root: + return + weights = preprocess_weight_paths(weights_root) + device = str(get_local_device()) + self.stack = SoulXPreprocessStack( + weights, + device, + target_sr=self.target_sr, + hop_size=self.hop_size, + verbose=self.verbose, + ) + self._weights_root = weights_root + + def forward(self, req) -> DiffusionOutput: + from vllm_omni.diffusion.models.soulx_singer.preprocess.payload import ( + SOULX_PREPROCESSED_KEY, + ) + from vllm_omni.diffusion.models.soulx_singer.preprocess.pre_process import ( + build_metadata_processor, + build_preprocess_payload, + build_warmup_payload, + is_warmup_request, + ) + from vllm_omni.inputs.data import OmniTextPrompt + + extra_args = dict(getattr(req.sampling_params, "extra_args", None) or {}) + prompt = OmniTextPrompt(prompt=req.prompts[0]) if isinstance(req.prompts[0], str) else req.prompts[0] + info = prompt.get("additional_information") or {} + if isinstance(info, dict): + extra_args.update(dict(info.get("extra_args") or {})) + + self._ensure_stack(extra_args) + if self._metadata_processor is None: + self._metadata_processor = build_metadata_processor(self.od_config) + + device = get_local_device() + if is_warmup_request(req): + payload = build_warmup_payload( + self.kind, + metadata_processor=self._metadata_processor, + device=device, + sample_rate=self.target_sr, + ) + else: + payload = build_preprocess_payload( + self.kind, + prompt=prompt, + extra_args=extra_args, + preprocess=self, + metadata_processor=self._metadata_processor, + device=device, + sample_rate=self.target_sr, + ) + + # Non-None placeholder so DiffusionEngine forwards custom_output to stage-1 + # (output=None triggers an early return that drops handoff). + return DiffusionOutput( + output=torch.zeros(0), + custom_output={SOULX_PREPROCESSED_KEY: payload}, + to_cpu=True, + ) + + def load_weights(self, weights: Iterable[tuple[str, torch.Tensor]]) -> set[str]: + del weights + self._ensure_stack({}) + return set() + + def _extract_vocal( + self, + audio: str | tuple[np.ndarray, int], + *, + vocal_sep: bool | None = None, + ) -> tuple[np.ndarray, int]: + if self.stack is None: + self._ensure_stack({}) + use_sep = self.vocal_sep if vocal_sep is None else vocal_sep + if use_sep: + return self.stack.extract_vocal(audio) + return load_mono_audio(audio) + + def extract_f0(self, vocal: np.ndarray, sample_rate: int) -> np.ndarray: + if self.stack is None: + self._ensure_stack({}) + return self.stack.extract_f0(vocal, sample_rate) + + def iter_svs_metadata( + self, + audio_source: str | tuple[np.ndarray, int], + *, + language: str = "Mandarin", + vocal_sep: bool | None = None, + max_merge_duration_ms: int | None = None, + ): + """Yield merged SVS metadata dicts one segment at a time.""" + if isinstance(audio_source, tuple): + vocal, sample_rate = audio_source + origin_wav_fn = "" + else: + vocal, sample_rate = self._extract_vocal(str(audio_source), vocal_sep=vocal_sep) + origin_wav_fn = str(audio_source) + + with tempfile.TemporaryDirectory(prefix="soulx_preprocess_") as work_dir: + work = Path(work_dir) + vocal_path = work / "vocal.wav" + sf.write(vocal_path, vocal, sample_rate) + + vocal_f0_path = str(vocal_path).replace(".wav", "_f0.npy") + vocal_f0 = self.stack.extract_f0(str(vocal_path), sample_rate=sample_rate, f0_path=vocal_f0_path) + + if not self.midi_transcribe: + end_ms = int(len(vocal) / sample_rate * 1000) + item = SegmentMetadata( + item_name="full", + wav_fn=str(vocal_path), + language=language, + start_time_ms=0, + end_time_ms=end_ms, + note_text=[""], + note_dur=[end_ms / 1000.0], + note_pitch=[0], + note_type=[1], + ) + yield convert_metadata(item) + return + + segments = self.stack.ensure_segmenter().forward( + vocal, + sample_rate, + vocal_f0, + base_name="vocal", + origin_wav_fn=origin_wav_fn, + verbose=self.verbose, + ) + cut_dir = work / "cut_wavs" + cut_dir.mkdir(parents=True, exist_ok=True) + lyric = self.stack.ensure_lyric() + rosvot = self.stack.ensure_rosvot() + + long_cut_dir = work / "long_cut_wavs" + max_dur = max_merge_duration_ms or self.max_merge_duration_ms + max_gap_ms = 10000 + current_group: list[Any] = [] + current_len = 0 + prev_end = -1 + + def _flush_group() -> dict[str, Any]: + merged_item = _merge_group(vocal, sample_rate, current_group, long_cut_dir) + merged_f0_path = merged_item.wav_fn.replace(".wav", "_f0.npy") + self.stack.extract_f0(merged_item.wav_fn, sample_rate=sample_rate, f0_path=merged_f0_path) + return convert_metadata(merged_item) + + for seg in segments: + seg_key = seg["item_name"] + seg_wav_path = cut_dir / f"{seg_key}.wav" + sf.write(seg_wav_path, seg["wav"], seg["sample_rate"]) + seg_f0_path = str(seg_wav_path).replace(".wav", "_f0.npy") + self.stack.extract_f0(str(seg_wav_path), sample_rate=seg["sample_rate"], f0_path=seg_f0_path) + + words, durs = lyric.forward( + str(seg_wav_path), + language, + sample_rate=seg["sample_rate"], + ) + seg_item = { + "item_name": seg_key, + "wav_fn": str(seg_wav_path), + "start_time_ms": seg["start_time_ms"], + "end_time_ms": seg["end_time_ms"], + "origin_wav_fn": origin_wav_fn or str(vocal_path), + "words": words, + "word_durs": durs, + "language": language, + } + meta_item = rosvot.transcribe(seg_item, segment_info=seg_item, verbose=self.verbose) + + start_time = int(meta_item.get("start_time_ms", seg["start_time_ms"])) + end_time = int(meta_item.get("end_time_ms", seg["end_time_ms"])) + if current_group and ( + start_time - prev_end > max_gap_ms or current_len + end_time - start_time > max_dur + ): + yield _flush_group() + current_group = [] + current_len = 0 + + current_group.append(meta_item) + current_len += end_time - start_time + prev_end = end_time + + if current_group: + yield _flush_group() + + @staticmethod + def build_svs_payload_from_paths( + *, + prompt_metadata_path: str, + target_metadata_path: str, + audio_path: str, + metadata_processor, + ) -> dict[str, Any]: + with open(prompt_metadata_path, encoding="utf-8") as f: + prompt_metadata = json.load(f) + with open(target_metadata_path, encoding="utf-8") as f: + target_metadata = json.load(f) + if not prompt_metadata: + raise ValueError("prompt_metadata is empty") + if not target_metadata: + raise ValueError("target_metadata is empty") + + prompt_meta = metadata_processor.process(prompt_metadata[0], audio_path) + return { + "kind": "svs", + "prompt_meta": prompt_meta, + "target_meta_list": target_metadata, + } + + def build_svs_payload_from_audio( + self, + *, + prompt_audio: str | tuple[np.ndarray, int], + target_audio: str | tuple[np.ndarray, int], + metadata_processor, + language: str = "Mandarin", + vocal_sep: bool | None = None, + prompt_vocal_sep: bool | None = None, + target_vocal_sep: bool | None = None, + prompt_max_merge_duration_ms: int | None = None, + target_max_merge_duration_ms: int | None = None, + ) -> dict[str, Any]: + p_sep = prompt_vocal_sep if prompt_vocal_sep is not None else vocal_sep + t_sep = target_vocal_sep if target_vocal_sep is not None else vocal_sep + p_merge = ( + prompt_max_merge_duration_ms if prompt_max_merge_duration_ms is not None else self.max_merge_duration_ms + ) + t_merge = ( + target_max_merge_duration_ms if target_max_merge_duration_ms is not None else self.max_merge_duration_ms + ) + prompt_list = list( + self.iter_svs_metadata( + prompt_audio, + language=language, + vocal_sep=p_sep, + max_merge_duration_ms=p_merge, + ) + ) + target_list = list( + self.iter_svs_metadata( + target_audio, + language=language, + vocal_sep=t_sep, + max_merge_duration_ms=t_merge, + ) + ) + if not prompt_list or not target_list: + raise ValueError("SVS preprocess produced empty metadata") + + # Prompt wav is trimmed to mel2note length, not the metadata time window. + prompt_meta = build_svs_prompt_meta( + self, + prompt_audio=prompt_audio, + prompt_meta_raw=prompt_list[0], + metadata_processor=metadata_processor, + vocal_sep=vocal_sep, + ) + + return { + "kind": "svs", + "prompt_meta": prompt_meta, + "target_meta_list": target_list, + } + + @staticmethod + def build_svc_payload_from_paths( + *, + prompt_wav_path: str, + target_wav_path: str, + prompt_f0_path: str, + target_f0_path: str, + sample_rate: int, + device: torch.device | str, + ) -> dict[str, Any]: + prompt_wav = load_wav(prompt_wav_path, sample_rate).to(device) + target_wav = load_wav(target_wav_path, sample_rate).to(device) + prompt_f0 = torch.from_numpy(np.load(prompt_f0_path)).unsqueeze(0).to(device) + target_f0 = torch.from_numpy(np.load(target_f0_path)).unsqueeze(0).to(device) + return { + "kind": "svc", + "prompt_wav": prompt_wav, + "target_wav": target_wav, + "prompt_f0": prompt_f0, + "target_f0": target_f0, + } + + def build_svc_payload_from_audio( + self, + *, + prompt_audio: str | tuple[np.ndarray, int], + target_audio: str | tuple[np.ndarray, int], + sample_rate: int, + device: torch.device | str, + vocal_sep: bool | None = None, + ) -> dict[str, Any]: + prompt_vocal, prompt_sr = self._extract_vocal(prompt_audio, vocal_sep=vocal_sep) + target_vocal, target_sr = self._extract_vocal(target_audio, vocal_sep=vocal_sep) + + if prompt_sr != sample_rate: + prompt_vocal = resample_mono(prompt_vocal, orig_sr=prompt_sr, target_sr=sample_rate) + if target_sr != sample_rate: + target_vocal = resample_mono(target_vocal, orig_sr=target_sr, target_sr=sample_rate) + + prompt_f0 = self.extract_f0(prompt_vocal, sample_rate) + target_f0 = self.extract_f0(target_vocal, sample_rate) + + return { + "kind": "svc", + "prompt_wav": torch.from_numpy(prompt_vocal).unsqueeze(0).to(device), + "target_wav": torch.from_numpy(target_vocal).unsqueeze(0).to(device), + "prompt_f0": torch.from_numpy(prompt_f0).unsqueeze(0).to(device), + "target_f0": torch.from_numpy(target_f0).unsqueeze(0).to(device), + } diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/rmvpe.py b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/rmvpe.py new file mode 100644 index 000000000..50ae4b2fc --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/rmvpe.py @@ -0,0 +1,593 @@ +"""RMVPE F0 extractor. + +All model code is inlined (originally from RickyL-2000/ROSVOT +``modules/pe/rmvpe/``) with two minor substitutions: + +* ``librosa.filters.mel`` → ``torchaudio.functional.melscale_fbanks`` + (already used elsewhere in vllm-omni); +* ``librosa.sequence.viterbi`` → hand-written numpy viterbi (non-default path). +* ``pyworld`` (deprecated) → removed. +""" + +from __future__ import annotations + +import math +from typing import ClassVar + +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F +from torchaudio.functional import melscale_fbanks +from torchaudio.transforms import Resample +from vllm.logger import init_logger + +from vllm_omni.diffusion.models.interface import SupportAudioInput, SupportsComponentDiscovery + +logger = init_logger(__name__) + +RMVPE_SAMPLE_RATE = 16000 +_N_CLASS = 360 +_N_MELS = 128 +_MEL_FMIN = 30 +_MEL_FMAX = 8000 +_WINDOW_LENGTH = 1024 +_CONST = 1997.3794084376191 + + +class ConvBlockRes(nn.Module): + def __init__(self, in_channels: int, out_channels: int, momentum: float = 0.01): + super().__init__() + self.conv = nn.Sequential( + nn.Conv2d(in_channels, out_channels, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False), + nn.BatchNorm2d(out_channels, momentum=momentum), + nn.ReLU(), + nn.Conv2d(out_channels, out_channels, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False), + nn.BatchNorm2d(out_channels, momentum=momentum), + nn.ReLU(), + ) + if in_channels != out_channels: + self.shortcut = nn.Conv2d(in_channels, out_channels, (1, 1)) + self._has_shortcut = True + else: + self._has_shortcut = False + + def forward(self, x: torch.Tensor) -> torch.Tensor: + if self._has_shortcut: + return self.conv(x) + self.shortcut(x) + return self.conv(x) + x + + +class ResEncoderBlock(nn.Module): + def __init__(self, in_channels: int, out_channels: int, kernel_size, n_blocks: int = 1, momentum: float = 0.01): + super().__init__() + self.n_blocks = n_blocks + self.conv = nn.ModuleList() + self.conv.append(ConvBlockRes(in_channels, out_channels, momentum)) + for _ in range(n_blocks - 1): + self.conv.append(ConvBlockRes(out_channels, out_channels, momentum)) + self.kernel_size = kernel_size + if self.kernel_size is not None: + self.pool = nn.AvgPool2d(kernel_size=kernel_size) + + def forward(self, x: torch.Tensor) -> torch.Tensor | tuple[torch.Tensor, torch.Tensor]: + for i in range(self.n_blocks): + x = self.conv[i](x) + if self.kernel_size is not None: + return x, self.pool(x) + return x + + +class ResDecoderBlock(nn.Module): + def __init__(self, in_channels: int, out_channels: int, stride, n_blocks: int = 1, momentum: float = 0.01): + super().__init__() + out_padding = (0, 1) if stride == (1, 2) else (1, 1) + self.n_blocks = n_blocks + self.conv1 = nn.Sequential( + nn.ConvTranspose2d( + in_channels, + out_channels, + kernel_size=(3, 3), + stride=stride, + padding=(1, 1), + output_padding=out_padding, + bias=False, + ), + nn.BatchNorm2d(out_channels, momentum=momentum), + nn.ReLU(), + ) + self.conv2 = nn.ModuleList() + self.conv2.append(ConvBlockRes(out_channels * 2, out_channels, momentum)) + for _ in range(n_blocks - 1): + self.conv2.append(ConvBlockRes(out_channels, out_channels, momentum)) + + def forward(self, x: torch.Tensor, concat_tensor: torch.Tensor) -> torch.Tensor: + x = self.conv1(x) + x = torch.cat((x, concat_tensor), dim=1) + for i in range(self.n_blocks): + x = self.conv2[i](x) + return x + + +class Encoder(nn.Module): + def __init__( + self, + in_channels: int, + in_size: int, + n_encoders: int, + kernel_size, + n_blocks: int, + out_channels: int = 16, + momentum: float = 0.01, + ): + super().__init__() + self.n_encoders = n_encoders + self.bn = nn.BatchNorm2d(in_channels, momentum=momentum) + self.layers = nn.ModuleList() + self.latent_channels: list[list[int]] = [] + for _ in range(self.n_encoders): + self.layers.append(ResEncoderBlock(in_channels, out_channels, kernel_size, n_blocks, momentum=momentum)) + self.latent_channels.append([out_channels, in_size]) + in_channels = out_channels + out_channels *= 2 + in_size //= 2 + self.out_size = in_size + self.out_channel = out_channels + + def forward(self, x: torch.Tensor) -> tuple[torch.Tensor, list[torch.Tensor]]: + concat_tensors: list[torch.Tensor] = [] + x = self.bn(x) + for i in range(self.n_encoders): + _c, x = self.layers[i](x) + concat_tensors.append(_c) + return x, concat_tensors + + +class Intermediate(nn.Module): + def __init__(self, in_channels: int, out_channels: int, n_inters: int, n_blocks: int, momentum: float = 0.01): + super().__init__() + self.n_inters = n_inters + self.layers = nn.ModuleList() + self.layers.append(ResEncoderBlock(in_channels, out_channels, None, n_blocks, momentum)) + for _ in range(n_inters - 1): + self.layers.append(ResEncoderBlock(out_channels, out_channels, None, n_blocks, momentum)) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + for i in range(self.n_inters): + x = self.layers[i](x) + return x + + +class Decoder(nn.Module): + def __init__(self, in_channels: int, n_decoders: int, stride, n_blocks: int, momentum: float = 0.01): + super().__init__() + self.layers = nn.ModuleList() + self.n_decoders = n_decoders + for _ in range(self.n_decoders): + out_channels = in_channels // 2 + self.layers.append(ResDecoderBlock(in_channels, out_channels, stride, n_blocks, momentum)) + in_channels = out_channels + + def forward(self, x: torch.Tensor, concat_tensors: list[torch.Tensor]) -> torch.Tensor: + for i in range(self.n_decoders): + x = self.layers[i](x, concat_tensors[-1 - i]) + return x + + +class TimbreFilter(nn.Module): + def __init__(self, latent_rep_channels: list[list[int]]): + super().__init__() + self.layers = nn.ModuleList() + for ch in latent_rep_channels: + self.layers.append(ConvBlockRes(ch[0], ch[0])) + + def forward(self, x_tensors: list[torch.Tensor]) -> list[torch.Tensor]: + return [layer(t) for layer, t in zip(self.layers, x_tensors)] + + +class DeepUnet0(nn.Module): + def __init__( + self, + kernel_size, + n_blocks: int, + en_de_layers: int = 5, + inter_layers: int = 4, + in_channels: int = 1, + en_out_channels: int = 16, + ): + super().__init__() + self.encoder = Encoder(in_channels, _N_MELS, en_de_layers, kernel_size, n_blocks, en_out_channels) + self.intermediate = Intermediate( + self.encoder.out_channel // 2, self.encoder.out_channel, inter_layers, n_blocks + ) + self.tf = TimbreFilter(self.encoder.latent_channels) + self.decoder = Decoder(self.encoder.out_channel, en_de_layers, kernel_size, n_blocks) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + x, concat_tensors = self.encoder(x) + x = self.intermediate(x) + x = self.decoder(x, concat_tensors) + return x + + +class BiGRU(nn.Module): + def __init__(self, input_features: int, hidden_features: int, num_layers: int): + super().__init__() + self.gru = nn.GRU(input_features, hidden_features, num_layers=num_layers, batch_first=True, bidirectional=True) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + return self.gru(x)[0] + + +class E2E0(nn.Module): + """E2E0 pitch estimator network (DeepUnet0 + CNN + BiGRU + classifier).""" + + def __init__( + self, + n_blocks: int, + n_gru: int, + kernel_size, + en_de_layers: int = 5, + inter_layers: int = 4, + in_channels: int = 1, + en_out_channels: int = 16, + ): + super().__init__() + self.unet = DeepUnet0(kernel_size, n_blocks, en_de_layers, inter_layers, in_channels, en_out_channels) + self.cnn = nn.Conv2d(en_out_channels, 3, (3, 3), padding=(1, 1)) + if n_gru: + self.fc = nn.Sequential( + BiGRU(3 * _N_MELS, 256, n_gru), + nn.Linear(512, _N_CLASS), + nn.Dropout(0.25), + nn.Sigmoid(), + ) + else: + self.fc = nn.Sequential( + nn.Linear(3 * _N_MELS, _N_CLASS), + nn.Dropout(0.25), + nn.Sigmoid(), + ) + + def forward(self, mel: torch.Tensor) -> torch.Tensor: + mel = mel.transpose(-1, -2).unsqueeze(1) + x = self.cnn(self.unet(mel)).transpose(1, 2).flatten(-2) + x = self.fc(x) + return x + + +class MelSpectrogram(nn.Module): + """Mel-spectrogram extractor matching ROSVOT's MelSpectrogram. + + Log-mel spectrogram via torch.stft + adaptive filterbank. + """ + + def __init__( + self, + n_mel_channels: int = _N_MELS, + sampling_rate: int = RMVPE_SAMPLE_RATE, + win_length: int = _WINDOW_LENGTH, + hop_length: int = 160, + n_fft: int | None = None, + mel_fmin: float = _MEL_FMIN, + mel_fmax: float = _MEL_FMAX, + clamp: float = 1e-5, + ): + super().__init__() + n_fft = win_length if n_fft is None else n_fft + self.hann_window: dict[str, torch.Tensor] = {} + mel_basis = melscale_fbanks( + n_freqs=n_fft // 2 + 1, + f_min=float(mel_fmin), + f_max=float(mel_fmax) if mel_fmax is not None else 8000.0, + n_mels=n_mel_channels, + sample_rate=int(sampling_rate), + norm="slaney", + mel_scale="htk", + ).T # (n_freqs, n_mels) → (n_mels, n_freqs) to match librosa/layernorm convention + self.register_buffer("mel_basis", mel_basis) # (n_mels, n_freqs) + self.n_fft = n_fft + self.hop_length = hop_length + self.win_length = win_length + self.sampling_rate = sampling_rate + self.n_mel_channels = n_mel_channels + self.clamp = clamp + + def forward(self, audio: torch.Tensor, keyshift: float = 0, speed: float = 1, center: bool = True) -> torch.Tensor: + factor = 2 ** (keyshift / 12) + n_fft_new = int(np.round(self.n_fft * factor)) + win_length_new = int(np.round(self.win_length * factor)) + hop_length_new = int(np.round(self.hop_length * speed)) + + key = str(keyshift) + "_" + str(audio.device) + if key not in self.hann_window: + self.hann_window[key] = torch.hann_window(win_length_new).to(audio.device) + + if center: + pad_left = win_length_new // 2 + pad_right = (win_length_new + 1) // 2 + audio = F.pad(audio, (pad_left, pad_right)) + + fft = torch.stft( + audio, + n_fft=n_fft_new, + hop_length=hop_length_new, + win_length=win_length_new, + window=self.hann_window[key], + center=False, + return_complex=True, + ) + magnitude = fft.abs() + + if keyshift != 0: + size = self.n_fft // 2 + 1 + if magnitude.size(1) < size: + magnitude = F.pad(magnitude, (0, 0, 0, size - magnitude.size(1))) + magnitude = magnitude[:, :size, :] * self.win_length / win_length_new + + # register_buffer confuses type checkers; cast to Tensor explicitly + mel_basis: torch.Tensor = self.mel_basis # type: ignore[assignment] + mel_output = torch.matmul(mel_basis, magnitude) + log_mel = torch.log(torch.clamp(mel_output, min=self.clamp)) + return log_mel + + +def to_local_average_f0(hidden: torch.Tensor, center: torch.Tensor | None = None, thread: float = 0.03) -> np.ndarray: + """Decode hidden representation to F0 via local weighted average.""" + idx = torch.arange(_N_CLASS, device=hidden.device)[None, None, :] + idx_cents = idx * 20 + _CONST + if center is None: + center = torch.argmax(hidden, dim=2, keepdim=True) + start = torch.clip(center - 4, min=0) + end = torch.clip(center + 5, max=_N_CLASS) + idx_mask = (idx >= start) & (idx < end) + weights = hidden * idx_mask + product_sum = torch.sum(weights * idx_cents, dim=2) + weight_sum = torch.sum(weights, dim=2) + cents = product_sum / (weight_sum + (weight_sum == 0)) + f0 = 10 * 2 ** (cents / 1200) + uv = hidden.max(dim=2)[0] < thread + f0 = f0 * ~uv + return f0.cpu().numpy() + + +def numpy_viterbi(prob: np.ndarray, transition: np.ndarray) -> np.ndarray: + """Viterbi decoding on log-probabilities (numpy). + + Args: + prob: Emission probabilities, shape (n_states, n_obs). + transition: Transition matrix, shape (n_states, n_states), row-stochastic. + + Returns: + path: Most likely state sequence, shape (n_obs,). + """ + n_states, n_obs = prob.shape + log_emit = np.log(prob + 1e-12) + log_trans = np.log(transition + 1e-12) + + delta = log_emit[:, 0] + np.zeros(n_states) # initial: log(pi) omitted (uniform) + psi = np.zeros((n_obs, n_states), dtype=np.int64) + + for t in range(1, n_obs): + scores = delta[:, None] + log_trans # (n_states, n_states) + psi[t] = np.argmax(scores, axis=0) + delta = scores[psi[t], np.arange(n_states)] + log_emit[:, t] + + # Backtrack + path = np.zeros(n_obs, dtype=np.int64) + path[-1] = np.argmax(delta) + for t in range(n_obs - 2, -1, -1): + path[t] = psi[t + 1, path[t + 1]] + return path + + +def to_viterbi_f0(hidden: torch.Tensor, thread: float = 0.03) -> np.ndarray: + """Decode hidden representation to F0 via Viterbi. + + Uses a hand-written numpy Viterbi decoder (replacing + ``librosa.sequence.viterbi``) to avoid the librosa dependency. + """ + if not hasattr(to_viterbi_f0, "_transition"): + xx, yy = np.meshgrid(range(_N_CLASS), range(_N_CLASS)) + transition = np.maximum(30 - abs(xx - yy), 0) + transition = transition / transition.sum(axis=1, keepdims=True) + to_viterbi_f0._transition = transition # type: ignore[attr-defined] + + prob = hidden.squeeze(0).cpu().numpy() + prob = prob.T + prob = prob / prob.sum(axis=0, keepdims=True) + + path = numpy_viterbi(prob, to_viterbi_f0._transition) # type: ignore[attr-defined] + center = torch.from_numpy(path).unsqueeze(0).unsqueeze(-1).to(hidden.device) + return to_local_average_f0(hidden, center=center, thread=thread) + + +def resample_align_curve( + points: np.ndarray, original_timestep: float, target_timestep: float, align_length: int = -1 +) -> np.ndarray: + """Align a curve from one time grid to another via linear interpolation.""" + t_max = (len(points) - 1) * original_timestep + curve_interp = np.interp( + np.arange(0, t_max, target_timestep), + original_timestep * np.arange(len(points)), + points, + ).astype(points.dtype) + if align_length > 0: + if len(curve_interp) > align_length: + curve_interp = curve_interp[:align_length] + elif len(curve_interp) < align_length: + curve_interp = np.concatenate( + [curve_interp, np.full(align_length - len(curve_interp), fill_value=curve_interp[-1])], + axis=0, + ) + return curve_interp + + +class RMVPE(nn.Module, SupportAudioInput, SupportsComponentDiscovery): + """RMVPE F0 extractor (SoulX-Singer). + + Wraps the E2E0 model with mel-spectrogram front-end and decoding + post-processing. + """ + + support_audio_input: ClassVar[bool] = True + _dit_modules: ClassVar[list[str]] = [] + _encoder_modules: ClassVar[list[str]] = [] + _vae_modules: ClassVar[list[str]] = [] + _resident_modules: ClassVar[list[str]] = ["."] + _layerwise_offload_blocks_attrs: ClassVar[list[str]] = [] + + def __init__(self, model_path: str | None = None, hop_length: int = 160, device: str | None = None): + super().__init__() + self.resample_kernel: dict[str, Resample] = {} + if device is None: + self.device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + else: + self.device = torch.device(device) + + self.model = E2E0(4, 1, (2, 2)).eval() + if model_path is not None: + ckpt = torch.load(model_path, map_location=self.device) + state_dict = ckpt if not isinstance(ckpt, dict) else ckpt.get("model", ckpt) + self.model.load_state_dict(state_dict, strict=False) + logger.info("Loaded RMVPE weights from %s", model_path) + self.model = self.model.to(self.device) + + self.mel_extractor = MelSpectrogram( + _N_MELS, + RMVPE_SAMPLE_RATE, + _WINDOW_LENGTH, + hop_length, + None, + _MEL_FMIN, + _MEL_FMAX, + ).to(self.device) + self.hop_length = hop_length + + # ---- internal helpers ---- + + @torch.no_grad() + def mel2hidden(self, mel: torch.Tensor) -> torch.Tensor: + n_frames = mel.shape[-1] + pad_len = 32 * ((n_frames - 1) // 32 + 1) - n_frames + mel = F.pad(mel, (0, pad_len), mode="constant") + hidden = self.model(mel) + return hidden[:, :n_frames] + + def decode(self, hidden: torch.Tensor, thread: float = 0.03, use_viterbi: bool = False) -> np.ndarray: + if use_viterbi: + return to_viterbi_f0(hidden, thread=thread) + return to_local_average_f0(hidden, thread=thread) + + def postprocess(self, f0: np.ndarray, fmin: float = 50, fmax: float = 1000, min_gap: int = 2) -> np.ndarray: + f0[f0 < fmin] = 0 + f0[f0 > fmax] = 0 + # Eliminate glitch: if positive f0 values span fewer than min_gap frames + # between zeros, zero them out. + for idx in range(f0.shape[0] - min_gap - 1): + if f0[idx] == 0 and f0[idx + min_gap + 1] == 0 and np.sum(f0[idx : idx + min_gap + 2]) > 0: + f0[idx : idx + min_gap + 2] = 0 + return f0 + + # ---- single audio inference ---- + + def infer_from_audio( + self, audio: np.ndarray, sample_rate: int = 16000, thread: float = 0.03, use_viterbi: bool = False + ) -> np.ndarray: + audio_t = torch.from_numpy(audio).float().unsqueeze(0).to(self.device) + if sample_rate == RMVPE_SAMPLE_RATE: + audio_res = audio_t + else: + key_str = str(sample_rate) + if key_str not in self.resample_kernel: + self.resample_kernel[key_str] = Resample(sample_rate, RMVPE_SAMPLE_RATE, lowpass_filter_width=128) + self.resample_kernel[key_str] = self.resample_kernel[key_str].to(self.device) + audio_res = self.resample_kernel[key_str](audio_t) + mel = self.mel_extractor(audio_res, center=True) + hidden = self.mel2hidden(mel) + f0 = self.decode(hidden, thread=thread, use_viterbi=use_viterbi).squeeze(0) + return f0 + + def get_pitch( + self, + waveform, + sample_rate: int, + hop_size: int, + length: int, + interp_uv: bool = False, + fmin: float = 50, + fmax: float = 1000, + ) -> tuple[np.ndarray, np.ndarray]: + f0 = self.infer_from_audio(waveform, sample_rate=sample_rate) + f0 = self.postprocess(f0, fmin, fmax) + uv = f0 == 0 + time_step = hop_size / sample_rate + f0_res = resample_align_curve(f0, 0.01, time_step, length) + uv_res = resample_align_curve(uv.astype(np.float32), 0.01, time_step, length) > 0.5 + if not interp_uv: + f0_res[uv_res] = 0 + return f0_res, uv_res + + # ---- batch audio inference ---- + + def infer_from_audio_batch( + self, audios, sample_rate: int = 16000, thread: float = 0.03, use_viterbi: bool = False + ) -> list[np.ndarray]: + sizes: list[int] | None = None + if isinstance(audios, list): + audios = [torch.from_numpy(a).float() for a in audios] + sizes = [math.ceil((a.shape[0] + 1) / self.hop_length) for a in audios] + audios = nn.utils.rnn.pad_sequence(audios, batch_first=True, padding_value=0.0).to(self.device) + elif isinstance(audios, torch.Tensor): + if audios.device != self.device: + audios = audios.to(self.device) + else: + raise NotImplementedError(f"Unsupported audio type: {type(audios)}") + + if sample_rate == RMVPE_SAMPLE_RATE: + audios_res = audios + else: + key_str = str(sample_rate) + if key_str not in self.resample_kernel: + self.resample_kernel[key_str] = Resample(sample_rate, RMVPE_SAMPLE_RATE, lowpass_filter_width=128) + self.resample_kernel[key_str] = self.resample_kernel[key_str].to(self.device) + audios_res = self.resample_kernel[key_str](audios) + + mels = self.mel_extractor(audios_res, center=True) + hiddens = self.mel2hidden(mels) + f0 = self.decode(hiddens, thread=thread, use_viterbi=use_viterbi) + + f0s: list[np.ndarray] = [] + for i in range(f0.shape[0]): + f0s.append(f0[i, : sizes[i]] if sizes is not None else f0[i, :]) + return f0s + + def get_pitch_batch( + self, + waveforms, + sample_rate: int, + hop_size: int, + lengths: list[int], + interp_uv: bool = False, + fmin: float = 50, + fmax: float = 1000, + ) -> tuple[list[np.ndarray], list[np.ndarray]]: + f0s = self.infer_from_audio_batch(waveforms, sample_rate=sample_rate) + f0s_res: list[np.ndarray] = [] + uvs_res: list[np.ndarray] = [] + for idx, f0 in enumerate(f0s): + f0 = self.postprocess(f0, fmin, fmax, min_gap=6) + uv = f0 == 0 + length = lengths[idx] + time_step = hop_size / sample_rate + f0_res = resample_align_curve(f0, 0.01, time_step, length) + uv_res = resample_align_curve(uv.astype(np.float32), 0.01, time_step, length) > 0.5 + if not interp_uv: + f0_res[uv_res] = 0 + f0s_res.append(f0_res) + uvs_res.append(uv_res) + return f0s_res, uvs_res + + def release_cuda(self): + self.model = self.model.cpu() + self.mel_extractor = self.mel_extractor.cpu() diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/rosvot.py b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/rosvot.py new file mode 100644 index 000000000..0333b521e --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/rosvot.py @@ -0,0 +1,619 @@ +"""ROSVOT note transcription.""" + +from __future__ import annotations + +import math +from pathlib import Path +from typing import Any, ClassVar + +import numpy as np +import torch +import torch.nn as nn +from vllm.logger import init_logger + +from vllm_omni.diffusion.models.interface import SupportAudioInput, SupportsComponentDiscovery +from vllm_omni.diffusion.models.soulx_singer.modules.mel_transform import spectral_normalize_torch +from vllm_omni.diffusion.models.soulx_singer.modules.note_transcription import ( + BackboneNet, + ConvBlocks, + Embedding, +) +from vllm_omni.diffusion.models.soulx_singer.modules.preprocess.utils import ( + boundary2Interval, + denorm_f0, + f0_to_coarse, + load_model_ckpt, + load_mono_audio, + load_rosvot_config, + norm_interp_f0, + pad_or_cut_xd, + resample_mono, +) +from vllm_omni.utils.audio import mel_filter_bank as librosa_mel_fn + +logger = init_logger(__name__) + + +def regulate_real_note_itv( + note_itv: np.ndarray, + note_bd: np.ndarray, + word_bd: np.ndarray, + word_durs: np.ndarray, + hop_size: int, + audio_sample_rate: int, +) -> tuple[np.ndarray, np.ndarray]: + assert note_itv.shape[0] == np.sum(note_bd) + 1 + assert np.sum(word_bd) <= np.sum(note_bd) + assert word_durs.shape[0] == np.sum(word_bd) + 1, f"{word_durs.shape[0]} {np.sum(word_bd) + 1}" + word_bd = np.cumsum(word_bd) * word_bd + word_itv = np.zeros((word_durs.shape[0], 2)) + word_offsets = np.cumsum(word_durs) + note2words = np.zeros(note_itv.shape[0], dtype=int) + for idx in range(len(word_offsets) - 1): + word_itv[idx, 1] = word_itv[idx + 1, 0] = word_offsets[idx] + word_itv[-1, 1] = word_offsets[-1] + note_itv_secs = note_itv * hop_size / audio_sample_rate + for idx, itv in enumerate(note_itv): + start_idx, end_idx = itv + if word_bd[start_idx] > 0: + word_dur_idx = word_bd[start_idx] + note_itv_secs[idx, 0] = word_itv[word_dur_idx, 0] + note2words[idx] = word_dur_idx + if word_bd[end_idx] > 0: + word_dur_idx = word_bd[end_idx] - 1 + note_itv_secs[idx, 1] = word_itv[word_dur_idx, 1] + note2words[idx] = word_dur_idx + note2words += 1 + return note_itv_secs, note2words + + +def regulate_ill_slur( + notes: np.ndarray, note_itv: np.ndarray, note2words: np.ndarray +) -> tuple[np.ndarray, np.ndarray, np.ndarray]: + res_note2words: list[int] = [] + res_note_itv: list[list[float]] = [] + res_notes: list[int] = [] + note_idx = 0 + note_idx_end = 0 + while note_idx <= len(notes) - 1: + while note_idx <= note_idx_end < len(notes) and note2words[note_idx] == note2words[note_idx_end]: + note_idx_end += 1 + res_note2words.append(note2words[note_idx]) + res_note_itv.append(note_itv[note_idx].tolist()) + res_notes.append(notes[note_idx]) + for idx in range(note_idx + 1, note_idx_end): + if notes[idx] == notes[idx - 1]: + res_note_itv[-1][1] = note_itv[idx][1] + else: + res_note_itv.append(note_itv[idx].tolist()) + res_note2words.append(note2words[idx]) + res_notes.append(notes[idx]) + note_idx = note_idx_end + return ( + np.array(res_notes, dtype=notes.dtype), + np.array(res_note_itv, dtype=note_itv.dtype), + np.array(res_note2words, dtype=note2words.dtype), + ) + + +def regulate_boundary(bd_logits, threshold, min_gap=18, ref_bd=None, ref_bd_min_gap=8, non_padding=None): + # this doesn't preserve gradient + device = bd_logits.device + bd_logits = torch.sigmoid(bd_logits).data.cpu() + # bd_logits[0] = bd_logits[-1] = 1e-5 # avoid itv invalid problem + bd = (bd_logits > threshold).long() + bd_res = torch.zeros_like(bd).long() + for i in range(bd.shape[0]): + bd_i = bd[i] + last_bd_idx = -1 + start = -1 + for j in range(bd_i.shape[0]): + if bd_i[j] == 1: + if 0 <= start < j: + continue + elif start < 0: + start = j + else: + if 0 <= start < j: + if j - 1 > start: + bd_idx = start + int(torch.argmax(bd_logits[i, start:j]).item()) + else: + bd_idx = start + if bd_idx - last_bd_idx < min_gap and last_bd_idx > 0: + bd_idx = round((bd_idx + last_bd_idx) / 2) + bd_res[i, last_bd_idx] = 0 + bd_res[i, bd_idx] = 1 + last_bd_idx = bd_idx + start = -1 + + # assert ref_bd_min_gap <= min_gap // 2 + if ref_bd is not None and ref_bd_min_gap > 0: + ref = ref_bd.data.cpu() + for i in range(bd_res.shape[0]): + ref_bd_i = ref[i] + ref_bd_i_js = [] + for j in range(ref_bd_i.shape[0]): + if ref_bd_i[j] == 1: + ref_bd_i_js.append(j) + seg_sum = torch.sum(bd_res[i, max(0, j - ref_bd_min_gap) : j + ref_bd_min_gap]) + if seg_sum == 0: + bd_res[i, j] = 1 + elif seg_sum == 1 and bd_res[i, j] != 1: + bd_res[i, max(0, j - ref_bd_min_gap) : j + ref_bd_min_gap] = ref_bd_i[ + max(0, j - ref_bd_min_gap) : j + ref_bd_min_gap + ] + elif seg_sum > 1: + for k in range(1, ref_bd_min_gap + 1): + if bd_res[i, max(0, j - k)] == 1 and ref_bd_i[max(0, j - k)] != 1: + bd_res[i, max(0, j - k)] = 0 + break + if ( + bd_res[i, min(bd_res.shape[1] - 1, j + k)] == 1 + and ref_bd_i[min(bd_res.shape[1] - 1, j + k)] != 1 + ): + bd_res[i, min(bd_res.shape[1] - 1, j + k)] = 0 + break + bd_res[i, j] = 1 + # final check + assert torch.sum(bd_res[i, ref_bd_i_js]) == len(ref_bd_i_js), ( + f"{torch.sum(bd_res[i, ref_bd_i_js])} {len(ref_bd_i_js)}" + ) + + bd_res = bd_res.to(device) + + # force valid begin and end + bd_res[:, 0] = 0 + if non_padding is not None: + for i in range(bd_res.shape[0]): + bd_res[i, sum(non_padding[i]) - 1 :] = 0 + else: + bd_res[:, -1] = 0 + + return bd_res + + +def _align_word(word_durs: list[float], mel_len: int, hop_size: int, audio_sample_rate: int) -> np.ndarray: + mel2word = np.zeros([mel_len], int) + start_time = 0.0 + for i_word, wd in enumerate(word_durs): + start_frame = int(start_time * audio_sample_rate / hop_size + 0.5) + end_frame = int((start_time + wd) * audio_sample_rate / hop_size + 0.5) + mel2word[start_frame:end_frame] = i_word + 1 + start_time += wd + return mel2word + + +class PitchDecoder(nn.Module): + def __init__(self, hparams): + super().__init__() + self.hidden_size = hidden_size = hparams["hidden_size"] + self.dropout = hparams.get("dropout", 0.0) + self.note_bd_out = nn.Linear(hidden_size, 1) + self.note_bd_temperature = max(1e-7, hparams.get("note_bd_temperature", 1.0)) + + # note prediction + self.pitch_attn_num_head = hparams.get("pitch_attn_num_head", 1) + self.multihead_dot_attn = nn.Linear(hidden_size, self.pitch_attn_num_head) + self.post = ConvBlocks( + hidden_size, + out_dims=hidden_size, + dilations=None, + kernel_size=3, + layers_in_block=1, + c_multiple=1, + post_net_kernel=3, + ) + self.pitch_out = nn.Linear(hidden_size, hparams.get("note_num", 100) + 4) + self.note_num = hparams.get("note_num", 100) + self.note_start = hparams.get("note_start", 30) + self.pitch_temperature = max(1e-7, hparams.get("note_pitch_temperature", 1.0)) + + def forward(self, feat, note_bd, train=True): + bsz, T, _ = feat.shape + + attn = torch.sigmoid(self.multihead_dot_attn(feat)) # [B, T, C] -> [B, T, num_head] + attn_feat = feat.unsqueeze(3) * attn.unsqueeze(2) # [B, T, C, 1] x [B, T, 1, num_head] -> [B, T, C, num_head] + attn_feat = torch.mean(attn_feat, dim=-1) # [B, T, C, num_head] -> [B, T, C] + mel2note = torch.cumsum(note_bd, 1) + note_length = torch.max(torch.sum(note_bd, dim=1)).item() + 1 # max length + note_lengths = torch.sum(note_bd, dim=1) + 1 # [B] + + attn = torch.mean(attn, dim=-1, keepdim=True) # [B, T, num_head] -> [B, T, 1] + denom = mel2note.new_zeros(bsz, note_length, dtype=attn.dtype).scatter_add_( + dim=1, index=mel2note, src=attn.squeeze(-1) + ) # [B, T] -> [B, note_length] count the note frames of each note (with padding excluded) + frame2note = mel2note.unsqueeze(-1).repeat(1, 1, self.hidden_size) # [B, T] -> [B, T, C], with padding included + note_aggregate = frame2note.new_zeros(bsz, note_length, self.hidden_size, dtype=attn_feat.dtype).scatter_add_( + dim=1, index=frame2note, src=attn_feat + ) # [B, T, C] -> [B, note_length, C] + note_aggregate = note_aggregate / (denom.unsqueeze(-1) + 1e-5) + note_logits = self.post(note_aggregate) + note_logits = self.pitch_out(note_logits) / self.pitch_temperature + # note_logits = torch.clamp(note_logits, min=-16., max=16.) # don't know need it or not + + note_pred = torch.softmax(note_logits, dim=-1) # [B, note_length, note_num] + note_pred = torch.argmax(note_pred, dim=-1) # [B, note_length] + # for some reason, note idx maybe 130 (why?) + note_pred[note_pred > self.note_num] = 0 + note_pred[note_pred < self.note_start] = 0 + + return note_lengths, note_logits, note_pred + + +class MidiExtractor(nn.Module): + def __init__(self, hparams): + super().__init__() + self.hparams = hparams.copy() + self.hidden_size = hidden_size = hparams["hidden_size"] + self.note_bd_threshold = hparams.get("note_bd_threshold", 0.5) + self.note_bd_min_gap = round( + hparams.get("note_bd_min_gap", 100) * hparams["audio_sample_rate"] / 1000 / hparams["hop_size"] + ) + self.note_bd_ref_min_gap = round( + hparams.get("note_bd_ref_min_gap", 50) * hparams["audio_sample_rate"] / 1000 / hparams["hop_size"] + ) + + self.mel_proj = nn.Conv1d(hparams["use_mel_bins"], hidden_size, kernel_size=3, padding=1) + self.mel_encoder = ConvBlocks( + hidden_size, + out_dims=hidden_size, + dilations=None, + kernel_size=3, + layers_in_block=2, + c_multiple=1, + post_net_kernel=3, + ) + self.use_pitch = hparams.get("use_pitch_embed", True) + if self.use_pitch: + self.pitch_embed = Embedding(300, hidden_size, 0, "kaiming") + self.uv_embed = Embedding(3, hidden_size, 0, "kaiming") + self.use_wbd = hparams.get("use_wbd", True) + if self.use_wbd: + self.word_bd_embed = Embedding(3, hidden_size, 0, "kaiming") + self.cond_encoder = ConvBlocks( + hidden_size, + out_dims=hidden_size, + dilations=None, + kernel_size=3, + layers_in_block=1, + c_multiple=1, + post_net_kernel=3, + ) + + # backbone + self.net = BackboneNet(hparams) + + # note bd prediction + self.note_bd_out = nn.Linear(hidden_size, 1) + self.note_bd_temperature = max(1e-7, hparams.get("note_bd_temperature", 1.0)) + + # note prediction + self.pitch_decoder = PitchDecoder(hparams) + + def run_encoder(self, mel, word_bd=None, pitch=None, uv=None): + mel_embed = self.mel_proj(mel.transpose(1, 2)).transpose(1, 2) + mel_embed = self.mel_encoder(mel_embed) + pitch_embed = word_bd_embed = 0 + if self.use_pitch and pitch is not None and uv is not None: + pitch_embed = self.pitch_embed(pitch) + self.uv_embed(uv) # [B, T, C] + if self.use_wbd and word_bd is not None: + word_bd_embed = self.word_bd_embed(word_bd) + feat = self.cond_encoder(mel_embed + pitch_embed + word_bd_embed) + return feat + + def forward(self, mel, word_bd=None, note_bd=None, pitch=None, uv=None, non_padding=None, train=True): + ret = {} + bsz, T, _ = mel.shape + + feat = self.run_encoder(mel, word_bd, pitch, uv) + feat = self.net(feat) # [B, T, C] + + # note bd prediction + # dropout has been dropped (inference mode) + note_bd_logits = self.note_bd_out(feat).squeeze(-1) / self.note_bd_temperature + note_bd_logits = torch.clamp(note_bd_logits, min=-16.0, max=16.0) + ret["note_bd_logits"] = note_bd_logits # [B, T] + if note_bd is None or not train: + note_bd = regulate_boundary( + note_bd_logits, + self.note_bd_threshold, + self.note_bd_min_gap, + word_bd, + self.note_bd_ref_min_gap, + non_padding, + ) + ret["note_bd_pred"] = note_bd # [B, T] + + # note pitch prediction + note_lengths, note_logits, note_pred = self.pitch_decoder(feat, note_bd, train) + ret["note_lengths"], ret["note_logits"], ret["note_pred"] = note_lengths, note_logits, note_pred + + return ret + + +class MelNet(nn.Module): + def __init__(self, hparams, device="cpu") -> None: + super().__init__() + self.n_fft = hparams["fft_size"] + self.num_mels = hparams["audio_num_mel_bins"] + self.sampling_rate = hparams["audio_sample_rate"] + self.hop_size = hparams["hop_size"] + self.win_size = hparams["win_size"] + self.fmin = hparams["fmin"] + self.fmax = hparams["fmax"] + self.device = device + + mel = librosa_mel_fn( + sr=self.sampling_rate, + n_fft=self.n_fft, + n_mels=self.num_mels, + fmin=self.fmin, + fmax=self.fmax, + ) + self.mel_basis = mel.float().to(self.device) + self.hann_window = torch.hann_window(self.win_size).to(self.device) + + def to(self, device, **kwagrs): + super().to(device=device, **kwagrs) + self.mel_basis = self.mel_basis.to(device) + self.hann_window = self.hann_window.to(device) + self.device = device + + def forward(self, y, center=False, complex=False): + if isinstance(y, np.ndarray): + y = torch.FloatTensor(y) + if len(y.shape) == 1: + y = y.unsqueeze(0) + y = y.clamp(min=-1.0, max=1.0).to(self.device) + + pad_length = math.ceil(y.shape[1] / self.hop_size) * self.hop_size - y.shape[1] + y = torch.nn.functional.pad( + y.unsqueeze(1), + [int((self.n_fft - self.hop_size) / 2), int((self.n_fft - self.hop_size) / 2 + pad_length)], + mode="reflect", + ) + y = y.squeeze(1) + + spec = torch.stft( + y, + self.n_fft, + hop_length=self.hop_size, + win_length=self.win_size, + window=self.hann_window, + center=center, + pad_mode="reflect", + normalized=False, + onesided=True, + return_complex=True, + ) + if not complex: + spec = torch.view_as_real(spec) + spec = torch.sqrt(spec.pow(2).sum(-1) + (1e-9)) # [B, n_fft, T] + spec = torch.matmul(self.mel_basis, spec) + spec = spectral_normalize_torch(spec) + spec = spec.transpose(1, 2) # [B, T, n_fft] + else: + B, C, T, _ = spec.shape + spec = spec.transpose(1, 2) # [B, T, n_fft, 2] + return spec + + +class RosvotModel(nn.Module, SupportAudioInput, SupportsComponentDiscovery): + support_audio_input: ClassVar[bool] = True + _dit_modules: ClassVar[list[str]] = [] + _encoder_modules: ClassVar[list[str]] = ["."] + _vae_modules: ClassVar[list[str]] = [] + _resident_modules: ClassVar[list[str]] = [] + _layerwise_offload_blocks_attrs: ClassVar[list[str]] = ["midi.net", "midi.pitch_decoder", "midi.cond_encoder"] + + def __init__( + self, + rosvot_ckpt: str | Path, + *, + config_path: str | Path = "", + pe: nn.Module | None = None, + the: float = 0.85, + verbose: bool = False, + rosvot_source_dir: str | Path | None = None, + ): + super().__init__() + self.verbose = verbose + ckpt = Path(rosvot_ckpt) + resolved_config = Path(config_path) if config_path else ckpt.with_name("config.yaml") + self.hparams = load_rosvot_config(resolved_config, hparams_str=f"note_bd_threshold={the}") + if verbose: + logger.info("ROSVOT config: %s", resolved_config) + + self.midi = MidiExtractor(self.hparams) + self.mel_net = MelNet(self.hparams) + self.pe = pe if pe is not None and self.hparams.get("use_pitch_embed", False) else None + self._checkpoint_path = str(ckpt) + self.load_checkpoint(str(ckpt), verbose=verbose) + self.eval() + + def load_checkpoint(self, checkpoint_path: str | None = None, *, verbose: bool = False) -> None: + load_model_ckpt(self.midi, checkpoint_path or self._checkpoint_path, verbose=verbose) + + @torch.no_grad() + def forward(self, wav: torch.Tensor, word_durs: list[float]) -> dict[str, Any]: + hparams = self.hparams + if wav.ndim == 1: + wav = wav.unsqueeze(0) + + mel_len = (wav.shape[-1] + hparams["hop_size"] - 1) // hparams["hop_size"] + min_word_dur = hparams.get("min_word_dur", 20) / 1000 + wd_raw = list(word_durs) + word_durs_filtered: list[float] = [] + for i, wd in enumerate(wd_raw): + if wd < min_word_dur: + if i == 0 and len(wd_raw) > 1: + wd_raw[i + 1] += wd + elif word_durs_filtered: + word_durs_filtered[-1] += wd + else: + word_durs_filtered.append(wd) + + mel2word = _align_word(word_durs_filtered, mel_len, hparams["hop_size"], hparams["audio_sample_rate"]) + if mel2word.size > 0 and mel2word[0] == 0: + mel2word = mel2word + 1 + + real_len = min(mel_len, int(np.sum(mel2word > 0))) + T = math.ceil(min(real_len, hparams["max_frames"]) / hparams["frames_multiple"]) * hparams["frames_multiple"] + device = wav.device + self.mel_net.to(device) + wav_t = pad_or_cut_xd(wav.float(), T * hparams["hop_size"], 1) + + pitch_coarse = uv_t = None + if self.pe is not None: + f0s, uvs = self.pe.get_pitch_batch( + wav_t, + sample_rate=hparams["audio_sample_rate"], + hop_size=hparams["hop_size"], + lengths=[real_len], + fmax=hparams["f0_max"], + fmin=hparams["f0_min"], + ) + f0_1d, uv_1d = norm_interp_f0(f0s[0][:T]) + f0_t = pad_or_cut_xd(torch.as_tensor(f0_1d, device=device, dtype=torch.float32), T, 0).unsqueeze(0) + uv_t = pad_or_cut_xd(torch.as_tensor(uv_1d, device=device, dtype=torch.float32), T, 0).long().unsqueeze(0) + pitch_coarse = f0_to_coarse(denorm_f0(f0_t, uv_t)).to(device) + + mel = pad_or_cut_xd(self.mel_net(wav_t)[0], T, dim=0).unsqueeze(0) + mel_nonpadding_mask = torch.zeros(1, T, device=device) + mel_nonpadding_mask[:, :real_len] = 1.0 + mel = (mel.transpose(1, 2) * mel_nonpadding_mask.unsqueeze(1)).transpose(1, 2) + mel_nonpadding = mel.abs().sum(-1) > 0 + + mel2word_t = pad_or_cut_xd(torch.as_tensor(mel2word, device=device, dtype=torch.long), T, 0) + word_bd = torch.zeros_like(mel2word_t) + word_bd[1:] = (mel2word_t[1:] != mel2word_t[:-1]).long() + word_bd[real_len:] = 0 + word_bd = word_bd.unsqueeze(0) + + outputs = self.midi( + mel=mel[:, :, : hparams.get("use_mel_bins", 80)], + word_bd=word_bd, + pitch=pitch_coarse, + uv=uv_t, + non_padding=mel_nonpadding, + ) + outputs["word_durs_filtered"] = word_durs_filtered + outputs["real_len"] = real_len + outputs["word_bd"] = word_bd + return outputs + + @staticmethod + def _load_wav(wav_src: str | np.ndarray, sample_rate: int, *, src_sample_rate: int | None = None) -> np.ndarray: + if isinstance(wav_src, str): + wav, _ = load_mono_audio(wav_src, target_sr=sample_rate) + return wav + wav = np.asarray(wav_src, dtype=np.float32) + if src_sample_rate is not None and src_sample_rate != sample_rate: + wav = resample_mono(wav, orig_sr=src_sample_rate, target_sr=sample_rate) + return wav + + @staticmethod + def _normalize_note2words(note2words: list[int]) -> list[int]: + if not note2words: + return [] + out = [note2words[0]] + for idx in range(1, len(note2words)): + out.append(max(note2words[idx], out[-1])) + return out + + @staticmethod + def _build_ep_types(note2words: list[int], align_words: list[str]) -> list[int]: + ep_types: list[int] = [] + prev = -1 + for i, w in zip(note2words, align_words): + ep_types.append(1 if w == "" else (2 if i != prev else 3)) + prev = i + return ep_types + + @torch.no_grad() + def transcribe( + self, + item: dict[str, Any], + *, + segment_info: dict[str, Any] | None = None, + verbose: bool = False, + ) -> dict[str, Any]: + if "word_durs" not in item: + raise ValueError('item must contain "word_durs" from lyric transcription') + + if item.get("wav_fn"): + wav = self._load_wav(item["wav_fn"], self.hparams["audio_sample_rate"]) + elif item.get("wav") is not None: + wav = self._load_wav( + item["wav"], + self.hparams["audio_sample_rate"], + src_sample_rate=item.get("sample_rate"), + ) + else: + raise ValueError('item must contain "wav_fn" or "wav"') + + device = next(self.parameters()).device + outputs = self(torch.from_numpy(wav).float().to(device), list(item["word_durs"])) + real_len = int(outputs["real_len"]) + word_durs_filtered = outputs["word_durs_filtered"] + word_bd = outputs["word_bd"] + item_name = item.get("item_name", "") + + note_lengths = outputs["note_lengths"].detach().cpu().numpy() + note_bd_pred = outputs["note_bd_pred"][0].detach().cpu().numpy()[:real_len] + note_pred = outputs["note_pred"][0].detach().cpu().numpy()[: note_lengths[0]] + + if note_pred.shape == (0,): + rosvot_out = {"item_name": item_name, "pitches": [], "note_durs": [], "note2words": None} + else: + note_itv_pred = boundary2Interval(note_bd_pred) + word_bd_for_reg = word_bd[0].detach().cpu().numpy()[:real_len] + hop = self.hparams["hop_size"] + sr = self.hparams["audio_sample_rate"] + + if self.hparams.get("infer_regulate_real_note_itv", True): + try: + note_itv_pred_secs, note2words = regulate_real_note_itv( + note_itv_pred, + note_bd_pred, + word_bd_for_reg, + np.array(word_durs_filtered), + hop, + sr, + ) + note_pred, note_itv_pred_secs, note2words = regulate_ill_slur( + note_pred, note_itv_pred_secs, note2words + ) + except Exception: + if verbose: + logger.exception("ROSVOT postprocess failed") + note_itv_pred_secs = note_itv_pred * hop / sr + note2words = None + else: + note_itv_pred_secs = note_itv_pred * hop / sr + note2words = None + + rosvot_out = { + "item_name": item_name, + "pitches": note_pred.tolist(), + "note_durs": [float(itv[1] - itv[0]) for itv in note_itv_pred_secs], + "note2words": note2words.tolist() if note2words is not None else None, + } + + note2words_raw = rosvot_out.get("note2words") or [] + align_words = [item["words"][idx - 1] for idx in note2words_raw if 0 < idx <= len(item["words"])] + ep_types = self._build_ep_types(self._normalize_note2words(note2words_raw), align_words) if align_words else [] + seg = segment_info or item + + return { + "item_name": seg.get("item_name", item_name), + "wav_fn": seg.get("wav_fn", item.get("wav_fn", "")), + "origin_wav_fn": seg.get("origin_wav_fn", item.get("origin_wav_fn", "")), + "start_time_ms": seg.get("start_time_ms", ""), + "end_time_ms": seg.get("end_time_ms", ""), + "language": item.get("language", ""), + "note_text": align_words, + "note_dur": rosvot_out.get("note_durs", []), + "note_type": ep_types, + "note_pitch": rosvot_out.get("pitches", []), + } diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/segmenter.py b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/segmenter.py new file mode 100644 index 000000000..0140182ab --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/segmenter.py @@ -0,0 +1,267 @@ +"""Rule-based vocal segmentation from F0 contour (no neural net).""" + +from __future__ import annotations + +import time +from dataclasses import dataclass +from typing import ClassVar + +import numpy as np +import torch.nn as nn +from vllm.logger import init_logger + +from vllm_omni.diffusion.models.interface import SupportAudioInput, SupportsComponentDiscovery + +logger = init_logger(__name__) + + +@dataclass(frozen=True) +class VocalSegmentConfig: + hop_ms: int = 20 + smooth_ms: int = 200 + start_ms: int = 120 + end_ms: int = 200 + prepad_ms: int = 80 + postpad_ms: int = 120 + min_len_ms: int = 1000 + max_len_ms: int = 20000 + short_seg_merge_gap_ms: int = 8000 + small_gap_ms: int = 500 + lookback_ms: int = 200 + lookahead_ms: int = 100 + + +def _moving_average(x: np.ndarray, win: int) -> np.ndarray: + if win <= 1: + return x + kernel = np.ones(win, dtype=np.float32) / float(win) + return np.convolve(x, kernel, mode="same") + + +def _merge_short_segments( + segments_ms: list[list[int]], + *, + min_len_ms: int, + max_len_ms: int, + short_seg_merge_gap_ms: int, + small_gap_ms: int, +) -> list[list[int]]: + if not segments_ms: + return [] + + merged: list[list[int]] = [] + cur_start, cur_end = segments_ms[0] + for next_start, next_end in segments_ms[1:]: + cur_len = cur_end - cur_start + gap_ms = next_start - cur_end + merged_len = next_end - cur_start + should_merge = (cur_len < min_len_ms and gap_ms < short_seg_merge_gap_ms) or ( + gap_ms < small_gap_ms and merged_len < max_len_ms + ) + if should_merge: + cur_end = next_end + continue + if (cur_end - cur_start) >= min_len_ms: + merged.append([cur_start, cur_end]) + cur_start, cur_end = next_start, next_end + + if (cur_end - cur_start) >= min_len_ms: + merged.append([cur_start, cur_end]) + + if not merged: + return segments_ms + + return merged + + +def _voiced_to_segments( + voiced: np.ndarray, + *, + hop_ms: int, + smooth_ms: int, + start_ms: int, + end_ms: int, + prepad_ms: int, + postpad_ms: int, + max_len_ms: int, +) -> list[list[int]]: + smooth_frames = max(1, int(round(smooth_ms / hop_ms))) + active = _moving_average(voiced.astype(np.float32), smooth_frames) >= 0.5 + + segments: list[list[int]] = [] + start_idx = None + start_frames = max(1, int(round(start_ms / hop_ms))) + end_frames = max(1, int(round(end_ms / hop_ms))) + prepad_frames = max(0, int(round(prepad_ms / hop_ms))) + postpad_frames = max(0, int(round(postpad_ms / hop_ms))) + active_count = 0 + inactive_count = 0 + + for i, flag in enumerate(active): + if flag: + active_count += 1 + inactive_count = 0 + else: + inactive_count += 1 + active_count = 0 + + if start_idx is None: + if active_count >= start_frames: + start_idx = max(0, i - start_frames + 1 - prepad_frames) + else: + if inactive_count >= end_frames: + end_idx = min(len(active) - 1, i - end_frames + 1 + postpad_frames) + start_ms_val = start_idx * hop_ms + end_ms_val = end_idx * hop_ms + hop_ms + if end_ms_val > start_ms_val: + segments.append([int(start_ms_val), int(end_ms_val)]) + start_idx = None + + if start_idx is not None: + start_ms_val = start_idx * hop_ms + end_idx = min(len(active) - 1, len(active) - 1 + postpad_frames) + end_ms_val = end_idx * hop_ms + hop_ms + if end_ms_val > start_ms_val: + segments.append([int(start_ms_val), int(end_ms_val)]) + + def _split_segment(seg: list[int]) -> list[list[int]]: + start_ms_val, end_ms_val = seg + start_frame = int(start_ms_val // hop_ms) + end_frame = int((end_ms_val - 1) // hop_ms) + end_frame = max(start_frame, min(end_frame, len(active) - 1)) + + best_start = None + best_len = 0 + cur_start = None + cur_len = 0 + for idx in range(start_frame, end_frame + 1): + if not active[idx]: + if cur_start is None: + cur_start = idx + cur_len = 1 + else: + cur_len += 1 + else: + if cur_start is not None and cur_len > best_len: + best_start, best_len = cur_start, cur_len + cur_start = None + cur_len = 0 + if cur_start is not None and cur_len > best_len: + best_start, best_len = cur_start, cur_len + + if best_start is None: + split_frame = (start_frame + end_frame) // 2 + else: + split_frame = best_start + best_len // 2 + + split_ms = split_frame * hop_ms + if split_ms <= start_ms_val: + split_ms = start_ms_val + hop_ms + if split_ms >= end_ms_val: + split_ms = end_ms_val - hop_ms + if split_ms <= start_ms_val or split_ms >= end_ms_val: + return [seg] + return [[start_ms_val, int(split_ms)], [int(split_ms), end_ms_val]] + + queue = segments[:] + segments = [] + while queue: + seg = queue.pop(0) + if (seg[1] - seg[0]) <= max_len_ms: + segments.append(seg) + continue + parts = _split_segment(seg) + if len(parts) == 1: + segments.append(seg) + else: + queue = parts + queue + return segments + + +class VocalSegmenter(nn.Module, SupportAudioInput, SupportsComponentDiscovery): + support_audio_input: ClassVar[bool] = True + _dit_modules: ClassVar[list[str]] = [] + _encoder_modules: ClassVar[list[str]] = [] + _vae_modules: ClassVar[list[str]] = [] + _resident_modules: ClassVar[list[str]] = ["."] + _layerwise_offload_blocks_attrs: ClassVar[list[str]] = [] + + def __init__(self, config: VocalSegmentConfig | None = None, *, verbose: bool = False): + super().__init__() + self.config = config or VocalSegmentConfig() + self.verbose = verbose + + def forward( + self, + audio: np.ndarray, + sample_rate: int, + f0: np.ndarray, + *, + base_name: str = "vocal", + origin_wav_fn: str = "", + verbose: bool | None = None, + ) -> list[dict]: + verbose = self.verbose if verbose is None else verbose + if verbose: + logger.info("[vocal detection] segmenting %s", base_name) + t0 = time.time() + + cfg = self.config + y = np.asarray(audio, dtype=np.float32).squeeze() + sr = int(sample_rate) + + segments_ms = _voiced_to_segments( + f0 > 0, + hop_ms=cfg.hop_ms, + smooth_ms=cfg.smooth_ms, + start_ms=cfg.start_ms, + end_ms=cfg.end_ms, + prepad_ms=cfg.prepad_ms, + postpad_ms=cfg.postpad_ms, + max_len_ms=cfg.max_len_ms, + ) + segments_ms = _merge_short_segments( + segments_ms, + min_len_ms=cfg.min_len_ms, + max_len_ms=cfg.max_len_ms, + short_seg_merge_gap_ms=cfg.short_seg_merge_gap_ms, + small_gap_ms=cfg.small_gap_ms, + ) + + adjusted_segments: list[list[int]] = [] + prev_end = 0 + for start_ms, end_ms in segments_ms: + start_ms = max(0, start_ms - cfg.lookback_ms) + end_ms = min(end_ms + cfg.lookahead_ms, int(y.shape[0] / sr * 1000)) + if start_ms < prev_end and adjusted_segments: + adjusted_segments[-1][1] = start_ms + adjusted_segments.append([start_ms, end_ms]) + prev_end = end_ms + + segment_infos = [] + for idx, (start_ms, end_ms) in enumerate(adjusted_segments): + if end_ms - start_ms > cfg.max_len_ms: + start_ms = end_ms - cfg.max_len_ms + key = f"{base_name}_{idx}" + start_sample = int(start_ms * sr / 1000) + end_sample = int(end_ms * sr / 1000) + segment_infos.append( + { + "item_name": key, + "wav": y[start_sample:end_sample], + "sample_rate": sr, + "wav_fn": key, + "start_time_ms": int(start_sample * 1000 / sr), + "end_time_ms": int(end_sample * 1000 / sr), + "origin_wav_fn": origin_wav_fn, + "duration": int((end_sample - start_sample) * 1000 / sr), + } + ) + + if verbose: + logger.info( + "[vocal detection] done n_segments=%s time=%.3fs", + len(segment_infos), + time.time() - t0, + ) + return segment_infos diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/stack.py b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/stack.py new file mode 100644 index 000000000..e29b52a29 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/stack.py @@ -0,0 +1,145 @@ +"""Lazy-loaded SoulX preprocess model tree.""" + +import os +import tempfile +from pathlib import Path +from typing import ClassVar + +import numpy as np +import soundfile as sf +import torch +import torch.nn as nn +from vllm.logger import init_logger + +from vllm_omni.diffusion.models.interface import SupportsComponentDiscovery + +from .asr import LyricModel +from .mel_grid_f0 import extract_f0_file +from .rmvpe import RMVPE +from .rosvot import RosvotModel +from .segmenter import VocalSegmenter +from .utils import resample_mono +from .vocal_sep import MelBandRoformerSeparator + +logger = init_logger(__name__) + + +class SoulXPreprocessStack(nn.Module, SupportsComponentDiscovery): + """Unified nn.Module tree for SoulX-Singer audio preprocess.""" + + _dit_modules: ClassVar[list[str]] = [] + _encoder_modules: ClassVar[list[str]] = ["vocal_sep", "lyric", "rosvot"] + _vae_modules: ClassVar[list[str]] = [] + _resident_modules: ClassVar[list[str]] = ["rmvpe"] + + def __init__( + self, + weights: dict[str, str], + device: str, + *, + target_sr: int = 24000, + hop_size: int = 480, + verbose: bool = False, + ) -> None: + super().__init__() + self.weights = weights + self.device_str = device + self.target_sr = target_sr + self.hop_size = hop_size + self.verbose = verbose + self._rmvpe: nn.Module | None = None + self._vocal_sep: nn.Module | None = None + self._segmenter: nn.Module | None = None + self._lyric: nn.Module | None = None + self._rosvot: nn.Module | None = None + + @property + def device(self) -> torch.device: + return torch.device(self.device_str) + + def ensure_rmvpe(self): + if self._rmvpe is None: + if self.verbose: + logger.info("[rmvpe] loading shared pitch model") + self._rmvpe = RMVPE(self.weights["rmvpe"], device=self.device_str) + self.add_module("rmvpe", self._rmvpe) + return self._rmvpe + + def ensure_vocal_sep(self): + if self._vocal_sep is None: + if self.verbose: + logger.info("[vocal extraction] loading model") + self._vocal_sep = MelBandRoformerSeparator( + self.weights["sep_config"], + self.weights["sep_ckpt"], + use_half=False, + ).to(self.device) + self.add_module("vocal_sep", self._vocal_sep) + if self.verbose: + logger.info("[vocal extraction] ready on %s, sr=%s", self.device_str, self._vocal_sep.sample_rate) + return self._vocal_sep + + def ensure_segmenter(self): + if self._segmenter is None: + self._segmenter = VocalSegmenter(verbose=self.verbose) + self.add_module("segmenter", self._segmenter) + return self._segmenter + + def ensure_lyric(self): + if self._lyric is None: + if self.verbose: + logger.info("[lyric transcription] loading ASR") + self._lyric = LyricModel( + self.weights["asr_zh"], + self.weights["asr_en"], + device=self.device_str, + target_sr=self.target_sr, + hop_size=self.hop_size, + ) + self.add_module("lyric", self._lyric) + return self._lyric + + def ensure_rosvot(self): + if self._rosvot is None: + if self.verbose: + logger.info("[note transcription] loading ROSVOT") + rosvot_src = os.environ.get("ROSVOT_SOURCE_DIR") + self._rosvot = RosvotModel( + self.weights["rosvot"], + pe=self.ensure_rmvpe(), + verbose=self.verbose, + rosvot_source_dir=rosvot_src, + ).to(self.device) + self.add_module("rosvot", self._rosvot) + return self._rosvot + + def extract_f0(self, vocal, sample_rate: int, *, f0_path: str | None = None) -> np.ndarray: + """Extract F0 on the mel grid; ndarray inputs are spooled to a temp wav.""" + rmvpe = self.ensure_rmvpe() + kwargs = dict( + target_sr=self.target_sr, + hop_size=self.hop_size, + f0_path=f0_path, + verbose=self.verbose, + ) + if isinstance(vocal, str): + return extract_f0_file(rmvpe, vocal, **kwargs) + tmp_path: str | None = None + try: + with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as tmp: + tmp_path = tmp.name + sf.write(tmp_path, np.asarray(vocal, dtype=np.float32).squeeze(), int(sample_rate)) + return extract_f0_file(rmvpe, tmp_path, **kwargs) + finally: + if tmp_path is not None: + Path(tmp_path).unlink(missing_ok=True) + + def extract_vocal(self, audio: str | tuple[np.ndarray, int]) -> tuple[np.ndarray, int]: + sep = self.ensure_vocal_sep() + if isinstance(audio, tuple): + mix, sr = audio + mix = np.asarray(mix, dtype=np.float32).squeeze() + if sr != sep.sample_rate: + mix = resample_mono(mix, orig_sr=sr, target_sr=sep.sample_rate) + return sep.separate_mono(mix, self.device), sep.sample_rate + return sep.separate_path(str(audio), self.device) diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/utils.py b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/utils.py new file mode 100644 index 000000000..f135fd553 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/utils.py @@ -0,0 +1,260 @@ +"""Shared helpers for SoulX preprocess (I/O, config, checkpoints, pitch).""" + +from pathlib import Path +from typing import Any + +import numpy as np +import soundfile as sf +import torch +import torch.nn as nn +import torch.nn.functional as F +from omegaconf import OmegaConf +from vllm.logger import init_logger +from vllm.multimodal.audio import AudioResampler +from vllm.multimodal.media.audio import load_audio + +logger = init_logger(__name__) + + +# --- audio I/O --- + + +def resample_mono( + audio: np.ndarray, + *, + orig_sr: int, + target_sr: int, +) -> np.ndarray: + """Resample mono float waveform to ``target_sr``.""" + audio = np.asarray(audio, dtype=np.float32).squeeze() + if orig_sr == target_sr: + return audio + resampler = AudioResampler(target_sr=float(target_sr)) + return np.asarray( + resampler.resample(audio, orig_sr=float(orig_sr)), + dtype=np.float32, + ) + + +def get_audio_duration(path: str) -> float: + """Return audio duration in seconds for a file on disk.""" + return float(sf.info(path).duration) + + +def load_mono_audio( + source: str | tuple[np.ndarray, int], + *, + target_sr: int | None = None, +) -> tuple[np.ndarray, int]: + if isinstance(source, tuple): + audio, sr = source + audio = np.asarray(audio, dtype=np.float32).squeeze() + if target_sr is not None and sr != target_sr: + audio = resample_mono(audio, orig_sr=sr, target_sr=target_sr) + sr = target_sr + return audio, sr + + if target_sr is None: + audio, sr = load_audio(str(source), sr=None, mono=True) + else: + audio, sr = load_audio(str(source), sr=target_sr, mono=True) + return np.asarray(audio, dtype=np.float32).squeeze(), int(sr) + + +# --- tensor padding --- + + +def pad_or_cut_xd(values: torch.Tensor, tgt_len: int, dim: int = -1, pad_value=0) -> torch.Tensor: + ndim = values.ndim + if ndim == 1: + if values.shape[0] < tgt_len: + return F.pad(values, [0, tgt_len - values.shape[0]], value=pad_value) + return values[:tgt_len] + if ndim == 2: + if dim in (0, -2): + src_len = values.shape[0] + if src_len < tgt_len: + return F.pad(values, [0, 0, 0, tgt_len - src_len], value=pad_value) + return values[:tgt_len] + src_len = values.shape[1] + if src_len < tgt_len: + return F.pad(values, [0, tgt_len - src_len], value=pad_value) + return values[:, :tgt_len] + raise NotImplementedError(f"pad_or_cut_xd supports 1D/2D tensors, got ndim={ndim}") + + +# --- YAML config (OmegaConf) --- + + +def _apply_hparams_str(config: dict[str, Any], hparams_str: str) -> None: + if not hparams_str: + return + for item in hparams_str.split(","): + key, raw_value = item.split("=", maxsplit=1) + raw_value = raw_value.strip().strip("'\"") + node: dict[str, Any] = config + parts = key.split(".") + for part in parts[:-1]: + node = node.setdefault(part, {}) + leaf = parts[-1] + current = node.get(leaf) + if raw_value in {"True", "False"}: + node[leaf] = raw_value == "True" + elif isinstance(current, bool): + node[leaf] = raw_value.lower() == "true" + elif isinstance(current, int): + node[leaf] = int(raw_value) + elif isinstance(current, float): + node[leaf] = float(raw_value) + else: + node[leaf] = type(current)(raw_value) if current is not None else raw_value + + +def load_yaml_config( + config: str | Path, + *, + hparams_str: str = "", +) -> dict[str, Any]: + """Load YAML with optional ``base_config`` chain; returns a plain dict.""" + config_path = Path(config).expanduser() + if not config_path.is_file(): + raise FileNotFoundError(f"Config not found: {config_path}") + + merged = OmegaConf.create({}) + pending = [config_path.resolve()] + loaded: set[str] = set() + + while pending: + path = pending.pop(0) + path_key = str(path) + if path_key in loaded: + continue + loaded.add(path_key) + + current = OmegaConf.load(path_key) + base_configs = current.get("base_config") + if base_configs is not None: + entries = base_configs if OmegaConf.is_list(base_configs) else [base_configs] + for entry in entries: + base_path = Path(entry) + if not base_path.is_absolute(): + base_path = (path.parent / entry).resolve() + if not base_path.is_file(): + logger.warning("Skipping missing base config: %s", base_path) + continue + pending.insert(0, base_path) + merged = OmegaConf.merge(current, merged) + + result = OmegaConf.to_container(merged, resolve=True) + if not isinstance(result, dict): + raise TypeError(f"Expected dict config, got {type(result)}") + _apply_hparams_str(result, hparams_str) + return result + + +def load_rosvot_config(config: str | Path, *, hparams_str: str = "") -> dict[str, Any]: + return load_yaml_config(config, hparams_str=hparams_str) + + +# --- checkpoint loading --- + + +def load_model_ckpt( + model: nn.Module, + checkpoint_path: str, + *, + model_name: str = "model", + verbose: bool = True, +) -> None: + checkpoint = torch.load(checkpoint_path, map_location="cpu", weights_only=True) + if not isinstance(checkpoint, dict) or "state_dict" not in checkpoint: + raise ValueError(f"Unexpected ROSVOT checkpoint format: {checkpoint_path}") + + state_dict = checkpoint["state_dict"] + if state_dict and "." in next(iter(state_dict)): + prefix = f"{model_name}." + state_dict = {k[len(prefix) :]: v for k, v in state_dict.items() if k.startswith(prefix)} + elif model_name in state_dict and isinstance(state_dict[model_name], dict): + state_dict = state_dict[model_name] + + model.load_state_dict(state_dict, strict=True) + if verbose: + logger.info("Loaded ROSVOT weights from %s", checkpoint_path) + + +# --- pitch helpers (ROSVOT / RMVPE) --- + + +def f0_to_coarse(f0, f0_bin=256, f0_max=900.0, f0_min=50.0): + f0_mel_min = 1127 * np.log(1 + f0_min / 700) + f0_mel_max = 1127 * np.log(1 + f0_max / 700) + is_torch = isinstance(f0, torch.Tensor) + f0_mel = 1127 * (1 + f0 / 700).log() if is_torch else 1127 * np.log(1 + f0 / 700) + f0_mel[f0_mel > 0] = (f0_mel[f0_mel > 0] - f0_mel_min) * (f0_bin - 2) / (f0_mel_max - f0_mel_min) + 1 + f0_mel[f0_mel <= 1] = 1 + f0_mel[f0_mel > f0_bin - 1] = f0_bin - 1 + return (f0_mel + 0.5).long() if is_torch else np.rint(f0_mel).astype(int) + + +def norm_f0(f0, uv, pitch_norm="log", f0_mean=400, f0_std=100): + is_torch = isinstance(f0, torch.Tensor) + if pitch_norm == "standard": + f0 = (f0 - f0_mean) / f0_std + if pitch_norm == "log": + f0 = torch.log2(f0 + 1e-8) if is_torch else np.log2(f0 + 1e-8) + if uv is not None: + f0[uv > 0] = 0 + return f0 + + +def norm_interp_f0(f0, pitch_norm="log", f0_mean=None, f0_std=None): + is_torch = isinstance(f0, torch.Tensor) + if is_torch: + device = f0.device + f0 = f0.detach().cpu().numpy() + uv = f0 == 0 + f0 = norm_f0(f0, uv, pitch_norm, f0_mean, f0_std) + if sum(uv) == len(f0): + f0[uv] = 0 + elif sum(uv) > 0: + f0[uv] = np.interp(np.where(uv)[0], np.where(~uv)[0], f0[~uv]) + if is_torch: + uv_t = torch.FloatTensor(uv) + f0_t = torch.FloatTensor(f0) + return f0_t.to(device), uv_t.to(device) + return f0, uv + + +def denorm_f0(f0, uv, pitch_norm="log", f0_mean=400, f0_std=100, pitch_padding=None, min=50, max=900): + is_torch = isinstance(f0, torch.Tensor) + if pitch_norm == "standard": + f0 = f0 * f0_std + f0_mean + if pitch_norm == "log": + f0 = 2**f0 + f0 = f0.clamp(min=min, max=max) if is_torch else np.clip(f0, a_min=min, a_max=max) + if uv is not None: + f0[uv > 0] = 0 + if pitch_padding is not None: + f0[pitch_padding] = 0 + return f0 + + +def boundary2Interval(bd): + is_torch = isinstance(bd, torch.Tensor) + if is_torch: + device = bd.device + bd = bd.detach().cpu().numpy() + ret = np.zeros(shape=(bd.sum() + 1, 2), dtype=int) + ret_idx = 0 + ret[0, 0] = 0 + for i, u in enumerate(bd): + if i == 0: + continue + if u == 1: + ret[ret_idx, 1] = i + ret[ret_idx + 1, 0] = i + ret_idx += 1 + ret[-1, 1] = bd.shape[0] - 1 + if is_torch: + return torch.LongTensor(ret).to(device) + return ret diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/vocal_sep.py b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/vocal_sep.py new file mode 100644 index 000000000..b62902d38 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/preprocess/vocal_sep.py @@ -0,0 +1,207 @@ +"""BS-RoFormer vocal separation adapter (external pip package + SoulX chunking).""" + +from __future__ import annotations + +from pathlib import Path +from typing import ClassVar + +import numpy as np +import torch +import torch.nn as nn +import yaml +from omegaconf import DictConfig, OmegaConf +from vllm.logger import init_logger +from vllm.multimodal.media.audio import load_audio + +from vllm_omni.diffusion.models.interface import SupportAudioInput, SupportsComponentDiscovery +from vllm_omni.diffusion.offloader.layerwise_backend import LayerWiseOffloadBackend + +logger = init_logger(__name__) + + +class MelBandRoformerSeparator(nn.Module, SupportAudioInput, SupportsComponentDiscovery): + support_audio_input: ClassVar[bool] = True + _dit_modules: ClassVar[list[str]] = [] + _encoder_modules: ClassVar[list[str]] = ["roformer"] + _vae_modules: ClassVar[list[str]] = [] + _resident_modules: ClassVar[list[str]] = [] + _layerwise_offload_blocks_attrs: ClassVar[list[str]] = ["roformer.layers"] + + def __init__( + self, + config_path: str | Path, + checkpoint_path: str | Path | None = None, + *, + chunk_length_sec: float = 5, + use_half: bool = True, + ): + super().__init__() + try: + from bs_roformer import MelBandRoformer as ExtModel + except ImportError as e: + raise ImportError( + 'Install BS-RoFormer: pip install "vllm-omni[soulx-preprocess]" or pip install BS-RoFormer' + ) from e + + cfg = self._load_config(Path(config_path)) + model_cfg = self._normalize_cfg(OmegaConf.to_container(cfg.model, resolve=True)) + self.roformer = ExtModel(**model_cfg) + self.config = cfg + self.sample_rate = int(cfg.audio.sample_rate) + + LayerWiseOffloadBackend.set_blocks_attr_names(self.roformer, ["layers"]) + dtype = torch.float16 if use_half else torch.float32 + self.roformer = self.roformer.to(dtype=dtype) + + chunk = int(chunk_length_sec * self.sample_rate) + self.config.inference = getattr(self.config, "inference", {}) + inf = self.config.inference + inf.chunk_size = chunk + inf.num_overlap = inf.get("num_overlap", 4) + inf.use_amp = False + inf.normalize = inf.get("normalize", True) + + fade = chunk // 10 + w = torch.ones(chunk) + w[:fade] = torch.linspace(0, 1, fade) + w[-fade:] = torch.linspace(1, 0, fade) + self.register_buffer("_window", w.to(dtype=dtype), persistent=False) + + if checkpoint_path: + self.load_checkpoint(str(checkpoint_path), use_half=use_half) + else: + self.roformer.eval() + + @staticmethod + def _normalize_cfg(cfg: dict) -> dict: + tuple_keys = {"multi_stft_resolutions_window_sizes", "freqs_per_bands", "multi_stft_window_sizes"} + + def _fix(v): + if isinstance(v, list): + return tuple(_fix(x) for x in v) + if isinstance(v, dict): + return {k: _fix(val) for k, val in v.items()} + return v + + for k in tuple_keys: + if k in cfg: + cfg[k] = _fix(cfg[k]) + return cfg + + @staticmethod + def _load_config(path: Path) -> DictConfig: + class Loader(yaml.SafeLoader): + pass + + Loader.add_constructor( + "tag:yaml.org,2002:python/tuple", + lambda loader, node: tuple(loader.construct_sequence(node)), + ) + with open(path) as f: + return OmegaConf.create(yaml.load(f, Loader=Loader)) + + def load_checkpoint(self, path: str, *, use_half: bool = True) -> None: + self.roformer.load_state_dict(torch.load(path, map_location="cpu"), strict=False) + if use_half: + self.roformer.half() + self.roformer.eval() + + @property + def chunk_size(self) -> int: + return int(self.config.inference.chunk_size) + + @property + def num_overlap(self) -> int: + return int(self.config.inference.num_overlap) + + @property + def use_amp(self) -> bool: + return bool(self.config.inference.use_amp) + + @property + def normalize_input(self) -> bool: + return bool(self.config.inference.normalize) + + @property + def num_channels(self) -> int: + return int(self.config.audio.get("num_channels", 1)) + + def _prepare_mix(self, mix: np.ndarray) -> tuple[np.ndarray, tuple[float, float] | None]: + if mix.ndim == 1: + mix = mix[np.newaxis, :] + if self.num_channels == 2 and mix.shape[0] == 1: + mix = np.repeat(mix, 2, axis=0) + if not self.normalize_input: + return mix, None + mono = mix.mean(0) + return (mix - mono.mean()) / mono.std(), (float(mono.mean()), float(mono.std())) + + @staticmethod + def _select_vocal(recon: torch.Tensor) -> torch.Tensor: + if recon.ndim == 4: + return recon[0, 0] + if recon.ndim == 3: + return recon[0] + if recon.ndim == 2: + return recon + raise ValueError(recon.shape) + + @torch.inference_mode() + def forward(self, mix: torch.Tensor) -> torch.Tensor: + if mix.ndim == 1: + mix = mix.unsqueeze(0) + if self.num_channels == 2 and mix.shape[0] == 1: + mix = mix.repeat(2, 1) + + model_dtype = next(self.roformer.parameters()).dtype + compute_dtype = torch.float32 if model_dtype == torch.float16 else model_dtype + if mix.dtype != compute_dtype: + mix = mix.to(dtype=compute_dtype) + + chunk_size = self.chunk_size + step = chunk_size // self.num_overlap + fade = chunk_size // 10 + border = chunk_size - step + n_samples = mix.shape[-1] + window = self._window.to(mix.device) + + if n_samples > 2 * border and border > 0: + mix = nn.functional.pad(mix, (border, border), mode="reflect") + + out = torch.zeros_like(mix) + weight = torch.zeros(mix.shape[-1], device=mix.device, dtype=mix.dtype) + pos = 0 + with torch.cuda.amp.autocast(enabled=self.use_amp): + while pos < mix.shape[-1]: + part = mix[:, pos : pos + chunk_size] + seg_len = part.shape[-1] + pad_mode = "reflect" if seg_len > chunk_size // 2 else "constant" + part = nn.functional.pad(part, (0, chunk_size - seg_len), mode=pad_mode, value=0) + stem = self._select_vocal(self.roformer(part.unsqueeze(0))) + win = window.clone() + if pos == 0: + win[:fade] = 1 + elif pos + step >= n_samples: + win[-fade:] = 1 + out[:, pos : pos + seg_len] += stem[:, :seg_len] * win[:seg_len] + weight[pos : pos + seg_len] += win[:seg_len] + pos += step + + out = out / weight + if n_samples > 2 * border and border > 0: + out = out[..., border:-border] + return out + + @torch.inference_mode() + def separate_mono(self, mix: np.ndarray, device: torch.device) -> np.ndarray: + m, norm = self._prepare_mix(mix) + target_dtype = next(self.roformer.parameters()).dtype + v = self.forward(torch.as_tensor(m, dtype=target_dtype, device=device)) + if norm: + v = v * norm[1] + norm[0] + v = v.mean(0) if v.ndim == 2 else v + return v.float().cpu().numpy().astype(np.float32) + + def separate_path(self, path: str, device: torch.device) -> tuple[np.ndarray, int]: + mix, _ = load_audio(path, sr=self.sample_rate, mono=False) + return self.separate_mono(np.asarray(mix, dtype=np.float32), device), self.sample_rate diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/vocoder.py b/vllm_omni/diffusion/models/soulx_singer/modules/vocoder.py new file mode 100644 index 000000000..ca3ef852e --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/vocoder.py @@ -0,0 +1,983 @@ +import accelerate +import numpy as np +import scipy +import torch +from omegaconf import DictConfig +from torch import nn, view_as_complex, view_as_real +from torch.nn.utils import remove_weight_norm, weight_norm +from torchaudio.functional.functional import _hz_to_mel, _mel_to_hz + + +def _deep_update_dict(base: dict, override: dict | None) -> dict: + """Recursively merge `override` into `base` (dict only).""" + if not override: + return base + for k, v in override.items(): + if isinstance(v, dict) and isinstance(base.get(k), dict): + base[k] = _deep_update_dict(base[k], v) + else: + base[k] = v + return base + + +def _get_vocoder_default_cfg() -> dict: + # Defaults keep current behavior. + return { + "preprocess": { + "hop_size": 480, + "sample_rate": 24000, + "max_length": 36000, + "n_fft": 1920, + "num_mels": 128, + "win_size": 1920, + "fmin": 0, + "fmax": 12000, + "mel_var": 8.14, + "mel_mean": -4.92, + "load_phone": False, + "load_chromagram": False, + }, + "model": { + "vocos": { + "input_channels": 128, + "dim": 1024, + "intermediate_dim": 4096, + "num_layers": 30, + "n_fft": 1920, + "hop_size": 480, + "padding": "same", + }, + "period_gan": { + "max_downsample_channels": 1024, + "channels": 64, + "channel_increasing_factor": 2, + }, + "spec_gan": { + "stft_params": { + "fft_sizes": [128, 256, 512, 1024, 2048], + "hop_sizes": [32, 64, 128, 256, 512], + "win_lengths": [128, 256, 512, 1024, 2048], + "window": "hann_window", + }, + "in_channels": 1, + "out_channels": 1, + "channels": 64, + "kernel_sizes": [5, 3], + "max_downsample_channels": 1024, + "down_scales": [2, 2, 2], + "use_weight_norm": True, + "use_complex": False, + }, + }, + "loss": { + "mel_loss": {"sample_rate": 24000}, + "disc_loss_weight": 1.0, + "mel_loss_weight": 10.0, + "adv_loss_weight": 2.0, + "fm_loss_weight": 2.0, + "spec_fm_loss_weight": 1.0, + }, + } + + +def safe_log(x: torch.Tensor, clip_val: float = 1e-7) -> torch.Tensor: + """ + Computes the element-wise logarithm of the input tensor with clipping to avoid near-zero values. + + Args: + x (Tensor): Input tensor. + clip_val (float, optional): Minimum value to clip the input tensor. Defaults to 1e-7. + + Returns: + Tensor: Element-wise logarithm of the input tensor with clipping applied. + """ + return torch.log(torch.clip(x, min=clip_val)) + + +def symlog(x: torch.Tensor) -> torch.Tensor: + return torch.sign(x) * torch.log1p(x.abs()) + + +def symexp(x: torch.Tensor) -> torch.Tensor: + return torch.sign(x) * (torch.exp(x.abs()) - 1) + + +class STFT(nn.Module): + def __init__( + self, + n_fft: int, + hop_length: int, + win_length: int, + center=True, + ): + super().__init__() + self.center = center + self.n_fft = n_fft + self.hop_length = hop_length + self.win_length = win_length + window = torch.hann_window(win_length) + self.register_buffer("window", window) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + # x: (B, T * hop_length) + + if not self.center: + pad = self.win_length - self.hop_length + x = torch.nn.functional.pad(x, (pad // 2, pad // 2), mode="reflect") + + stft_spec = torch.stft( + x, + self.n_fft, + hop_length=self.hop_length, + win_length=self.win_length, + window=self.window, + center=self.center, + return_complex=False, + ) # (B, n_fft // 2 + 1, T, 2) + + rea = stft_spec[:, :, :, 0] # (B, n_fft // 2 + 1, T, 2) + imag = stft_spec[:, :, :, 1] # (B, n_fft // 2 + 1, T, 2) + + log_mag = torch.log( + torch.abs(torch.sqrt(torch.pow(rea, 2) + torch.pow(imag, 2))) + 1e-5 + ) # (B, n_fft // 2 + 1, T) + phase = torch.atan2(imag, rea) # (B, n_fft // 2 + 1, T) + + return log_mag, phase + + +class ISTFT(nn.Module): + """ + Custom implementation of ISTFT since torch.istft doesn't allow custom padding (other than `center=True`) with + windowing. This is because the NOLA (Nonzero Overlap Add) check fails at the edges. + See issue: https://github.com/pytorch/pytorch/issues/62323 + Specifically, in the context of neural vocoding we are interested in "same" padding analogous to CNNs. + The NOLA constraint is met as we trim padded samples anyway. + + Args: + n_fft (int): Size of Fourier transform. + hop_length (int): The distance between neighboring sliding window frames. + win_length (int): The size of window frame and STFT filter. + padding (str, optional): Type of padding. Options are "center" or "same". Defaults to "same". + """ + + def __init__(self, n_fft: int, hop_length: int, win_length: int, padding: str = "same"): + super().__init__() + if padding not in ["center", "same"]: + raise ValueError("Padding must be 'center' or 'same'.") + self.padding = padding + self.n_fft = n_fft + self.hop_length = hop_length + self.win_length = win_length + window = torch.hann_window(win_length) + self.register_buffer("window", window) + + def forward(self, spec: torch.Tensor) -> torch.Tensor: + """ + Compute the Inverse Short Time Fourier Transform (ISTFT) of a complex spectrogram. + + Args: + spec (Tensor): Input complex spectrogram of shape (B, N, T), where B is the batch size, + N is the number of frequency bins, and T is the number of time frames. + + Returns: + Tensor: Reconstructed time-domain signal of shape (B, L), where L is the length of the output signal. + """ + if self.padding == "center": + # Fallback to pytorch native implementation + return torch.istft( + spec, + self.n_fft, + self.hop_length, + self.win_length, + self.window, + center=True, + ) + elif self.padding == "same": + pad = (self.win_length - self.hop_length) // 2 + else: + raise ValueError("Padding must be 'center' or 'same'.") + + assert spec.dim() == 3, "Expected a 3D tensor as input" + B, N, T = spec.shape + + # Inverse FFT + ifft = torch.fft.irfft(spec, self.n_fft, dim=1, norm="backward") + ifft = ifft * self.window[None, :, None] + + # Overlap and Add + output_size = (T - 1) * self.hop_length + self.win_length + y = torch.nn.functional.fold( + ifft, + output_size=(1, output_size), + kernel_size=(1, self.win_length), + stride=(1, self.hop_length), + )[:, 0, 0, pad:-pad] + + # Window envelope + window_sq = self.window.square().expand(1, T, -1).transpose(1, 2) + window_envelope = torch.nn.functional.fold( + window_sq, + output_size=(1, output_size), + kernel_size=(1, self.win_length), + stride=(1, self.hop_length), + ).squeeze()[pad:-pad] + + # Normalize + assert (window_envelope > 1e-11).all() + y = y / window_envelope + + return y + + +class MDCT(nn.Module): + """ + Modified Discrete Cosine Transform (MDCT) module. + + Args: + frame_len (int): Length of the MDCT frame. + padding (str, optional): Type of padding. Options are "center" or "same". Defaults to "same". + """ + + def __init__(self, frame_len: int, padding: str = "same"): + super().__init__() + if padding not in ["center", "same"]: + raise ValueError("Padding must be 'center' or 'same'.") + self.padding = padding + self.frame_len = frame_len + N = frame_len // 2 + n0 = (N + 1) / 2 + window = torch.from_numpy(scipy.signal.cosine(frame_len)).float() + self.register_buffer("window", window) + + pre_twiddle = torch.exp(-1j * torch.pi * torch.arange(frame_len) / frame_len) + post_twiddle = torch.exp(-1j * torch.pi * n0 * (torch.arange(N) + 0.5) / N) + # view_as_real: NCCL Backend does not support ComplexFloat data type + # https://github.com/pytorch/pytorch/issues/71613 + self.register_buffer("pre_twiddle", view_as_real(pre_twiddle)) + self.register_buffer("post_twiddle", view_as_real(post_twiddle)) + + def forward(self, audio: torch.Tensor) -> torch.Tensor: + """ + Apply the Modified Discrete Cosine Transform (MDCT) to the input audio. + + Args: + audio (Tensor): Input audio waveform of shape (B, T), where B is the batch size + and T is the length of the audio. + + Returns: + Tensor: MDCT coefficients of shape (B, L, N), where L is the number of output frames + and N is the number of frequency bins. + """ + if self.padding == "center": + audio = torch.nn.functional.pad(audio, (self.frame_len // 2, self.frame_len // 2)) + elif self.padding == "same": + # hop_length is 1/2 frame_len + audio = torch.nn.functional.pad(audio, (self.frame_len // 4, self.frame_len // 4)) + else: + raise ValueError("Padding must be 'center' or 'same'.") + + x = audio.unfold(-1, self.frame_len, self.frame_len // 2) + N = self.frame_len // 2 + x = x * self.window.expand(x.shape) + x = torch.fft.fft(x * view_as_complex(self.pre_twiddle).expand(x.shape), dim=-1)[..., :N] + res = x * view_as_complex(self.post_twiddle).expand(x.shape) * np.sqrt(1 / N) + return torch.real(res) * np.sqrt(2) + + +class IMDCT(nn.Module): + """ + Inverse Modified Discrete Cosine Transform (IMDCT) module. + + Args: + frame_len (int): Length of the MDCT frame. + padding (str, optional): Type of padding. Options are "center" or "same". Defaults to "same". + """ + + def __init__(self, frame_len: int, padding: str = "same"): + super().__init__() + if padding not in ["center", "same"]: + raise ValueError("Padding must be 'center' or 'same'.") + self.padding = padding + self.frame_len = frame_len + N = frame_len // 2 + n0 = (N + 1) / 2 + window = torch.from_numpy(scipy.signal.cosine(frame_len)).float() + self.register_buffer("window", window) + + pre_twiddle = torch.exp(1j * torch.pi * n0 * torch.arange(N * 2) / N) + post_twiddle = torch.exp(1j * torch.pi * (torch.arange(N * 2) + n0) / (N * 2)) + self.register_buffer("pre_twiddle", view_as_real(pre_twiddle)) + self.register_buffer("post_twiddle", view_as_real(post_twiddle)) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + """ + Apply the Inverse Modified Discrete Cosine Transform (IMDCT) to the input MDCT coefficients. + + Args: + x (Tensor): Input MDCT coefficients of shape (B, L, N), where B is the batch size, + L is the number of frames, and N is the number of frequency bins. + + Returns: + Tensor: Reconstructed audio waveform of shape (B, T), where T is the length of the audio. + """ + B, L, N = x.shape + Y = torch.zeros((B, L, N * 2), dtype=x.dtype, device=x.device) + Y[..., :N] = x + Y[..., N:] = -1 * torch.conj(torch.flip(x, dims=(-1,))) + y = torch.fft.ifft(Y * view_as_complex(self.pre_twiddle).expand(Y.shape), dim=-1) + y = torch.real(y * view_as_complex(self.post_twiddle).expand(y.shape)) * np.sqrt(N) * np.sqrt(2) + result = y * self.window.expand(y.shape) + output_size = (1, (L + 1) * N) + audio = torch.nn.functional.fold( + result.transpose(1, 2), + output_size=output_size, + kernel_size=(1, self.frame_len), + stride=(1, self.frame_len // 2), + )[:, 0, 0, :] + + if self.padding == "center": + pad = self.frame_len // 2 + elif self.padding == "same": + pad = self.frame_len // 4 + else: + raise ValueError("Padding must be 'center' or 'same'.") + + audio = audio[:, pad:-pad] + return audio + + +class FourierHead(nn.Module): + """Base class for inverse fourier modules.""" + + def forward(self, x: torch.Tensor) -> torch.Tensor: + """ + Args: + x (Tensor): Input tensor of shape (B, L, H), where B is the batch size, + L is the sequence length, and H denotes the model dimension. + + Returns: + Tensor: Reconstructed time-domain audio signal of shape (B, T), where T is the length of the output signal. + """ + raise NotImplementedError("Subclasses must implement the forward method.") + + +class ISTFTHead(FourierHead): + """ + ISTFT Head module for predicting STFT complex coefficients. + + Args: + dim (int): Hidden dimension of the model. + n_fft (int): Size of Fourier transform. + hop_length (int): The distance between neighboring sliding window frames, which should align with + the resolution of the input features. + padding (str, optional): Type of padding. Options are "center" or "same". Defaults to "same". + """ + + def __init__(self, dim: int, n_fft: int, hop_length: int, padding: str = "same"): + super().__init__() + out_dim = n_fft + 2 + self.out = torch.nn.Linear(dim, out_dim) + self.istft = ISTFT(n_fft=n_fft, hop_length=hop_length, win_length=n_fft, padding=padding) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + """ + Forward pass of the ISTFTHead module. + + Args: + x (Tensor): Input tensor of shape (B, L, H), where B is the batch size, + L is the sequence length, and H denotes the model dimension. + + Returns: + Tensor: Reconstructed time-domain audio signal of shape (B, T), where T is the length of the output signal. + """ + x = self.out(x).transpose(1, 2) + mag, p = x.chunk(2, dim=1) + mag = torch.exp(mag) + mag = torch.clip(mag, max=1e2) # safeguard to prevent excessively large magnitudes + # wrapping happens here. These two lines produce real and imaginary value + x = torch.cos(p) + y = torch.sin(p) + # recalculating phase here does not produce anything new + # only costs time + # phase = torch.atan2(y, x) + # S = mag * torch.exp(phase * 1j) + # better directly produce the complex value + + # Always compute complex values in float32 to avoid ComplexHalf warning (then cast audio back if needed) + orig_dtype = mag.dtype + mag, x, y = mag.float(), x.float(), y.float() + S = mag * (x + 1j * y) + audio = self.istft(S) + if orig_dtype != torch.float32: + audio = audio.to(orig_dtype) + return audio + + +class IMDCTSymExpHead(FourierHead): + """ + IMDCT Head module for predicting MDCT coefficients with symmetric exponential function + + Args: + dim (int): Hidden dimension of the model. + mdct_frame_len (int): Length of the MDCT frame. + padding (str, optional): Type of padding. Options are "center" or "same". Defaults to "same". + sample_rate (int, optional): The sample rate of the audio. If provided, the last layer will be initialized + based on perceptual scaling. Defaults to None. + clip_audio (bool, optional): If True, clip audio to [-1.0, 1.0]. Defaults to False. + """ + + def __init__( + self, + dim: int, + mdct_frame_len: int, + padding: str = "same", + sample_rate: int | None = None, + clip_audio: bool = False, + ): + super().__init__() + out_dim = mdct_frame_len // 2 + self.out = nn.Linear(dim, out_dim) + self.imdct = IMDCT(frame_len=mdct_frame_len, padding=padding) + self.clip_audio = clip_audio + + if sample_rate is not None: + # optionally init the last layer following mel-scale + m_max = _hz_to_mel(sample_rate // 2) + m_pts = torch.linspace(0, m_max, out_dim) + f_pts = _mel_to_hz(m_pts) + scale = 1 - (f_pts / f_pts.max()) + + with torch.no_grad(): + self.out.weight.mul_(scale.view(-1, 1)) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + """ + Forward pass of the IMDCTSymExpHead module. + + Args: + x (Tensor): Input tensor of shape (B, L, H), where B is the batch size, + L is the sequence length, and H denotes the model dimension. + + Returns: + Tensor: Reconstructed time-domain audio signal of shape (B, T), where T is the length of the output signal. + """ + x = self.out(x) + x = symexp(x) + x = torch.clip(x, min=-1e2, max=1e2) # safeguard to prevent excessively large magnitudes + audio = self.imdct(x) + if self.clip_audio: + audio = torch.clip(x, min=-1.0, max=1.0) + + return audio + + +class IMDCTCosHead(FourierHead): + """ + IMDCT Head module for predicting MDCT coefficients with parametrizing MDCT = exp(m) · cos(p) + + Args: + dim (int): Hidden dimension of the model. + mdct_frame_len (int): Length of the MDCT frame. + padding (str, optional): Type of padding. Options are "center" or "same". Defaults to "same". + clip_audio (bool, optional): If True, clip audio to [-1.0, 1.0]. Defaults to False. + """ + + def __init__( + self, + dim: int, + mdct_frame_len: int, + padding: str = "same", + clip_audio: bool = False, + ): + super().__init__() + self.clip_audio = clip_audio + self.out = nn.Linear(dim, mdct_frame_len) + self.imdct = IMDCT(frame_len=mdct_frame_len, padding=padding) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + """ + Forward pass of the IMDCTCosHead module. + + Args: + x (Tensor): Input tensor of shape (B, L, H), where B is the batch size, + L is the sequence length, and H denotes the model dimension. + + Returns: + Tensor: Reconstructed time-domain audio signal of shape (B, T), where T is the length of the output signal. + """ + x = self.out(x) + m, p = x.chunk(2, dim=2) + m = torch.exp(m).clip(max=1e2) # safeguard to prevent excessively large magnitudes + audio = self.imdct(m * torch.cos(p)) + if self.clip_audio: + audio = torch.clip(x, min=-1.0, max=1.0) + return audio + + +class ConvNeXtBlock(nn.Module): + """ConvNeXt Block adapted from https://github.com/facebookresearch/ConvNeXt to 1D audio signal. + + Args: + dim (int): Number of input channels. + intermediate_dim (int): Dimensionality of the intermediate layer. + layer_scale_init_value (float, optional): Initial value for the layer scale. None means no scaling. + Defaults to None. + adanorm_num_embeddings (int, optional): Number of embeddings for AdaLayerNorm. + None means non-conditional LayerNorm. Defaults to None. + """ + + def __init__( + self, + dim: int, + intermediate_dim: int, + layer_scale_init_value: float, + adanorm_num_embeddings: int | None = None, + ): + super().__init__() + self.dwconv = nn.Conv1d(dim, dim, kernel_size=7, padding=3, groups=dim) # depthwise conv + self.adanorm = adanorm_num_embeddings is not None + if adanorm_num_embeddings: + self.norm = AdaLayerNorm(adanorm_num_embeddings, dim, eps=1e-6) + else: + self.norm = nn.LayerNorm(dim, eps=1e-6) + self.pwconv1 = nn.Linear(dim, intermediate_dim) # pointwise/1x1 convs, implemented with linear layers + self.act = nn.GELU() + self.pwconv2 = nn.Linear(intermediate_dim, dim) + self.gamma = ( + nn.Parameter(layer_scale_init_value * torch.ones(dim), requires_grad=True) + if layer_scale_init_value > 0 + else None + ) + + def forward(self, x: torch.Tensor, cond_embedding_id: torch.Tensor | None = None) -> torch.Tensor: + residual = x + x = self.dwconv(x) + x = x.transpose(1, 2) # (B, C, T) -> (B, T, C) + if self.adanorm: + assert cond_embedding_id is not None + x = self.norm(x, cond_embedding_id) + else: + x = self.norm(x) + x = self.pwconv1(x) + x = self.act(x) + x = self.pwconv2(x) + if self.gamma is not None: + x = self.gamma * x + x = x.transpose(1, 2) # (B, T, C) -> (B, C, T) + + x = residual + x + return x + + +class AdaLayerNorm(nn.Module): + """ + Adaptive Layer Normalization module with learnable embeddings per `num_embeddings` classes + + Args: + num_embeddings (int): Number of embeddings. + embedding_dim (int): Dimension of the embeddings. + """ + + def __init__(self, num_embeddings: int, embedding_dim: int, eps: float = 1e-6): + super().__init__() + self.eps = eps + self.dim = embedding_dim + self.scale = nn.Embedding(num_embeddings=num_embeddings, embedding_dim=embedding_dim) + self.shift = nn.Embedding(num_embeddings=num_embeddings, embedding_dim=embedding_dim) + torch.nn.init.ones_(self.scale.weight) + torch.nn.init.zeros_(self.shift.weight) + + def forward(self, x: torch.Tensor, cond_embedding_id: torch.Tensor) -> torch.Tensor: + scale = self.scale(cond_embedding_id) + shift = self.shift(cond_embedding_id) + x = nn.functional.layer_norm(x, (self.dim,), eps=self.eps) + x = x * scale + shift + return x + + +class ResBlock1(nn.Module): + """ + ResBlock adapted from HiFi-GAN V1 (https://github.com/jik876/hifi-gan) with dilated 1D convolutions, + but without upsampling layers. + + Args: + dim (int): Number of input channels. + kernel_size (int, optional): Size of the convolutional kernel. Defaults to 3. + dilation (tuple[int], optional): Dilation factors for the dilated convolutions. + Defaults to (1, 3, 5). + lrelu_slope (float, optional): Negative slope of the LeakyReLU activation function. + Defaults to 0.1. + layer_scale_init_value (float, optional): Initial value for the layer scale. None means no scaling. + Defaults to None. + """ + + def __init__( + self, + dim: int, + kernel_size: int = 3, + dilation: tuple[int, int, int] = (1, 3, 5), + lrelu_slope: float = 0.1, + layer_scale_init_value: float | None = None, + ): + super().__init__() + self.lrelu_slope = lrelu_slope + self.convs1 = nn.ModuleList( + [ + weight_norm( + nn.Conv1d( + dim, + dim, + kernel_size, + 1, + dilation=dilation[0], + padding=self.get_padding(kernel_size, dilation[0]), + ) + ), + weight_norm( + nn.Conv1d( + dim, + dim, + kernel_size, + 1, + dilation=dilation[1], + padding=self.get_padding(kernel_size, dilation[1]), + ) + ), + weight_norm( + nn.Conv1d( + dim, + dim, + kernel_size, + 1, + dilation=dilation[2], + padding=self.get_padding(kernel_size, dilation[2]), + ) + ), + ] + ) + + self.convs2 = nn.ModuleList( + [ + weight_norm( + nn.Conv1d( + dim, + dim, + kernel_size, + 1, + dilation=1, + padding=self.get_padding(kernel_size, 1), + ) + ), + weight_norm( + nn.Conv1d( + dim, + dim, + kernel_size, + 1, + dilation=1, + padding=self.get_padding(kernel_size, 1), + ) + ), + weight_norm( + nn.Conv1d( + dim, + dim, + kernel_size, + 1, + dilation=1, + padding=self.get_padding(kernel_size, 1), + ) + ), + ] + ) + + self.gamma = nn.ParameterList( + [ + ( + nn.Parameter(layer_scale_init_value * torch.ones(dim, 1), requires_grad=True) + if layer_scale_init_value is not None + else None + ), + ( + nn.Parameter(layer_scale_init_value * torch.ones(dim, 1), requires_grad=True) + if layer_scale_init_value is not None + else None + ), + ( + nn.Parameter(layer_scale_init_value * torch.ones(dim, 1), requires_grad=True) + if layer_scale_init_value is not None + else None + ), + ] + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + for c1, c2, gamma in zip(self.convs1, self.convs2, self.gamma): + xt = torch.nn.functional.leaky_relu(x, negative_slope=self.lrelu_slope) + xt = c1(xt) + xt = torch.nn.functional.leaky_relu(xt, negative_slope=self.lrelu_slope) + xt = c2(xt) + if gamma is not None: + xt = gamma * xt + x = xt + x + return x + + def remove_weight_norm(self): + for conv in self.convs1: + remove_weight_norm(conv) + for conv in self.convs2: + remove_weight_norm(conv) + + @staticmethod + def get_padding(kernel_size: int, dilation: int = 1) -> int: + return int((kernel_size * dilation - dilation) / 2) + + +class Backbone(nn.Module): + """Base class for the generator's backbone. It preserves the same temporal resolution across all layers.""" + + def forward(self, x: torch.Tensor, **kwargs) -> torch.Tensor: + """ + Args: + x (Tensor): Input tensor of shape (B, C, L), where B is the batch size, + C denotes output features, and L is the sequence length. + + Returns: + Tensor: Output of shape (B, L, H), where B is the batch size, L is the sequence length, + and H denotes the model dimension. + """ + raise NotImplementedError("Subclasses must implement the forward method.") + + +class VocosBackbone(Backbone): + """ + Vocos backbone module built with ConvNeXt blocks. Supports additional conditioning with Adaptive Layer Normalization + + Args: + input_channels (int): Number of input features channels. + dim (int): Hidden dimension of the model. + intermediate_dim (int): Intermediate dimension used in ConvNeXtBlock. + num_layers (int): Number of ConvNeXtBlock layers. + layer_scale_init_value (float, optional): Initial value for layer scaling. Defaults to `1 / num_layers`. + adanorm_num_embeddings (int, optional): Number of embeddings for AdaLayerNorm. + None means non-conditional model. Defaults to None. + """ + + def __init__( + self, + input_channels: int, + dim: int, + intermediate_dim: int, + num_layers: int, + layer_scale_init_value: float | None = None, + adanorm_num_embeddings: int | None = None, + ): + super().__init__() + self.input_channels = input_channels + self.embed = nn.Conv1d(input_channels, dim, kernel_size=7, padding=3) + self.adanorm = adanorm_num_embeddings is not None + if adanorm_num_embeddings: + self.norm = AdaLayerNorm(adanorm_num_embeddings, dim, eps=1e-6) + else: + self.norm = nn.LayerNorm(dim, eps=1e-6) + layer_scale_init_value = layer_scale_init_value or 1 / num_layers + self.convnext = nn.ModuleList( + [ + ConvNeXtBlock( + dim=dim, + intermediate_dim=intermediate_dim, + layer_scale_init_value=layer_scale_init_value, + adanorm_num_embeddings=adanorm_num_embeddings, + ) + for _ in range(num_layers) + ] + ) + self.final_layer_norm = nn.LayerNorm(dim, eps=1e-6) + self.apply(self._init_weights) + + def _init_weights(self, m): + if isinstance(m, nn.Conv1d | nn.Linear): + nn.init.trunc_normal_(m.weight, std=0.02) + nn.init.constant_(m.bias, 0) + + def forward(self, x: torch.Tensor, **kwargs) -> torch.Tensor: + bandwidth_id = kwargs.get("bandwidth_id", None) + x = self.embed(x) + if self.adanorm: + assert bandwidth_id is not None + x = self.norm(x.transpose(1, 2), cond_embedding_id=bandwidth_id) + else: + x = self.norm(x.transpose(1, 2)) + x = x.transpose(1, 2) + for conv_block in self.convnext: + x = conv_block(x, cond_embedding_id=bandwidth_id) + x = self.final_layer_norm(x.transpose(1, 2)) + return x + + +class VocosResNetBackbone(Backbone): + """ + Vocos backbone module built with ResBlocks. + + Args: + input_channels (int): Number of input features channels. + dim (int): Hidden dimension of the model. + num_blocks (int): Number of ResBlock1 blocks. + layer_scale_init_value (float, optional): Initial value for layer scaling. Defaults to None. + """ + + def __init__( + self, + input_channels, + dim, + num_blocks, + layer_scale_init_value=None, + ): + super().__init__() + self.input_channels = input_channels + self.embed = weight_norm(nn.Conv1d(input_channels, dim, kernel_size=3, padding=1)) + layer_scale_init_value = layer_scale_init_value or 1 / num_blocks / 3 + self.resnet = nn.Sequential( + *[ResBlock1(dim=dim, layer_scale_init_value=layer_scale_init_value) for _ in range(num_blocks)] + ) + + def forward(self, x: torch.Tensor, **kwargs) -> torch.Tensor: + x = self.embed(x) + x = self.resnet(x) + x = x.transpose(1, 2) + return x + + +class Vocos(nn.Module): + def __init__( + self, + input_channels: int = 256, + dim: int = 384, + intermediate_dim: int = 1152, + num_layers: int = 8, + n_fft: int = 800, + hop_size: int = 200, + padding: str = "same", + adanorm_num_embeddings=None, + cfg=None, + ): + super().__init__() + + input_channels = cfg.input_channels if cfg is not None and hasattr(cfg, "input_channels") else input_channels + dim = cfg.dim if cfg is not None and hasattr(cfg, "dim") else dim + intermediate_dim = ( + cfg.intermediate_dim if cfg is not None and hasattr(cfg, "intermediate_dim") else intermediate_dim + ) + num_layers = cfg.num_layers if cfg is not None and hasattr(cfg, "num_layers") else num_layers + adanorm_num_embeddings = ( + cfg.adanorm_num_embeddings + if cfg is not None and hasattr(cfg, "adanorm_num_embeddings") + else adanorm_num_embeddings + ) + n_fft = cfg.n_fft if cfg is not None and hasattr(cfg, "n_fft") else n_fft + hop_size = cfg.hop_size if cfg is not None and hasattr(cfg, "hop_size") else hop_size + padding = cfg.padding if cfg is not None and hasattr(cfg, "padding") else padding + + self.backbone = VocosBackbone( + input_channels=input_channels, + dim=dim, + intermediate_dim=intermediate_dim, + num_layers=num_layers, + adanorm_num_embeddings=adanorm_num_embeddings, + ) + self.head = ISTFTHead(dim, n_fft, hop_size, padding) + + def forward(self, x): + x = self.backbone(x) + x = self.head(x) + + return x[:, None, :] + + +class JsonHParams: + def __init__(self, **kwargs): + for k, v in kwargs.items(): + if isinstance(v, dict): + v = JsonHParams(**v) + self[k] = v + + def keys(self): + return self.__dict__.keys() + + def items(self): + return self.__dict__.items() + + def values(self): + return self.__dict__.values() + + def __len__(self): + return len(self.__dict__) + + def __getitem__(self, key): + return getattr(self, key) + + def __setitem__(self, key, value): + return setattr(self, key, value) + + def __contains__(self, key): + return key in self.__dict__ + + def __repr__(self): + return self.__dict__.__repr__() + + +def build_vocoder_model(cfg): + vocoder_model = Vocos(cfg=cfg.model.vocos) + vocoder_model.eval() + return vocoder_model + + +def load_checkpoint(build_model_func, cfg, ckpt_path): + model = build_model_func(cfg) + + if ckpt_path is not None: + accelerate.load_checkpoint_and_dispatch(model, ckpt_path) + return model + + +def load_vocos_model( + ckpt_path: str | None = None, + config: DictConfig = None, + device: str = "cuda", +): + """Load Vocos vocoder. + + Args: + config: DictConfig, config for vocoder. + ckpt_path: str | None = None, path to checkpoint. + device: str, device to load model. Note: accelerate dispatch handles device placement. + """ + + merged_cfg = _deep_update_dict(_get_vocoder_default_cfg(), config) + vocoder_cfg_obj = JsonHParams(**merged_cfg) + + vocoder_model = load_checkpoint(build_vocoder_model, vocoder_cfg_obj, ckpt_path) + vocoder_model.eval() + + for param in vocoder_model.parameters(): + param.requires_grad = False + + return vocoder_model + + +class Vocoder(nn.Module): + def __init__(self, vocoder: dict | None = None, ckpt_path: str | None = None): + super().__init__() + vocoder = vocoder or {} + + model_cfg = vocoder.get("model_cfg") or vocoder.get("cfg") + + self.model = load_vocos_model( + ckpt_path=ckpt_path, + config=model_cfg, + ) + + def forward(self, x): + x = self.model(x) + return x diff --git a/vllm_omni/diffusion/models/soulx_singer/modules/whisper_encoder.py b/vllm_omni/diffusion/models/soulx_singer/modules/whisper_encoder.py new file mode 100644 index 000000000..379dda3a5 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/modules/whisper_encoder.py @@ -0,0 +1,96 @@ +"""Frozen Whisper encoder wrapper (wav -> encoder embeddings).""" + +import torch +import torchaudio +from transformers import WhisperFeatureExtractor, WhisperModel + +WHISPER_MEL_FRAMES = 3000 # 3000 frames at 16000 Hz + + +class WhisperEncoder: + """Auxiliary content encoder for SVC. + + Kept in FP32 for stable HF Whisper inference under vLLM-Omni's default + BF16 diffusion trunk (same idea as Stable Audio's FP32 VAE). Outputs are + cast to the trunk dtype before fusion with the CFM conditioner. + """ + + def __init__(self, device: str | torch.device | None = None) -> None: + self.fe = WhisperFeatureExtractor.from_pretrained("openai/whisper-base") + self.model = WhisperModel.from_pretrained("openai/whisper-base") + self.device = torch.device( + device or ("cuda" if torch.cuda.is_available() else "cpu"), + ) + self.model = self.model.to(device=self.device, dtype=torch.float32) + self.model.eval() + for param in self.model.parameters(): + param.requires_grad_(False) + + @property + def dtype(self) -> torch.dtype: + return torch.float32 + + def float(self) -> "WhisperEncoder": + self.model = self.model.float() + return self + + def encode( + self, + wav: torch.Tensor, + sr: int, + *, + output_dtype: torch.dtype | None = None, + ) -> torch.Tensor: + wav = ( + torchaudio.functional.resample(wav, orig_freq=sr, new_freq=self.fe.sampling_rate) + if sr != self.fe.sampling_rate + else wav + ) + wav_np = wav.detach().float().cpu().numpy().astype("float32", copy=False) + + inputs = self.fe( + wav_np, + sampling_rate=self.fe.sampling_rate, + return_tensors="pt", + padding=False, + truncation=False, + return_attention_mask=True, + ) + + input_features = inputs.input_features + num_frames = input_features.shape[-1] + if num_frames < WHISPER_MEL_FRAMES: + pad = WHISPER_MEL_FRAMES - num_frames + input_features = torch.nn.functional.pad(input_features, (0, pad)) + else: + input_features = input_features[..., :WHISPER_MEL_FRAMES] + + input_features = input_features.to(device=wav.device, dtype=self.dtype) + if self.model.device != wav.device: + self.model = self.model.to(wav.device) + + attention_mask = inputs.attention_mask.to(wav.device) if inputs.attention_mask is not None else None + + with torch.inference_mode(): + encoder_out = self.model.encoder(input_features).last_hidden_state + + if attention_mask is not None: + valid_mel_frames = attention_mask.sum(dim=1) + valid_enc_frames = (valid_mel_frames + 1) // 2 + max_valid_enc_frames = min(int(valid_enc_frames.max().item()), encoder_out.shape[1]) + encoder_out = encoder_out[:, :max_valid_enc_frames, :] + valid_len = min(int(valid_enc_frames[0].item()), max_valid_enc_frames) + if valid_len < max_valid_enc_frames: + encoder_out[0, valid_len:, :] = 0 + + if output_dtype is not None and encoder_out.dtype != output_dtype: + encoder_out = encoder_out.to(dtype=output_dtype) + return encoder_out + + +if __name__ == "__main__": + torch.manual_seed(0) + audio = torch.randn(1, 24000 * 25).float().to("cuda") + encoder = WhisperEncoder() + whisper_encoder_out = encoder.encode(audio, sr=24000) + print(whisper_encoder_out.shape) diff --git a/vllm_omni/diffusion/models/soulx_singer/pipeline_soulx_singer_base.py b/vllm_omni/diffusion/models/soulx_singer/pipeline_soulx_singer_base.py new file mode 100644 index 000000000..64fa213ab --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/pipeline_soulx_singer_base.py @@ -0,0 +1,359 @@ +import os +import time +from collections.abc import Callable +from contextlib import contextmanager +from typing import Any, ClassVar + +import torch +import torch.nn as nn +from vllm.logger import init_logger +from vllm.utils.torch_utils import set_default_torch_dtype + +from vllm_omni.diffusion.data import DiffusionOutput, OmniDiffusionConfig +from vllm_omni.diffusion.distributed.cfg_parallel import CFGParallelMixin, _unwrap, _wrap +from vllm_omni.diffusion.distributed.utils import get_local_device +from vllm_omni.diffusion.models.interface import ( + SupportAudioInput, + SupportAudioOutput, + SupportsComponentDiscovery, +) +from vllm_omni.diffusion.models.soulx_singer.preprocess.payload import consume_payload +from vllm_omni.diffusion.models.soulx_singer.utils import _patch_torchaudio_load, load_config +from vllm_omni.diffusion.profiler.diffusion_pipeline_profiler import DiffusionPipelineProfilerMixin +from vllm_omni.diffusion.request import OmniDiffusionRequest +from vllm_omni.platforms import current_omni_platform + +logger = init_logger(__name__) + +_SOULX_PROFILER_TARGETS = [ + "forward", +] + + +class FlowMatchingAudioPipeline( + nn.Module, + CFGParallelMixin, + SupportAudioInput, + SupportAudioOutput, + SupportsComponentDiscovery, + DiffusionPipelineProfilerMixin, +): + """SoulX flow-matching pipeline with CFG / CFG-parallel support.""" + + support_audio_input: ClassVar[bool] = True + support_audio_output: ClassVar[bool] = True + audio_sample_rate: ClassVar[int] = 24000 + _DEFAULT_RESCALE_CFG: ClassVar[float] = 0.75 + _dit_modules: ClassVar[list[str]] = ["cfm_decoder.model.diff_estimator"] + _encoder_modules: ClassVar[list[str]] = ["mel", "f0_encoder"] + _vae_modules: ClassVar[list[str]] = ["vocoder"] + _resident_modules: ClassVar[list[str]] = ["cfm_decoder.model.cond_emb"] + + def __init__(self, *, od_config: OmniDiffusionConfig, prefix: str = ""): + super().__init__() + self.od_config = od_config + self.device = get_local_device() + + # 1. parse model path and yaml config + model_dir = od_config.model + assert model_dir is not None, "model_dir is not provided" + + if not os.path.exists(model_dir): + raise FileNotFoundError( + f"""Model directory {model_dir} does not exist. User should refer to + `examples/offline_inference/text_to_speech/README.md` for usage details.""" + ) + + # Empty: skip DiffusersPipelineLoader.get_all_weights() → no _prepare_weights / file glob / + # safetensors or pt iterator from the framework. Load checkpoints in __init__ instead. + self.weights_sources = () + + self.model_path = model_dir + + config_path = os.path.join(model_dir, "config.yaml") + hf_config = load_config(config_path) + + self.audio_config = hf_config.audio + self.encoder_config = hf_config.model.encoder + self.flow_matching_config = hf_config.model.flow_matching + + self.mel_dim = self.audio_config.num_mels + + self.f0_bin = self.encoder_config.f0_bin + self.f0_dim = self.encoder_config.f0_dim + self.text_dim = self.encoder_config.text_dim + self.vocab_size = self.encoder_config.vocab_size + self.pitch_dim = self.encoder_config.pitch_dim + self.type_dim = self.encoder_config.type_dim + + _patch_torchaudio_load() + + def _mel_to_audio(self, generated_mel: torch.Tensor, *, squeeze: bool = False) -> torch.Tensor: + audio = self.vocoder(generated_mel.transpose(1, 2)[0:1, ...].float()).float() + return audio.squeeze() if squeeze else audio + + def _mel_from_wav(self, wav: torch.Tensor) -> torch.Tensor: + if wav.dtype != torch.float32: + wav = wav.float() + return self.mel(wav) + + def _load_soulx_checkpoint(self, checkpoint_name: str) -> None: + weight_path = os.path.join(self.model_path, checkpoint_name) + if not os.path.isfile(weight_path): + raise FileNotFoundError( + f"Model weights not found at {weight_path}. Please check the pretrained model path." + ) + state = torch.load(weight_path, map_location=self.device) + self.mel.float() + self.load_state_dict(state["state_dict"], strict=True) + self._finalize_loaded_dtypes() + logger.info("Loaded model weights from %s", weight_path) + + def _setup_soulx_profiler(self, *, extra_targets: list[str] | None = None) -> None: + """Enable stage timing when ``od_config.enable_diffusion_pipeline_profiler`` is set.""" + targets = list(_SOULX_PROFILER_TARGETS) + if extra_targets: + targets.extend(extra_targets) + self.setup_diffusion_pipeline_profiler( + profiler_targets=targets, + enable_diffusion_pipeline_profiler=self.od_config.enable_diffusion_pipeline_profiler, + ) + + @contextmanager + def _stage_timer(self, name: str): + if not getattr(self, "enable_diffusion_pipeline_profiler", False): + yield + return + if current_omni_platform.is_available(): + current_omni_platform.synchronize() + start = time.perf_counter() + try: + yield + finally: + if current_omni_platform.is_available(): + current_omni_platform.synchronize() + duration = time.perf_counter() - start + with self._profiler_lock: + self._stage_durations[name] = self._stage_durations.get(name, 0.0) + duration + + def _profiler_stage_durations(self) -> dict[str, float] | None: + if getattr(self, "enable_diffusion_pipeline_profiler", False): + return self.stage_durations + return None + + @staticmethod + def _build_fp32_audio_modules(audio_config) -> tuple[nn.Module, nn.Module]: + """Mel/vocoder must stay FP32 even when ``od_config.dtype`` is FP16/BF16.""" + from vllm_omni.diffusion.models.soulx_singer.modules import MelSpectrogramEncoder, Vocoder + + with set_default_torch_dtype(torch.float32): + mel = MelSpectrogramEncoder(audio_config) + vocoder = Vocoder() + return mel, vocoder + + def _finalize_loaded_dtypes(self) -> None: + """Keep mel/vocoder in FP32; cast DiT trunk to ``od_config.dtype`` after load.""" + self.mel.float() + self.vocoder.float() + trunk_dtype = self.od_config.dtype + if trunk_dtype not in (torch.float16, torch.bfloat16): + return + trunk_modules = ( + "cfm_decoder", + "f0_encoder", + "preflow", + "note_text_encoder", + "note_pitch_encoder", + "note_type_encoder", + ) + for name in trunk_modules: + module = getattr(self, name, None) + if module is not None: + module.to(dtype=trunk_dtype) + whisper = getattr(self, "whisper_encoder", None) + if whisper is not None: + whisper.float() + + @property + def transformer(self) -> nn.Module: + """Alias expected by ``CFGParallelMixin`` default hooks.""" + return self.cfm_decoder.model.diff_estimator + + @property + def diffusion_trunk_dtype(self) -> torch.dtype: + """DiT trunk dtype from ``diff_estimator`` (not ``cond_emb``, which is registered first).""" + return next(self.cfm_decoder.model.diff_estimator.parameters()).dtype + + def _to_trunk_dtype(self, *tensors: torch.Tensor) -> tuple[torch.Tensor, ...]: + """Cast tensors to ``diffusion_trunk_dtype`` at the CFM/DiT boundary.""" + trunk_dtype = self.diffusion_trunk_dtype + return tuple(t if t.dtype == trunk_dtype else t.to(dtype=trunk_dtype) for t in tensors) + + def _resolve_diffusion_generator(self, sampling_params: Any) -> torch.Generator | None: + """Build a device-local RNG for CFM noise from ``generator`` or ``seed``.""" + generator = getattr(sampling_params, "generator", None) + if generator is not None: + return generator + seed = getattr(sampling_params, "seed", None) + if seed is None: + return None + return torch.Generator(device=self.device).manual_seed(int(seed)) + + def _prepare_cfm_loop_state( + self, + prompt: torch.Tensor, + cond: torch.Tensor, + n_timesteps: int, + *, + generator: torch.Generator | None = None, + ) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, int]: + """Cast FP32 islands to trunk dtype and build CFM loop tensors/masks.""" + trunk_dtype = self.diffusion_trunk_dtype + prompt, cond = self._to_trunk_dtype(prompt, cond) + cond_emb = self.cfm_decoder.model.cond_emb(cond) + if cond_emb.dtype != trunk_dtype: + cond_emb = self._to_trunk_dtype(cond_emb)[0] + device = cond_emb.device + + h = 1.0 / n_timesteps + h_tensor = torch.tensor(h, device=device, dtype=trunk_dtype) + prompt_len = prompt.shape[1] + target_len = cond_emb.shape[1] - prompt_len + + x_mask = torch.ones(cond_emb.shape[0], target_len, device=device, dtype=trunk_dtype) + prompt_mask = torch.ones(cond_emb.shape[0], prompt_len, device=device, dtype=trunk_dtype) + xt_mask = torch.cat([prompt_mask, x_mask], dim=1) + xt = torch.randn( + cond_emb.shape[0], + target_len, + self.mel_dim, + dtype=trunk_dtype, + device=device, + generator=generator, + ) + return cond_emb, prompt, xt, x_mask, xt_mask, h_tensor, prompt_len + + def predict_noise( + self, + *, + x: torch.Tensor, + diffusion_step: torch.Tensor, + cond: torch.Tensor, + x_mask: torch.Tensor, + prompt_len: int | None = None, + **_: Any, + ) -> torch.Tensor: + """Forward through ``diff_estimator``, optionally slice off prompt frames.""" + x, diffusion_step, cond, x_mask = self._to_trunk_dtype(x, diffusion_step, cond, x_mask) + flow_pred = self.cfm_decoder.model.diff_estimator(x, diffusion_step, cond, x_mask) + if prompt_len is not None: + flow_pred = flow_pred[:, prompt_len:, :] + return flow_pred + + def combine_cfg_noise( + self, + positive_noise_pred: torch.Tensor | tuple[torch.Tensor, ...], + negative_noise_pred: torch.Tensor | tuple[torch.Tensor, ...], + true_cfg_scale: float, + cfg_normalize: bool = False, + rescale_cfg: float | None = None, + ) -> torch.Tensor | tuple[torch.Tensor, ...]: + """SoulX CFG: pos + scale * (pos - neg) with std rescaling.""" + del cfg_normalize # SoulX uses rescale_cfg instead of cfg_normalize_function. + if rescale_cfg is None: + rescale_cfg = getattr(self, "rescale_cfg", self._DEFAULT_RESCALE_CFG) + + pos = _unwrap(_wrap(positive_noise_pred)) + neg = _unwrap(_wrap(negative_noise_pred)) + + pos_flow_pred_std = pos.std() + flow_pred_cfg = pos + true_cfg_scale * (pos - neg) + rescale_flow_pred = flow_pred_cfg * pos_flow_pred_std / flow_pred_cfg.std() + combined = rescale_cfg * rescale_flow_pred + (1 - rescale_cfg) * flow_pred_cfg + return combined.to(dtype=pos.dtype) + + def _run_flow_matching_loop( + self, + prompt: torch.Tensor, + cond: torch.Tensor, + n_timesteps: int, + cfg: float, + *, + generator: torch.Generator | None = None, + ) -> torch.Tensor: + """Euler flow-matching loop aligned with ``FlowMatchingTransformer.reverse_diffusion``.""" + cond_emb, prompt, xt, x_mask, xt_mask, h_tensor, prompt_len = self._prepare_cfm_loop_state( + prompt, cond, n_timesteps, generator=generator + ) + trunk_dtype = self.diffusion_trunk_dtype + step_scale = 1.0 / n_timesteps + + for i in range(n_timesteps): + xt_input = torch.cat([prompt, xt], dim=1) + diffusion_step = torch.full( + (xt.shape[0],), + fill_value=(i + 0.5) * step_scale, + device=xt.device, + dtype=trunk_dtype, + ) + + flow_pred = self.predict_noise_maybe_with_cfg( + do_true_cfg=(cfg > 0), + true_cfg_scale=cfg, + positive_kwargs={ + "x": xt_input, + "diffusion_step": diffusion_step, + "cond": cond_emb, + "x_mask": xt_mask, + "prompt_len": prompt_len, + }, + negative_kwargs={ + "x": xt, + "diffusion_step": diffusion_step, + # CFG null cond: zero out target frames only (prompt cond stays in pos branch). + "cond": torch.zeros_like(cond_emb)[:, : xt.shape[1], :], + "x_mask": x_mask, + }, + cfg_normalize=False, + ) + + xt = xt + flow_pred * h_tensor + + return xt + + def _forward_batch_from_request( + self, + req: OmniDiffusionRequest, + *, + kind: str, + custom_output_key: str, + infer_batch_fn: Callable[..., tuple[torch.Tensor, int]], + prepare_extra_args: Callable[[dict[str, Any], Any], dict[str, Any]] | None = None, + ) -> DiffusionOutput: + sampling_params = req.sampling_params + extra_args = dict(getattr(sampling_params, "extra_args", None) or {}) + if prepare_extra_args is not None: + extra_args = prepare_extra_args(extra_args, sampling_params) + sampling_params.extra_args = extra_args + + num_inference_steps = sampling_params.num_inference_steps or 32 + guidance_scale = sampling_params.guidance_scale or 3.0 + generator = self._resolve_diffusion_generator(sampling_params) + + with self._stage_timer("consume_payload"): + payload = consume_payload(req, kind, self.device) + + with self._stage_timer("infer_segments"): + audio, pitch_shift = infer_batch_fn( + payload, + extra_args=extra_args, + num_inference_steps=num_inference_steps, + guidance_scale=guidance_scale, + generator=generator, + ) + + return DiffusionOutput( + output=audio, + custom_output={custom_output_key: pitch_shift}, + stage_durations=self._profiler_stage_durations() or {}, + ) diff --git a/vllm_omni/diffusion/models/soulx_singer/pipeline_soulx_singer_svc.py b/vllm_omni/diffusion/models/soulx_singer/pipeline_soulx_singer_svc.py new file mode 100644 index 000000000..91d4437c2 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/pipeline_soulx_singer_svc.py @@ -0,0 +1,409 @@ +"""SoulX-Singer SVC (voice conversion) pipeline implementation.""" + +import os +from collections.abc import Iterable +from typing import Any, ClassVar + +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F +from vllm.logger import init_logger +from vllm.utils.torch_utils import set_default_torch_dtype + +from vllm_omni.diffusion.data import DiffusionOutput, OmniDiffusionConfig +from vllm_omni.diffusion.distributed.utils import get_local_device +from vllm_omni.diffusion.models.soulx_singer.modules import ( + CFMDecoder, + WhisperEncoder, +) +from vllm_omni.diffusion.models.soulx_singer.pipeline_soulx_singer_base import ( + FlowMatchingAudioPipeline, +) +from vllm_omni.diffusion.models.soulx_singer.preprocess.payload import ( + SOULX_PREPROCESSED_KEY, + get_soulx_preprocessed_payload, + has_precomputed, +) +from vllm_omni.diffusion.models.soulx_singer.preprocess.pre_process import ( + attach_preprocess_for_diffusion_request, + is_warmup_request, + resolve_preprocess_audio, +) +from vllm_omni.diffusion.models.soulx_singer.utils import ( + f0_to_coarse, + load_config, + resolve_pitch_shift, + validate_soulx_extra_args, +) +from vllm_omni.diffusion.request import OmniDiffusionRequest + +logger = init_logger(__name__) + + +def get_soulxsinger_svc_pre_process_func(od_config: OmniDiffusionConfig): + hf_config = load_config(os.path.join(od_config.model, "config.yaml")) + sample_rate = hf_config.audio.sample_rate + device = get_local_device() + _pipeline = None + + def pre_process_func(request: OmniDiffusionRequest) -> OmniDiffusionRequest: + nonlocal _pipeline + + extra_args = validate_soulx_extra_args( + "svc", + dict(getattr(request.sampling_params, "extra_args", None) or {}), + ) + + # Inline build: when no warmup/no precomputed paths/no IPC payload, + # build the preprocess payload directly from audio file paths. + if not (is_warmup_request(request) or has_precomputed(extra_args, "svc")): + prompt = request.prompts[0] + if not isinstance(prompt, str) and not get_soulx_preprocessed_payload(prompt): # type: ignore[arg-type] + prompt_audio, target_audio = resolve_preprocess_audio(prompt, extra_args) # type: ignore[arg-type] + if prompt_audio is not None and target_audio is not None: + if _pipeline is None: + from vllm_omni.diffusion.models.soulx_singer.modules.preprocess.pipeline import ( + SoulXPreprocessPipeline, + ) + + _pipeline = SoulXPreprocessPipeline( + od_config=od_config, + vocal_sep=bool(extra_args.get("vocal_sep", False)), + verbose=bool(extra_args.get("preprocess_verbose", False)), + extra_args=extra_args, + ) + payload = _pipeline.build_svc_payload_from_audio( + prompt_audio=prompt_audio, + target_audio=target_audio, + sample_rate=sample_rate, + device=device, + vocal_sep=extra_args.get("vocal_sep"), + ) + payload.setdefault("kind", "svc") + prompt.setdefault("additional_information", {})[SOULX_PREPROCESSED_KEY] = payload # type: ignore[union-attr, assignment] + + return attach_preprocess_for_diffusion_request( + request, + kind="svc", + sample_rate=sample_rate, + device=device, + ) + + return pre_process_func + + +def get_soulxsinger_post_process_func(od_config: OmniDiffusionConfig): + def post_process_func(audio: torch.Tensor): + return audio.detach().cpu().float().numpy() + + return post_process_func + + +class PipelineSoulXSingerSVC(FlowMatchingAudioPipeline): + """SVC pipeline for the SoulX-Singer model.""" + + _encoder_modules: ClassVar[list[str]] = [ + "whisper_encoder", + "mel", + "f0_encoder", + ] + + EXTRA_BODY_PARAMS: ClassVar[frozenset[str]] = frozenset( + { + "prompt_wav_path", + "target_wav_path", + "prompt_f0_path", + "target_f0_path", + "prompt_audio", + "target_audio", + "vocal_sep", + "preprocess_weights_dir", + "preprocess_verbose", + "auto_shift", + "pitch_shift", + } + ) + + EXTRA_OUTPUT_PARAMS: ClassVar[frozenset[str]] = frozenset({"pitch_shift"}) + + def __init__(self, *, od_config: OmniDiffusionConfig, prefix: str = ""): + super().__init__(od_config=od_config, prefix=prefix) + + self.f0_encoder = nn.Embedding(self.f0_bin, self.f0_dim) + + self.cfm_decoder = CFMDecoder(self.flow_matching_config) + + self.mel, self.vocoder = self._build_fp32_audio_modules(self.audio_config) + with set_default_torch_dtype(torch.float32): + self.whisper_encoder = WhisperEncoder(device=self.device) + + self._setup_soulx_profiler() + + def _encode_condition(self, *, whisper_features: torch.Tensor, f0_coarse: torch.Tensor) -> torch.Tensor: + cond = whisper_features + self.f0_encoder(f0_coarse) + return self._to_trunk_dtype(cond)[0] + + def _encode_prompt_whisper_feature(self, prompt_wav: torch.Tensor) -> torch.Tensor: + trunk_dtype = self.f0_encoder.weight.dtype + with self._stage_timer("whisper"): + return self.whisper_encoder.encode( + prompt_wav, + sr=self.audio_config.sample_rate, + output_dtype=trunk_dtype, + ) + + _encode_target_whisper_feature = _encode_prompt_whisper_feature + + def _infer_segment( + self, + *, + prompt_mel: torch.Tensor, + prompt_wav: torch.Tensor, + target_wav: torch.Tensor, + prompt_f0: torch.Tensor, + target_f0: torch.Tensor, + pitch_shift: int, + num_inference_steps: int, + guidance_scale: float, + prompt_feature: torch.Tensor | None = None, + generator: torch.Generator | None = None, + ) -> torch.Tensor: + """Single-segment SVC inference aligned with ``SoulXSingerSVC.infer_segment``.""" + len_prompt_mel = prompt_mel.shape[1] + prompt_f0 = F.pad(prompt_f0, (0, 0, 0, max(0, len_prompt_mel - prompt_f0.shape[1])))[:, :len_prompt_mel] + + f0_coarse_prompt = f0_to_coarse(prompt_f0) + f0_coarse_target = f0_to_coarse(target_f0, f0_shift=int(pitch_shift * 5)) + f0_coarse = torch.cat([f0_coarse_prompt, f0_coarse_target], dim=1) + + trunk_dtype = self.f0_encoder.weight.dtype + if prompt_feature is None: + prompt_feature = self._encode_prompt_whisper_feature(prompt_wav) + with self._stage_timer("whisper"): + target_feature = self.whisper_encoder.encode( + target_wav, + sr=self.audio_config.sample_rate, + output_dtype=trunk_dtype, + ) + prompt_feature = F.pad( + prompt_feature, + (0, 0, 0, max(0, f0_coarse_prompt.shape[1] - prompt_feature.shape[1])), + )[:, : f0_coarse_prompt.shape[1], :] + target_feature = F.pad( + target_feature, + (0, 0, 0, max(0, f0_coarse_target.shape[1] - target_feature.shape[1])), + )[:, : f0_coarse_target.shape[1], :] + + whisper_features = torch.cat([prompt_feature, target_feature], dim=1) + with self._stage_timer("cond_encode"): + cond = self._encode_condition(whisper_features=whisper_features, f0_coarse=f0_coarse) + + with self._stage_timer("cfm"): + generated_mel = self._run_flow_matching_loop( + prompt=prompt_mel, + cond=cond, + n_timesteps=num_inference_steps, + cfg=guidance_scale, + generator=generator, + ) + + with self._stage_timer("vocoder"): + generated_audio = self._mel_to_audio(generated_mel, squeeze=True) + target_len = target_wav.shape[-1] + if generated_audio.shape[-1] > target_len: + generated_audio = generated_audio[:target_len] + elif generated_audio.shape[-1] < target_len: + generated_audio = F.pad(generated_audio, (0, target_len - generated_audio.shape[-1])) + return generated_audio + + def _build_vocal_segments( + self, + f0: torch.Tensor, + *, + hop_size: int, + sample_rate: int, + uv_frames_th: int = 10, + min_duration_sec: float = 15.0, + max_duration_sec: float = 30.0, + ignore_silent: bool = True, + ) -> tuple[list[tuple[float, float]], list[tuple[float, float]]]: + """Build vocal segments based on F0 contour. + + Mirrors upstream ``SoulXSingerSVC.build_vocal_segments``. + Returns (overlap_segments, segments) tuples of (start_sec, end_sec). + """ + f0_np = ( + f0.detach().float().cpu().numpy().squeeze() if isinstance(f0, torch.Tensor) else np.asarray(f0).squeeze() + ) + total_frames = int(f0_np.shape[0]) + if total_frames == 0: + return [], [] + + f0_rate = sample_rate // hop_size + min_frames = max(1, int(round(min_duration_sec * f0_rate))) + max_frames = max(1, int(round(max_duration_sec * f0_rate))) + + split_points = [0] + + def append_split_point(point: int) -> None: + point = int(max(0, min(point, total_frames))) + while point - split_points[-1] > max_frames: + split_points.append(split_points[-1] + max_frames) + if point > split_points[-1]: + split_points.append(point) + + idx = 0 + while idx < total_frames: + if f0_np[idx] == 0: + run_start = idx + while idx < total_frames and f0_np[idx] == 0: + idx += 1 + run_end = idx + if (run_end - run_start) >= uv_frames_th: + split_point = max(run_end - 5, (run_start + run_end) // 2) + append_split_point(split_point) + else: + idx += 1 + append_split_point(total_frames) + + segments: list[tuple[int, int]] = [] + overlap_segments: list[tuple[int, int]] = [] + num_overlaps = 1 + + def append_segment(start_idx: int, end_idx: int, overlaps: int = num_overlaps) -> None: + segments.append((split_points[start_idx], split_points[end_idx])) + overlap_start_idx = start_idx + if start_idx > 0 and (split_points[end_idx] - split_points[start_idx - overlaps]) <= max_frames: + overlap_start_idx = start_idx - overlaps + overlap_segments.append((split_points[overlap_start_idx], split_points[end_idx])) + + seg_start, seg_end = 0, 1 + while seg_start < len(split_points) - 1: + while seg_end < len(split_points) and (split_points[seg_end] - split_points[seg_start]) < min_frames: + seg_end += 1 + if seg_end >= len(split_points): + append_segment(seg_start, len(split_points) - 1) + break + append_segment(seg_start, seg_end) + seg_start = seg_end + seg_end = seg_start + 1 + + if ignore_silent: + filtered_idx = [] + for i, (ov_start, ov_end) in enumerate(overlap_segments): + voice_ratio = np.sum(f0_np[ov_start:ov_end] > 0) / max(1, ov_end - ov_start) + voiced_frames = np.sum(f0_np[ov_start:ov_end] > 0) + if voice_ratio > 0.05 and voiced_frames >= 10: + filtered_idx.append(i) + overlap_segments = [overlap_segments[i] for i in filtered_idx] + segments = [segments[i] for i in filtered_idx] + + # convert indices to seconds + overlap_sec = [(s / f0_rate, e / f0_rate) for s, e in overlap_segments] + seg_sec = [(s / f0_rate, e / f0_rate) for s, e in segments] + return overlap_sec, seg_sec + + def infer_svc_batch( + self, + payload: dict[str, Any], + *, + extra_args: dict[str, Any], + num_inference_steps: int, + guidance_scale: float, + generator: torch.Generator | None = None, + ) -> tuple[torch.Tensor, int]: + """Batch SVC with chunked inference for long audio (matches upstream).""" + prompt_wav = payload["prompt_wav"] + target_wav = payload["target_wav"] + prompt_f0 = payload["prompt_f0"] + target_f0 = payload["target_f0"] + + pitch_shift = resolve_pitch_shift( + auto_shift=bool(extra_args.get("auto_shift", True)), + manual_shift=int(extra_args.get("pitch_shift", 0)), + prompt_f0=prompt_f0, + target_f0=target_f0, + ) + + prompt_mel = self._mel_from_wav(prompt_wav) + + # Long audio: chunk by vocal segments (same as upstream) + max_sec = 30.0 * self.audio_config.sample_rate + if target_wav.shape[-1] < max_sec: + # Short audio: one-shot + generated_audio = self._infer_segment( + prompt_mel=prompt_mel, + prompt_wav=prompt_wav, + target_wav=target_wav, + prompt_f0=prompt_f0, + target_f0=target_f0, + pitch_shift=pitch_shift, + num_inference_steps=num_inference_steps, + guidance_scale=guidance_scale, + generator=generator, + ) + return generated_audio.unsqueeze(0), pitch_shift + + # Build vocal segments + overlap_segments, segments = self._build_vocal_segments( + target_f0, + hop_size=self.audio_config.hop_size, + sample_rate=self.audio_config.sample_rate, + ) + if len(segments) == 0: + segments = [(0.0, target_wav.shape[-1] / self.audio_config.sample_rate)] + overlap_segments = [(0.0, target_wav.shape[-1] / self.audio_config.sample_rate)] + + f0_rate = self.audio_config.sample_rate // self.audio_config.hop_size + generated_audio = torch.zeros_like(target_wav) + + for idx in range(len(segments)): + overlap_start_sec, overlap_end_sec = overlap_segments[idx] + seg_start_sec, seg_end_sec = segments[idx] + + wav_start = int(round(overlap_start_sec * self.audio_config.sample_rate)) + wav_end = int(round(overlap_end_sec * self.audio_config.sample_rate)) + f0_start = int(round(overlap_start_sec * f0_rate)) + f0_end = int(round(overlap_end_sec * f0_rate)) + + wav_start = max(0, min(wav_start, target_wav.shape[-1])) + wav_end = max(wav_start, min(wav_end, target_wav.shape[-1])) + f0_start = max(0, min(f0_start, target_f0.shape[-1])) + f0_end = max(f0_start, min(f0_end, target_f0.shape[-1])) + + segment_gt_wav = target_wav[:, wav_start:wav_end] + segment_gt_f0 = target_f0[:, f0_start:f0_end] + + segment_generated = self._infer_segment( + prompt_mel=prompt_mel, + prompt_wav=prompt_wav, + target_wav=segment_gt_wav, + prompt_f0=prompt_f0, + target_f0=segment_gt_f0, + pitch_shift=pitch_shift, + num_inference_steps=num_inference_steps, + guidance_scale=guidance_scale, + generator=generator, + ) + + seg_start = int(round(seg_start_sec * self.audio_config.sample_rate)) + seg_end = int(round(seg_end_sec * self.audio_config.sample_rate)) + segment_generated = segment_generated[seg_start - wav_start : seg_end - wav_start] + generated_audio[:, seg_start:seg_end] = segment_generated + + return generated_audio.unsqueeze(0), pitch_shift + + @torch.inference_mode() + def forward(self, req: OmniDiffusionRequest) -> DiffusionOutput: + return self._forward_batch_from_request( + req, + kind="svc", + custom_output_key="pitch_shift", + infer_batch_fn=self.infer_svc_batch, + ) + + def load_weights(self, weights: Iterable[tuple[str, torch.Tensor]]) -> set[str]: + del weights + self._load_soulx_checkpoint("model-svc.pt") + return {name for name, _ in self.named_parameters()} diff --git a/vllm_omni/diffusion/models/soulx_singer/pipeline_soulx_singer_svs.py b/vllm_omni/diffusion/models/soulx_singer/pipeline_soulx_singer_svs.py new file mode 100644 index 000000000..ecf6f94a5 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/pipeline_soulx_singer_svs.py @@ -0,0 +1,353 @@ +"""SoulX-Singer SVS (score-driven) pipeline implementation.""" + +from collections.abc import Iterable +from typing import Any, ClassVar + +import torch +import torch.nn as nn +import torch.nn.functional as F +from vllm.logger import init_logger + +from vllm_omni.diffusion.data import DiffusionOutput, OmniDiffusionConfig +from vllm_omni.diffusion.models.soulx_singer.modules import ( + CFMDecoder, + ConvNeXtV2Block, +) +from vllm_omni.diffusion.models.soulx_singer.pipeline_soulx_singer_base import ( + FlowMatchingAudioPipeline, +) +from vllm_omni.diffusion.models.soulx_singer.preprocess.payload import ( + SOULX_PREPROCESSED_KEY, + get_soulx_preprocessed_payload, + has_precomputed, +) +from vllm_omni.diffusion.models.soulx_singer.preprocess.pre_process import ( + attach_preprocess_for_diffusion_request, + build_metadata_processor, + is_warmup_request, + normalize_svs_control_extra_args, + resolve_preprocess_audio, +) +from vllm_omni.diffusion.models.soulx_singer.utils import ( + f0_to_coarse, + resolve_pitch_shift, + validate_soulx_extra_args, +) +from vllm_omni.diffusion.request import OmniDiffusionRequest + +logger = init_logger(__name__) + + +def get_soulxsinger_pre_process_func(od_config: OmniDiffusionConfig): + """Validate/load SVS preprocess payload for single-stage or stage-1 DiT.""" + metadata_processor = build_metadata_processor(od_config) + _pipeline = None + + def pre_process_func(request: OmniDiffusionRequest) -> OmniDiffusionRequest: + nonlocal _pipeline + + extra_args = validate_soulx_extra_args( + "svs", + dict(getattr(request.sampling_params, "extra_args", None) or {}), + ) + + # Inline build: when no warmup/no precomputed paths/no IPC payload, + # build the preprocess payload directly from audio file paths. + if not (is_warmup_request(request) or has_precomputed(extra_args, "svs")): + prompt = request.prompts[0] + if not isinstance(prompt, str) and not get_soulx_preprocessed_payload(prompt): # type: ignore[arg-type] + prompt_audio, target_audio = resolve_preprocess_audio(prompt, extra_args) # type: ignore[arg-type] + if prompt_audio is not None and target_audio is not None: + if _pipeline is None: + from vllm_omni.diffusion.models.soulx_singer.modules.preprocess.pipeline import ( + SoulXPreprocessPipeline, + ) + + _pipeline = SoulXPreprocessPipeline( + od_config=od_config, + vocal_sep=bool(extra_args.get("vocal_sep", False)), + verbose=bool(extra_args.get("preprocess_verbose", False)), + extra_args=extra_args, + ) + payload = _pipeline.build_svs_payload_from_audio( + prompt_audio=prompt_audio, + target_audio=target_audio, + metadata_processor=metadata_processor, + language=str(extra_args.get("language", "Mandarin")), + vocal_sep=extra_args.get("vocal_sep"), + prompt_vocal_sep=extra_args.get("prompt_vocal_sep"), + target_vocal_sep=extra_args.get("target_vocal_sep"), + prompt_max_merge_duration_ms=extra_args.get("prompt_max_merge_duration"), + target_max_merge_duration_ms=extra_args.get("target_max_merge_duration"), + ) + payload.setdefault("kind", "svs") + prompt.setdefault("additional_information", {})[SOULX_PREPROCESSED_KEY] = payload # type: ignore[union-attr, assignment] + + return attach_preprocess_for_diffusion_request( + request, + kind="svs", + metadata_processor=metadata_processor, + ) + + return pre_process_func + + +def get_soulxsinger_post_process_func(od_config: OmniDiffusionConfig): + """Convert pipeline audio tensor output for offline consumers.""" + + def post_process_func(audio: torch.Tensor): + return audio.detach().cpu().float().numpy() + + return post_process_func + + +def _expand_states(h: torch.Tensor, mel2token: torch.Tensor) -> torch.Tensor: + if mel2token.max() > h.size(1) - 1: + logger.warning( + "mel2token.max() (%s) is greater than h.size(1) - 1 (%s); clamping.", + mel2token.max(), + h.size(1) - 1, + ) + mel2token = torch.clamp(mel2token, 0, h.size(1) - 1) + mel2token_ = mel2token[..., None].repeat([1, 1, h.shape[-1]]) + return torch.gather(h, 1, mel2token_) + + +class PipelineSoulXSingerSVS(FlowMatchingAudioPipeline): + """Pipeline for the SoulX-Singer model (SoulX-Singer).""" + + _encoder_modules: ClassVar[list[str]] = [ + "mel", + "f0_encoder", + "preflow", + "note_text_encoder", + "note_pitch_encoder", + "note_type_encoder", + ] + + EXTRA_BODY_PARAMS: ClassVar[frozenset[str]] = frozenset( + { + "prompt_metadata_path", + "target_metadata_path", + "audio_path", + "prompt_audio", + "target_audio", + "language", + "vocal_sep", + "max_merge_duration", + "preprocess_weights_dir", + "preprocess_verbose", + "control", + "auto_shift", + "pitch_shift", + } + ) + + EXTRA_OUTPUT_PARAMS: ClassVar[frozenset[str]] = frozenset({"f0_shift"}) + + def __init__(self, *, od_config: OmniDiffusionConfig, prefix: str = ""): + super().__init__(od_config=od_config, prefix=prefix) + self.metadata_processor = build_metadata_processor(od_config) + + self.f0_encoder = nn.Embedding(self.f0_bin, self.f0_dim) + self.preflow = nn.Sequential( + *[ + ConvNeXtV2Block( + self.text_dim, + self.text_dim * 2, + ) + for _ in range(self.encoder_config.num_layers) + ] + ) + + self.cfm_decoder = CFMDecoder(self.flow_matching_config) + + self.mel, self.vocoder = self._build_fp32_audio_modules(self.audio_config) + + self.note_text_encoder = nn.Embedding(self.vocab_size, self.text_dim) + self.note_pitch_encoder = nn.Embedding(256, self.pitch_dim) + self.note_type_encoder = nn.Embedding(256, self.type_dim) + + self._setup_soulx_profiler() + + def _encode_condition( + self, + *, + note_pitch: torch.Tensor, + note_type: torch.Tensor, + note_text: torch.Tensor, + mel2note: torch.Tensor, + f0_coarse: torch.Tensor, + ) -> torch.Tensor: + features = ( + self.note_pitch_encoder(note_pitch) + self.note_type_encoder(note_type) + self.note_text_encoder(note_text) + ) + features = self.preflow(features) + features = _expand_states(features, mel2note) + features = features + self.f0_encoder(f0_coarse) + return self._to_trunk_dtype(features)[0] + + def _infer_svs_segment( + self, + prompt_meta: dict, + target_meta: dict, + *, + pitch_shift: int, + num_inference_steps: int, + guidance_scale: float, + prompt_mel: torch.Tensor | None = None, + generator: torch.Generator | None = None, + ) -> torch.Tensor: + prompt_note_text = prompt_meta["phoneme"] + prompt_mel2note = prompt_meta["mel2note"] + prompt_note_type = prompt_meta["note_type"] + prompt_note_pitch = prompt_meta["note_pitch"] + prompt_f0 = prompt_meta["f0"] + + target_note_text = target_meta["phoneme"] + target_mel2note = target_meta["mel2note"] + target_note_type = target_meta["note_type"] + target_note_pitch = target_meta["note_pitch"] + target_f0 = target_meta["f0"] + + if target_f0 is None or prompt_f0 is None: + target_f0 = torch.zeros_like(target_mel2note).float() + prompt_f0 = torch.zeros_like(prompt_mel2note).float() + if target_note_pitch is None or prompt_note_pitch is None: + target_note_pitch = torch.zeros_like(target_note_type).int() + prompt_note_pitch = torch.zeros_like(prompt_note_type).int() + + len_prompt_note = prompt_note_pitch.shape[1] + len_prompt_mel = prompt_f0.shape[1] if prompt_f0 is not None else prompt_mel2note.shape[1] + + note_pitch = torch.cat([prompt_note_pitch, target_note_pitch], dim=1) + note_text = torch.cat([prompt_note_text, target_note_text], dim=1) + note_type = torch.cat([prompt_note_type, target_note_type], dim=1) + # Target note indices follow prompt notes in the concatenated score. + mel2note = torch.cat([prompt_mel2note, target_mel2note + len_prompt_note], dim=1) + + # pitch_shift is semitones; each coarse F0 bin is 20 cents (×5 bins per semitone). + f0_coarse_prompt = f0_to_coarse(prompt_f0) + f0_coarse_target = f0_to_coarse(target_f0, f0_shift=pitch_shift * 5) + f0_coarse = torch.cat([f0_coarse_prompt, f0_coarse_target], dim=1) + + note_pitch = note_pitch.clone() + note_pitch[note_pitch > 0] = note_pitch[note_pitch > 0] + pitch_shift + note_pitch = torch.clamp(note_pitch, 0, 255) + + if prompt_mel is None: + prompt_wav = prompt_meta["wav"] + with self._stage_timer("mel"): + prompt_mel = self._mel_from_wav(prompt_wav) + + if prompt_mel.shape[1] > len_prompt_mel: + prompt_mel = prompt_mel[:, :len_prompt_mel, :] + elif prompt_mel.shape[1] < len_prompt_mel: + logger.warning( + "prompt_mel length %s is shorter than metadata frames %s; padding mel.", + prompt_mel.shape[1], + len_prompt_mel, + ) + prompt_mel = F.pad(prompt_mel, (0, 0, 0, len_prompt_mel - prompt_mel.shape[1])) + + with self._stage_timer("cond_encode"): + cond = self._encode_condition( + note_pitch=note_pitch, + note_type=note_type, + note_text=note_text, + mel2note=mel2note, + f0_coarse=f0_coarse, + ) + + with self._stage_timer("cfm"): + generated_mel = self._run_flow_matching_loop( + prompt_mel, + cond, + num_inference_steps, + guidance_scale, + generator=generator, + ) + with self._stage_timer("vocoder"): + return self._mel_to_audio(generated_mel) + + def infer_svs_batch( + self, + payload: dict[str, Any], + *, + extra_args: dict[str, Any], + num_inference_steps: int, + guidance_scale: float, + generator: torch.Generator | None = None, + ) -> tuple[torch.Tensor, int]: + """Pure batch (non-streaming): run diffusion for each target segment in order and concat.""" + prompt_meta_raw = payload.get("prompt_meta") + target_meta_list = payload["target_meta_list"] + control = str(extra_args.get("control", "score")) + + prompt_meta = None + prompt_mel = None + if prompt_meta_raw: + prompt_meta = self._ensure_processed_meta(prompt_meta_raw) + prompt_meta = self._apply_control_mode(prompt_meta, control) + if prompt_meta and prompt_meta.get("wav") is not None: + prompt_mel = self._mel_from_wav(prompt_meta["wav"]) + + pieces: list[torch.Tensor] = [] + pitch_shift = 0 + + for idx, target_raw in enumerate(target_meta_list): + target_meta = self._ensure_processed_meta(target_raw) + target_meta = self._apply_control_mode(target_meta, control) + + if idx == 0: + pitch_shift = resolve_pitch_shift( + auto_shift=bool(extra_args.get("auto_shift", True)), + manual_shift=int(extra_args.get("pitch_shift", 0)), + prompt_f0=prompt_meta["f0"] if prompt_meta else None, + target_f0=target_meta["f0"], + prompt_note_pitch=prompt_meta["note_pitch"] if prompt_meta else None, + target_note_pitch=target_meta["note_pitch"], + ) + + seg = self._infer_svs_segment( + prompt_meta or {}, + target_meta, + pitch_shift=pitch_shift, + num_inference_steps=num_inference_steps, + guidance_scale=guidance_scale, + prompt_mel=prompt_mel, + generator=generator, + ) + pieces.append(seg.squeeze()) + + if not pieces: + return torch.zeros(1, 0, device=self.device, dtype=torch.float32), pitch_shift + + full = torch.cat(pieces, dim=-1) + return full.unsqueeze(0), pitch_shift + + @staticmethod + def _apply_control_mode(meta: dict, control: str) -> dict: + meta["note_pitch"] = meta["note_pitch"] if control == "score" else None + meta["f0"] = meta["f0"] if control == "melody" else None + return meta + + def _ensure_processed_meta(self, meta: dict) -> dict: + if isinstance(meta.get("phoneme"), torch.Tensor): + return meta + return self.metadata_processor.process(meta, None) + + @torch.inference_mode() + def forward(self, req: OmniDiffusionRequest) -> DiffusionOutput: + return self._forward_batch_from_request( + req, + kind="svs", + custom_output_key="f0_shift", + infer_batch_fn=self.infer_svs_batch, + prepare_extra_args=lambda extra_args, _sampling: normalize_svs_control_extra_args(extra_args), + ) + + def load_weights(self, weights: Iterable[tuple[str, torch.Tensor]]) -> set[str]: + del weights + self._load_soulx_checkpoint("model.pt") + return {name for name, _ in self.named_parameters()} diff --git a/vllm_omni/diffusion/models/soulx_singer/preprocess/__init__.py b/vllm_omni/diffusion/models/soulx_singer/preprocess/__init__.py new file mode 100644 index 000000000..aed87f757 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/preprocess/__init__.py @@ -0,0 +1 @@ +"""Native SoulX-Singer preprocess helpers.""" diff --git a/vllm_omni/diffusion/models/soulx_singer/preprocess/g2p.py b/vllm_omni/diffusion/models/soulx_singer/preprocess/g2p.py new file mode 100644 index 000000000..5f54d47c9 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/preprocess/g2p.py @@ -0,0 +1,86 @@ +import re + +_EN_WORD_RE = re.compile(r"^[A-Za-z]+(?:'[A-Za-z]+)*$") +_ZH_WORD_RE = re.compile(r"[\u4e00-\u9fff]") + +EN_FLAG = "en_" +YUE_FLAG = "yue_" +ZH_FLAG = "zh_" + +_g2p_zh = None +_g2p_en = None + + +def _ensure_g2p_backends() -> None: + global _g2p_zh, _g2p_en + if _g2p_zh is None: + from g2pM import G2pM + + _g2p_zh = G2pM() + if _g2p_en is None: + from g2p_en import G2p as G2pE + + _g2p_en = G2pE() + + +def is_chinese_char(word: str) -> bool: + if len(word) != 1: + return False + return bool(_ZH_WORD_RE.fullmatch(word)) + + +def is_english_word(word: str) -> bool: + if not word: + return False + return bool(_EN_WORD_RE.fullmatch(word)) + + +def g2p_cantonese(sent): + import ToJyutping + + return ToJyutping.get_jyutping_list(sent) + + +def g2p_mandarin(sent): + _ensure_g2p_backends() + return _g2p_zh(sent, tone=True, char_split=False) + + +def g2p_english(word): + _ensure_g2p_backends() + return _g2p_en(word) + + +def g2p_transform(words, lang): + zh_words = [] + transformed_words = [0] * len(words) + + for idx, w in enumerate(words): + if w == "": + transformed_words[idx] = w + continue + + w = w.replace("?", "").replace(".", "").replace("!", "").replace(",", "") + + if is_chinese_char(w): + zh_words.append([idx, w]) + else: + if is_english_word(w): + w = EN_FLAG + "-".join(g2p_english(w.lower())) + else: + w = "" + transformed_words[idx] = w + + sent = "".join([k[1] for k in zh_words]) + + if len(sent) > 0: + if lang == "Cantonese": + g2pm_rst = g2p_cantonese(sent) + g2pm_rst = [YUE_FLAG + k[1] for k in g2pm_rst] + else: + g2pm_rst = g2p_mandarin(sent) + g2pm_rst = [ZH_FLAG + k for k in g2pm_rst] + for p, w in zip([k[0] for k in zh_words], g2pm_rst): + transformed_words[p] = w + + return transformed_words diff --git a/vllm_omni/diffusion/models/soulx_singer/preprocess/metadata_utils.py b/vllm_omni/diffusion/models/soulx_singer/preprocess/metadata_utils.py new file mode 100644 index 000000000..8a8611121 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/preprocess/metadata_utils.py @@ -0,0 +1,137 @@ +"""Metadata merge helpers for SoulX-Singer preprocess.""" + +from dataclasses import dataclass +from pathlib import Path +from typing import Any + +import numpy as np +import soundfile as sf + + +@dataclass +class SegmentMetadata: + item_name: str + wav_fn: str + language: str + start_time_ms: int + end_time_ms: int + note_text: list[str] + note_dur: list[float] + note_pitch: list[int] + note_type: list[int] + origin_wav_fn: str | None = None + wav: np.ndarray | None = None + + def get(self, name: str, default: Any = None) -> Any: + return getattr(self, name, default) + + +def _merge_group( + audio: np.ndarray, + sample_rate: int, + segments: list[SegmentMetadata | dict[str, Any]], + output_dir: Path | None, + *, + end_extension_ms: int = 0, +) -> SegmentMetadata: + if not segments: + raise ValueError("segments must not be empty") + + words: list[str] = [] + durs: list[float] = [] + pitches: list[int] = [] + types: list[int] = [] + + for i, seg in enumerate(segments): + if i > 0: + prev_seg = segments[i - 1] + gap_ms = seg.get("start_time_ms", 0) - prev_seg.get("end_time_ms", 0) + if gap_ms > 0: + words.append("") + durs.append(gap_ms / 1000.0) + pitches.append(0) + types.append(1) + + words.extend(seg.get("note_text", [])) + durs.extend(seg.get("note_dur", [])) + pitches.extend(seg.get("note_pitch", [])) + types.extend(seg.get("note_type", [])) + + if end_extension_ms > 0: + words.append("") + durs.append(end_extension_ms / 1000.0) + pitches.append(0) + types.append(1) + + merged_words, merged_durs, merged_pitches, merged_types = [], [], [], [] + for word, dur, pitch, note_type in zip(words, durs, pitches, types): + if merged_words and word == "" and merged_words[-1] == "": + merged_durs[-1] += dur + else: + merged_words.append(word) + merged_durs.append(dur) + merged_pitches.append(pitch) + merged_types.append(note_type) + + languages = [s.get("language", "Mandarin") for s in segments if s.get("language")] + language = max(languages, key=languages.count) if languages else "Mandarin" + + start_ms = int(segments[0].get("start_time_ms", 0)) + end_ms = int(segments[-1].get("end_time_ms", 0)) + end_extension_ms + start_sample = int(start_ms * sample_rate // 1000) + end_sample = int(end_ms * sample_rate // 1000) + + first_item_name = segments[0].get("item_name", "segment") + song_prefix = "_".join(str(first_item_name).split("_")[:-1]) + item_name = f"{song_prefix}_{start_ms}_{end_ms}" + + wav_fn = "" + segment_audio = audio[start_sample:end_sample] + if output_dir is not None: + output_dir.mkdir(parents=True, exist_ok=True) + wav_path = output_dir / f"{item_name}.wav" + sf.write(wav_path, segment_audio, sample_rate) + wav_fn = str(wav_path) + + return SegmentMetadata( + item_name=item_name, + wav_fn=wav_fn, + language=language, + start_time_ms=start_ms, + end_time_ms=end_ms, + note_text=merged_words, + note_dur=merged_durs, + note_pitch=merged_pitches, + note_type=merged_types, + origin_wav_fn=segments[0].get("origin_wav_fn", ""), + wav=segment_audio if output_dir is None else None, + ) + + +def convert_metadata(item: SegmentMetadata, f0: np.ndarray | None = None) -> dict[str, Any]: + """Convert merged segment metadata into SoulX JSON metadata format. + + Matches upstream ``convert_metadata``: F0 always comes from ``*_f0.npy`` written + by ``extract_f0_file`` on the merged segment wav, not from an in-memory array. + """ + from vllm_omni.diffusion.models.soulx_singer.preprocess.g2p import g2p_transform + + if item.wav_fn: + f0_path = str(Path(item.wav_fn).with_suffix("")) + "_f0.npy" + f0_arr = np.load(f0_path) + elif f0 is not None: + f0_arr = f0 + else: + raise ValueError("convert_metadata requires item.wav_fn with sidecar f0 or an explicit f0 array") + + return { + "index": item.item_name, + "language": item.language, + "time": [item.start_time_ms, item.end_time_ms], + "duration": " ".join(f"{d:.2f}" for d in item.note_dur), + "text": " ".join(item.note_text), + "phoneme": " ".join(g2p_transform(item.note_text, item.language)), + "note_pitch": " ".join(map(str, item.note_pitch)), + "note_type": " ".join(map(str, item.note_type)), + "f0": " ".join(f"{x:.1f}" for x in f0_arr), + } diff --git a/vllm_omni/diffusion/models/soulx_singer/preprocess/payload.py b/vllm_omni/diffusion/models/soulx_singer/preprocess/payload.py new file mode 100644 index 000000000..83f81e481 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/preprocess/payload.py @@ -0,0 +1,106 @@ +"""SoulX-Singer payload schema (guidance/precomputed tables, dummy builders).""" + +from __future__ import annotations + +from typing import Any + +import torch + +SOULX_PRECOMPUTED_KEYS_BY_KIND: dict[str, tuple[str, ...]] = { + "svs": ("prompt_metadata_path", "target_metadata_path", "audio_path"), + "svc": ("prompt_wav_path", "target_wav_path", "prompt_f0_path", "target_f0_path"), +} + + +# Key under which the SoulX preprocess payload is stored in +# prompt["additional_information"] or DiffusionOutput.custom_output. +SOULX_PREPROCESSED_KEY = "soulx_preprocessed" + + +def get_soulx_preprocessed_payload(prompt: dict[str, Any]) -> dict[str, Any] | None: + """Extract attached payload from a diffusion request prompt dict.""" + additional = prompt.get("additional_information") or {} + payload = additional.get(SOULX_PREPROCESSED_KEY) + return payload if isinstance(payload, dict) else None + + +def relocate_tensors(payload: dict[str, Any], device: torch.device | str) -> dict[str, Any]: + """Recursively move all tensors inside the payload to the target device. + + Called after decode when the payload is about to be consumed by the + diffusion model (which may live on a different device / rank). + """ + if isinstance(payload, torch.Tensor): + return payload.to(device, non_blocking=True) + if isinstance(payload, dict): + return {key: relocate_tensors(value, device) for key, value in payload.items()} + if isinstance(payload, list): + return [relocate_tensors(item, device) for item in payload] + return payload + + +def consume_payload( + req: Any, + expected_kind: str, + device: torch.device | str, +) -> dict[str, Any]: + """Read the payload attached by pre_process_func, validate the kind, + and relocate tensors to the compute device. + """ + prompts = getattr(req, "prompts", None) or [] + if not prompts: + raise ValueError(f"SoulX-Singer {expected_kind} request has no prompts.") + prompt = prompts[0] + if isinstance(prompt, str): + raise ValueError(f"SoulX-Singer {expected_kind} forward requires pre_process_func output on the prompt.") + payload = get_soulx_preprocessed_payload(prompt) + if payload is None or payload.get("kind") != expected_kind: + raise ValueError( + f"SoulX-Singer {expected_kind} forward requires additional_information['soulx_preprocessed'] " + "produced by pre_process_func." + ) + return relocate_tensors(payload, device) + + +def has_precomputed(extra_args: dict[str, Any], kind: str) -> bool: + keys = SOULX_PRECOMPUTED_KEYS_BY_KIND[kind] + return all(extra_args.get(key) for key in keys) + + +def build_dummy_payload(kind: str, device: torch.device) -> dict[str, Any]: + mel_frames = 4 + hop_size = 480 + n_fft = 1920 + wav_samples = max(mel_frames * hop_size, n_fft) + if kind == "svc": + voiced_f0 = torch.full((1, mel_frames), 100.0, device=device, dtype=torch.float64) + return { + "kind": "svc", + "prompt_wav": torch.zeros(1, wav_samples, device=device, dtype=torch.float32), + "target_wav": torch.zeros(1, wav_samples, device=device, dtype=torch.float32), + "prompt_f0": voiced_f0.clone(), + "target_f0": voiced_f0.clone(), + } + return { + "kind": "svs", + "prompt_meta": { + "phoneme": torch.zeros(1, 2, device=device, dtype=torch.long), + "note_pitch": torch.zeros(1, mel_frames, device=device, dtype=torch.long), + "note_type": torch.zeros(1, mel_frames, device=device, dtype=torch.long), + "mel2note": torch.zeros(1, mel_frames, device=device, dtype=torch.long), + "f0": torch.zeros(1, mel_frames, device=device, dtype=torch.float32), + "wav": torch.zeros(1, wav_samples, device=device, dtype=torch.float32), + }, + "target_meta_list": [ + { + "text": "dummy", + "phoneme": " ".join([""] * mel_frames), + "f0": " ".join(["100"] * mel_frames), + "language": "Mandarin", + "note_pitch": " ".join(["0"] * mel_frames), + "note_type": " ".join(["1"] * mel_frames), + "duration": " ".join(["1"] * mel_frames), + "time": [0, max(int(wav_samples / 24000 * 1000), 100)], + } + ], + } diff --git a/vllm_omni/diffusion/models/soulx_singer/preprocess/pre_process.py b/vllm_omni/diffusion/models/soulx_singer/preprocess/pre_process.py new file mode 100644 index 000000000..750175fc5 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/preprocess/pre_process.py @@ -0,0 +1,220 @@ +"""Shared ``pre_process_func`` helpers for SoulX-Singer pipelines (batch / full-payload only).""" + +from pathlib import Path +from typing import Any + +import torch +import torch.nn as nn +from vllm.logger import init_logger + +from vllm_omni.diffusion.data import OmniDiffusionConfig +from vllm_omni.diffusion.distributed.utils import get_local_device +from vllm_omni.diffusion.models.soulx_singer.modules.preprocess.pipeline import SoulXPreprocessPipeline +from vllm_omni.diffusion.models.soulx_singer.preprocess.payload import ( + SOULX_PRECOMPUTED_KEYS_BY_KIND, + SOULX_PREPROCESSED_KEY, + build_dummy_payload, + get_soulx_preprocessed_payload, + has_precomputed, +) +from vllm_omni.diffusion.models.soulx_singer.utils import ( + MetadataProcessor, + load_config, + resolve_phoneset_path, + validate_soulx_extra_args, +) +from vllm_omni.diffusion.request import OmniDiffusionRequest +from vllm_omni.inputs.data import OmniTextPrompt + +logger = init_logger(__name__) + + +def is_warmup_request(request: OmniDiffusionRequest) -> bool: + return request.is_dummy_run() + + +def resolve_preprocess_audio(prompt: dict[str, Any], extra_args: dict[str, Any]) -> tuple[Any, Any]: + mm = prompt.get("multi_modal_data") or {} + prompt_audio = mm.get("audio") if isinstance(mm, dict) else None + if prompt_audio is None: + prompt_audio = extra_args.get("prompt_audio") + return prompt_audio, extra_args.get("target_audio") + + +def _preprocess_inputs_missing_error(kind: str) -> ValueError: + return ValueError( + f"SoulX-Singer {kind} requires precomputed paths " + f"{list(SOULX_PRECOMPUTED_KEYS_BY_KIND[kind])}, an attached soulx_preprocessed payload " + f"(multi-stage preprocess stage), or run with pipeline soulxsinger_{kind}." + ) + + +def build_precomputed_payload( + kind: str, + extra_args: dict[str, Any], + *, + metadata_processor, + sample_rate: int | None, + device, +) -> dict[str, Any]: + if kind == "svs": + return SoulXPreprocessPipeline.build_svs_payload_from_paths( + prompt_metadata_path=str(extra_args["prompt_metadata_path"]), + target_metadata_path=str(extra_args["target_metadata_path"]), + audio_path=str(extra_args["audio_path"]), + metadata_processor=metadata_processor, + ) + if sample_rate is None or device is None: + raise ValueError("svc precomputed payload requires sample_rate and device") + return SoulXPreprocessPipeline.build_svc_payload_from_paths( # type: ignore + prompt_wav_path=str(extra_args["prompt_wav_path"]), + target_wav_path=str(extra_args["target_wav_path"]), + prompt_f0_path=str(extra_args["prompt_f0_path"]), + target_f0_path=str(extra_args["target_f0_path"]), + sample_rate=int(sample_rate), + device=device, + ) + + +def build_warmup_payload( + kind: str, + *, + metadata_processor, + device, + sample_rate: int | None, +) -> dict[str, Any]: + if kind == "svs": + if metadata_processor is None: + raise ValueError("SVS warmup requires metadata_processor") + payload = build_dummy_payload("svs", torch.device("cpu")) + dummy_prompt = payload["prompt_meta"] + processed = metadata_processor.process(dict(payload["target_meta_list"][0])) + payload["prompt_meta"] = { + key: value.clone() if isinstance(value, torch.Tensor) else value for key, value in processed.items() + } + if isinstance(dummy_prompt.get("wav"), torch.Tensor): + payload["prompt_meta"]["wav"] = dummy_prompt["wav"].clone() + return payload + if device is None or sample_rate is None: + raise ValueError("svc warmup requires device and sample_rate") + return build_dummy_payload("svc", device) + + +def build_preprocess_payload( + kind: str, + *, + prompt: dict[str, Any], + extra_args: dict[str, Any], + preprocess: nn.Module, + metadata_processor, + device, + sample_rate: int, +) -> dict[str, Any]: + if has_precomputed(extra_args, kind): + return build_precomputed_payload( + kind, + extra_args, + metadata_processor=metadata_processor, + sample_rate=sample_rate, + device=device, + ) + + prompt_audio, target_audio = resolve_preprocess_audio(prompt, extra_args) + if prompt_audio is None or target_audio is None: + raise _preprocess_inputs_missing_error(kind) + + if kind == "svc": + return preprocess.build_svc_payload_from_audio( # type: ignore + prompt_audio=prompt_audio, + target_audio=target_audio, + sample_rate=sample_rate, + device=device, + vocal_sep=extra_args.get("vocal_sep"), + ) + + return preprocess.build_svs_payload_from_audio( # type: ignore + prompt_audio=prompt_audio, + target_audio=target_audio, + metadata_processor=metadata_processor, + language=str(extra_args.get("language", "Mandarin")), + vocal_sep=extra_args.get("vocal_sep"), + prompt_vocal_sep=extra_args.get("prompt_vocal_sep"), + target_vocal_sep=extra_args.get("target_vocal_sep"), + prompt_max_merge_duration_ms=extra_args.get("prompt_max_merge_duration"), + target_max_merge_duration_ms=extra_args.get("target_max_merge_duration"), + ) + + +def attach_preprocess_for_diffusion_request( + request: OmniDiffusionRequest, + *, + kind: str, + metadata_processor=None, + sample_rate: int | None = None, + device=None, +) -> OmniDiffusionRequest: + """Resolve preprocess payload for stage-1 diffusion (warmup / IPC / precomputed paths).""" + + extra_args = validate_soulx_extra_args( + kind, + dict(getattr(request.sampling_params, "extra_args", None) or {}), + ) + for i, prompt in enumerate(request.prompts): + prompt = OmniTextPrompt(prompt=prompt) if isinstance(prompt, str) else prompt + + if is_warmup_request(request): + request.sampling_params.num_inference_steps = 1 + payload = build_warmup_payload( + kind, + metadata_processor=metadata_processor, + device=device, + sample_rate=sample_rate, + ) + elif get_soulx_preprocessed_payload(prompt): + request.prompts[i] = prompt + continue + elif has_precomputed(extra_args, kind): + payload = build_precomputed_payload( + kind, + extra_args, + metadata_processor=metadata_processor, + sample_rate=sample_rate, + device=device, + ) + else: + raise _preprocess_inputs_missing_error(kind) + + if payload.get("kind") != kind: + raise ValueError(f"Invalid {kind} preprocess payload kind: {payload.get('kind')}") + prompt.setdefault("additional_information", {})[SOULX_PREPROCESSED_KEY] = payload + request.prompts[i] = prompt + + if kind == "svs": + extra_args = normalize_svs_control_extra_args(extra_args) + request.sampling_params.extra_args = extra_args + return request + + +def normalize_svs_control_extra_args(extra_args: dict[str, Any]) -> dict[str, Any]: + control = extra_args.get("control") + if control is None: + control = "score" + logger.warning("control is not provided, using 'score' as default") + elif control not in ("score", "melody"): + raise ValueError(f"Invalid control: {control}. Must be one of: ['score', 'melody']") + extra_args["control"] = control + return extra_args + + +def build_metadata_processor(od_config: OmniDiffusionConfig): + model_dir = od_config.model + config_path = Path(model_dir) / "config.yaml" + hf_config = load_config(str(config_path)) + audio_config = hf_config.audio + + return MetadataProcessor( + hop_size=audio_config.hop_size, + sample_rate=audio_config.sample_rate, + phoneset_path=resolve_phoneset_path(model_dir), + device=str(get_local_device()), + ) diff --git a/vllm_omni/diffusion/models/soulx_singer/utils.py b/vllm_omni/diffusion/models/soulx_singer/utils.py new file mode 100644 index 000000000..4f201c407 --- /dev/null +++ b/vllm_omni/diffusion/models/soulx_singer/utils.py @@ -0,0 +1,565 @@ +import json +from pathlib import Path +from typing import Any, Literal + +import numpy as np +import torch +import torchaudio +from huggingface_hub import snapshot_download +from omegaconf import DictConfig, OmegaConf +from vllm.logger import init_logger + +from vllm_omni.diffusion.data import OmniDiffusionConfig + +logger = init_logger(__name__) + +_MODEL_WEIGHTS_REPO = "Soul-AILab/SoulX-Singer" +_PREPROCESS_WEIGHTS_REPO = "Soul-AILab/SoulX-Singer-Preprocess" + + +def _patch_torchaudio_load() -> None: + """Borrowed from MOSS-TTS-Nano. Patch torchaudio.load to use soundfile + if torchcodec is unavailable. + """ + try: + import torchaudio + + torchaudio # noqa + import torchcodec # noqa: F401 + + return + except Exception: + pass + + import soundfile as sf + + def _soundfile_load(path, frame_offset=0, num_frames=-1, normalize=True, channels_first=True, format=None): + data, sr = sf.read(str(path), dtype="float32", always_2d=True) + if frame_offset > 0: + data = data[frame_offset:] + if num_frames > 0: + data = data[:num_frames] + waveform = torch.from_numpy(data) + if channels_first: + waveform = waveform.T + return waveform, sr + + def _soundfile_save(path, src, sample_rate, channels_first=True, **kwargs): + wav = src.detach().cpu().float().numpy() + if channels_first and wav.ndim == 2: + wav = wav.T + sf.write(str(path), wav, sample_rate) + + try: + import torchaudio + + torchaudio.load = _soundfile_load + torchaudio.save = _soundfile_save + logger.info("Patched torchaudio.load/save to use soundfile (torchcodec unavailable)") + except Exception as e: + logger.warning("Could not patch torchaudio: %s", e) + + +def load_config(config_path: str | Path) -> DictConfig: + """ + Load a configuration file and optionally merges it with a base configuration. + + Args: + config_path (Path): Path to the configuration file. + """ + # Load the initial configuration from the given path + config = OmegaConf.load(str(config_path)) + + # Check if there is a base configuration specified and merge if necessary + if config.get("base_config", None) is not None: + base_config = OmegaConf.load(str(config.get("base_config"))) + config = OmegaConf.merge(base_config, config) + + return config + + +SoulXKind = Literal["svs", "svc"] + +_SVS_ARCHITECTURE = "SoulXSingerPipeline" +_SVC_ARCHITECTURE = "SoulXSingerSVCPipeline" +_ARCHITECTURE_TO_KIND: dict[str, SoulXKind] = { + _SVS_ARCHITECTURE: "svs", + _SVC_ARCHITECTURE: "svc", +} + + +def load_model_config_json(model_dir: str | Path) -> dict[str, Any]: + """Load ``config.json`` from a SoulX-Singer model view directory.""" + cfg_path = Path(model_dir) / "config.json" + if not cfg_path.is_file(): + raise FileNotFoundError( + f"SoulX-Singer config.json not found at {cfg_path}. " + "Create one with architectures ['SoulXSingerPipeline'] (SVS) or " + "['SoulXSingerSVCPipeline'] (SVC); see examples/offline_inference/text_to_speech/README.md." + ) + with cfg_path.open(encoding="utf-8") as f: + return json.load(f) + + +def resolve_soulx_kind(model_dir: str | Path) -> SoulXKind: + """Resolve SVS vs SVC from ``config.json`` ``architectures[0]``.""" + cfg = load_model_config_json(model_dir) + archs = cfg.get("architectures") or [] + if not archs: + raise ValueError( + f"SoulX-Singer config.json at {Path(model_dir) / 'config.json'} is missing 'architectures'. " + "Set architectures to ['SoulXSingerPipeline'] for SVS or ['SoulXSingerSVCPipeline'] for SVC." + ) + arch = archs[0] + kind = _ARCHITECTURE_TO_KIND.get(arch) + if kind is None: + raise ValueError( + f"Unknown SoulX-Singer architecture {arch!r} in config.json. Expected one of {list(_ARCHITECTURE_TO_KIND)}." + ) + return kind + + +def validate_soulx_extra_args(kind: SoulXKind, extra_args: dict[str, Any] | None) -> dict[str, Any]: + """Validate request ``extra_args`` against the model mode from config.json.""" + from vllm_omni.diffusion.models.soulx_singer.preprocess.payload import ( + SOULX_PRECOMPUTED_KEYS_BY_KIND, + has_precomputed, + ) + + extra_args = dict(extra_args or {}) + declared = extra_args.pop("kind", None) + if declared is not None and declared != kind: + logger.warning( + "Ignoring extra_args kind=%r; model config.json declares %r.", + declared, + kind, + ) + + other_kind: SoulXKind = "svc" if kind == "svs" else "svs" + if has_precomputed(extra_args, other_kind): + raise ValueError( + f"SoulX-Singer config.json declares {kind!r}, but request supplies " + f"{other_kind} precomputed paths {list(SOULX_PRECOMPUTED_KEYS_BY_KIND[other_kind])}." + ) + + if kind == "svc": + for key in ("language", "control"): + if extra_args.get(key) is not None: + logger.warning( + "Ignoring SVS-only extra_arg %r=%r on an SVC model (config.json).", + key, + extra_args.pop(key), + ) + for key in SOULX_PRECOMPUTED_KEYS_BY_KIND["svs"]: + if extra_args.get(key): + raise ValueError(f"SoulX-Singer SVC model (config.json) does not accept SVS precomputed key {key!r}.") + else: + for key in SOULX_PRECOMPUTED_KEYS_BY_KIND["svc"]: + if extra_args.get(key): + raise ValueError(f"SoulX-Singer SVS model (config.json) does not accept SVC precomputed key {key!r}.") + + return extra_args + + +# ---------------- utils for model weights ---------------- + + +def resolve_preprocess_weights_root(od_config: OmniDiffusionConfig) -> Path: + """Locate preprocess weights on disk or download from Hugging Face.""" + + # default local dir + if Path(od_config.model).parent.is_dir(): + local_dir = Path(od_config.model).parent / "SoulX-Singer-Preprocess" + else: + local_dir = Path(__file__).parents[5] / "pretrained" / "SoulX-Singer-Preprocess" + + local_dir = local_dir.expanduser() + if local_dir.is_dir(): + logger.info("Using SoulX preprocess weights from %s", local_dir) + return local_dir + + logger.info( + "SoulX preprocess weights not found locally; downloading %s", + _PREPROCESS_WEIGHTS_REPO, + ) + downloaded = snapshot_download( + _PREPROCESS_WEIGHTS_REPO, + allow_patterns=["*"], + local_dir=local_dir, + ) + return Path(downloaded) + + +def preprocess_weight_paths(weights_root: Path) -> dict[str, str]: + """Map upstream relative paths to absolute paths under ``weights_root``.""" + root = weights_root.resolve() + return { + "rmvpe": str(root / "rmvpe/rmvpe.pt"), + "sep_ckpt": str(root / "mel-band-roformer-karaoke/mel_band_roformer_karaoke_becruily.ckpt"), + "sep_config": str(root / "mel-band-roformer-karaoke/config_karaoke_becruily.yaml"), + "asr_zh": str(root / "speech_seaco_paraformer_large_asr_nat-zh-cn-16k-common-vocab8404-pytorch"), + "asr_en": str(root / "parakeet-tdt-0.6b-v2/parakeet-tdt-0.6b-v2.nemo"), + "rosvot": str(root / "rosvot/rosvot/model.pt"), + } + + +def resolve_phoneset_path(model_dir: str) -> str: + """Resolve phoneme vocabulary; must be present in model directory.""" + candidates = ( + Path(model_dir) / "phoneme" / "phone_set.json", + Path(model_dir) / "phone_set.json", + ) + for path in candidates: + if path.is_file(): + return str(path) + raise FileNotFoundError( + "SoulX-Singer phoneset not found. Expected one of: " + f"{[str(p) for p in candidates]}. " + "Copy phone_set.json into the model directory. " + "See `examples/offline_inference/text_to_speech/README.md` for instructions." + ) + + +# ---------------- utils for data processing ---------------- + + +def load_wav(wav_path: str, sample_rate: int) -> torch.Tensor: + """Load wav file and resample to target sample rate. + + Args: + wav_path (str): Path to wav file. + sample_rate (int): Target sample rate. + + Returns: + torch.Tensor: Waveform tensor with shape (1, T). + """ + _patch_torchaudio_load() + waveform, sr = torchaudio.load(wav_path) + + if sr != sample_rate: + waveform = torchaudio.functional.resample(waveform, sr, sample_rate) + + if len(waveform.shape) > 1 and waveform.shape[0] > 1: + waveform = torch.mean(waveform, dim=0, keepdim=True) + + return waveform + + +def f0_to_coarse(f0, f0_bin=361, f0_min=32.7031956625, f0_shift=0): + """ + Convert continuous F0 values to discrete F0 bins (SIL and C1 - B6, 361 bins). + args: + f0: continuous F0 values + f0_bin: number of F0 bins + f0_min: minimum F0 value + f0_shift: shift value for F0 bins + returns: + f0_coarse: discrete F0 bins + """ + is_torch = isinstance(f0, torch.Tensor) + uv_mask = f0 <= 0 + + if is_torch: + f0_min_tensor = f0.new_tensor(f0_min) + f0_safe = torch.maximum(f0, f0_min_tensor) + f0_cents = 1200 * torch.log2(f0_safe / f0_min_tensor) + else: + f0_safe = np.maximum(f0, f0_min) + f0_cents = 1200 * np.log2(f0_safe / f0_min) + + f0_coarse = (f0_cents / 20) + 1 + + if is_torch: + f0_coarse = torch.round(f0_coarse).long() + f0_coarse = torch.clamp(f0_coarse, min=1, max=f0_bin - 1) + else: + f0_coarse = np.rint(f0_coarse).astype(int) + f0_coarse = np.clip(f0_coarse, 1, f0_bin - 1) + + f0_coarse[uv_mask] = 0 + + if f0_shift != 0: + if is_torch: + voiced = f0_coarse > 0 + if voiced.any(): + shifted = f0_coarse[voiced] + f0_shift + f0_coarse[voiced] = torch.clamp(shifted, 1, f0_bin - 1) + else: + voiced = f0_coarse > 0 + if np.any(voiced): + shifted = f0_coarse[voiced] + f0_shift + f0_coarse[voiced] = np.clip(shifted, 1, f0_bin - 1) + + return f0_coarse + + +def resolve_pitch_shift( + *, + auto_shift: bool, + manual_shift: int, + prompt_f0: torch.Tensor | None = None, + target_f0: torch.Tensor | None = None, + prompt_note_pitch: torch.Tensor | None = None, + target_note_pitch: torch.Tensor | None = None, +) -> int: + """Resolve semitone shift for auto_shift; ``f0_to_coarse(..., f0_shift=shift * 5)`` consumes it.""" + if not auto_shift or manual_shift != 0: + return int(manual_shift) + + if prompt_note_pitch is not None and target_note_pitch is not None: + target_pitched = target_note_pitch[target_note_pitch >= 1] + prompt_pitched = prompt_note_pitch[prompt_note_pitch >= 1] + if target_pitched.numel() > 0 and prompt_pitched.numel() > 0: + shift = torch.round(prompt_pitched.median() - target_pitched.median()) + if torch.isfinite(shift): + return int(shift.item()) + + if prompt_f0 is not None and target_f0 is not None: + target_voiced = target_f0[target_f0 > 0] + prompt_voiced = prompt_f0[prompt_f0 > 0] + if target_voiced.numel() > 0 and prompt_voiced.numel() > 0: + shift = torch.round(torch.log2(prompt_voiced.median() / target_voiced.median()) * 1200 / 100) + if torch.isfinite(shift): + return int(shift.item()) + + return 0 + + +class MetadataProcessor: + """Data processor for SoulX-Singer""" + + def __init__( + self, + hop_size: int, + sample_rate: int, + phoneset_path: str, + device: str = "cuda", + ): + """Initialize data processor. + + Args: + hop_size (int): Hop size in samples. + sample_rate (int): Sample rate in Hz. + phoneset_path (str): Path to phoneme set JSON file. + device (str): Device to use for tensor operations. + """ + self.hop_size = hop_size + self.sample_rate = sample_rate + self.device = device + self.load_phoneme_id_map(phoneset_path) + + def load_phoneme_id_map(self, phoneset_path: str): + with open(phoneset_path, encoding="utf-8") as f: + phoneset = json.load(f) + self.phone2idx = {ph: idx for idx, ph in enumerate(phoneset)} + + def merge_phoneme(self, meta): + merged_items = [] + + duration = [float(x) for x in meta["duration"].split()] + phoneme = [str(x).replace("", "") for x in meta["phoneme"].split()] + note_pitch = [int(x) for x in meta["note_pitch"].split()] + note_type = [int(x) if phoneme[i] != "" else 1 for i, x in enumerate(meta["note_type"].split())] + + for i in range(len(phoneme)): + if ( + i > 0 + and phoneme[i] == phoneme[i - 1] == "" + and note_type[i] == note_type[i - 1] + and note_pitch[i] == note_pitch[i - 1] + ): + merged_items[-1][1] += duration[i] + else: + merged_items.append([phoneme[i], duration[i], note_pitch[i], note_type[i]]) + + meta["phoneme"] = [x[0] for x in merged_items] + meta["duration"] = [x[1] for x in merged_items] + meta["note_pitch"] = [x[2] for x in merged_items] + meta["note_type"] = [x[3] for x in merged_items] + + return meta + + def preprocess( + self, + note_duration: list[float], + phonemes: list[str], + note_pitch: list[int], + note_type: list[int], + ): + """ + Insert and for each note. + Get aligned indices for each frame. + + Args: + note_duration: Duration of each note in seconds + phonemes: Phoneme sequence for each note + note_pitch: Pitch value for each note + note_type: Type value for each note + + """ + sample_rate = self.sample_rate + hop_size = self.hop_size + duration = sum(note_duration) * sample_rate / hop_size + mel2note = torch.zeros(int(duration), dtype=torch.long, device=self.device) + + ph_locations = [] # idx at mel scale and length + new_phonemes = [] + dur_sum = 0 + + note2origin = [] + + for ph_idx in range(len(phonemes)): + dur = int(np.round(dur_sum * sample_rate / hop_size)) + dur = min(dur, len(mel2note) - 1) + new_phonemes.append("") + note2origin.append(ph_idx) + if phonemes[ph_idx][:3] == "en_": + en_phs = ["en_" + x for x in phonemes[ph_idx][3:].split("-")] + [ + "" + ] # between en words in one note + ph_locations.append([dur, max(1, len(en_phs))]) + new_phonemes.extend(en_phs) + note2origin.extend([ph_idx] * len(en_phs)) + else: + ph_locations.append([dur, 1]) + new_phonemes.append(phonemes[ph_idx]) + note2origin.append(ph_idx) + new_phonemes.append("") + note2origin.append(ph_idx) + dur_sum += note_duration[ph_idx] + + ph_idx = 1 + for idx, (i, j) in enumerate(ph_locations): + next_phoneme_start = ph_locations[idx + 1][0] if idx < len(ph_locations) - 1 else len(mel2note) + if i >= len(mel2note) or i + j > len(mel2note): + break + if i < len(mel2note) and mel2note[i] > 0: + logger.warning(f"warning: overlap of {idx}: {mel2note[i]}") + while i < len(mel2note) and mel2note[i] > 0: + i += 1 + mel2note[i] = ph_idx + k = i + 1 + while k + j < next_phoneme_start: + mel2note[k : k + j] = torch.arange(ph_idx, ph_idx + j, device=self.device) + 1 + k += j + mel2note[next_phoneme_start - 1] = ph_idx + j + 1 + ph_idx += j + 2 # + ph repeats + + + new_phonemes = [""] + new_phonemes + new_note_pitch = [0] + [note_pitch[k] for k in note2origin] + new_note_type = [1] + [note_type[k] for k in note2origin] + + return { + "phoneme": torch.tensor([self.phone2idx[x] for x in new_phonemes], device=self.device).unsqueeze(0), + "note_pitch": torch.tensor(new_note_pitch, device=self.device).unsqueeze(0), + "note_type": torch.tensor(new_note_type, device=self.device).unsqueeze(0), + "mel2note": mel2note.unsqueeze(0), + } + + def process(self, meta: dict, wav_path: str | None = None) -> dict[str, torch.Tensor | None]: + meta = self.merge_phoneme(meta) + + item = self.preprocess( + meta["duration"], + meta["phoneme"], + meta["note_pitch"], + meta["note_type"], + ) + + f0 = [float(x) for x in meta.get("f0", "").split()] + min_frame = min(item["mel2note"].shape[1], len(f0)) if len(f0) > 0 else item["mel2note"].shape[1] + item["f0"] = torch.tensor(f0, device=self.device)[:min_frame].unsqueeze(0).float() if len(f0) > 0 else None + item["mel2note"] = item["mel2note"][:, :min_frame] + + if wav_path is not None: + waveform = load_wav(wav_path, self.sample_rate) + item["wav"] = waveform.to(self.device)[:, : min_frame * self.hop_size] + + return item + + +def build_vocal_segments( + f0, + *, + f0_rate: int = 50, + ignore_silent_frames_thresh: int = 5, + min_duration_sec_per_segment: float = 5.0, + max_duration_sec_per_segment: float = 30.0, + num_overlaps: int = 1, + ignore_silent_frames: bool = True, +) -> tuple[list[tuple[float, float]], list[tuple[float, float]]]: + """Build vocal segments from an F0 contour for chunked SVC inference.""" + if isinstance(f0, torch.Tensor): + f0_np = f0.detach().float().cpu().numpy() + else: + f0_np = np.asarray(f0, dtype=np.float32) + f0_np = np.squeeze(f0_np) + + total_frames = int(f0_np.shape[0]) + if total_frames == 0: + return [], [] + + min_frames = max(1, int(round(min_duration_sec_per_segment * f0_rate))) + max_frames = max(1, int(round(max_duration_sec_per_segment * f0_rate))) + + split_points = [0] + + def append_split_point(point: int): + point = int(max(0, min(point, total_frames))) + while point - split_points[-1] > max_frames: + split_points.append(split_points[-1] + max_frames) + if point > split_points[-1]: + split_points.append(point) + + idx = 0 + while idx < total_frames: + if f0_np[idx] == 0: + run_start = idx + while idx < total_frames and f0_np[idx] == 0: + idx += 1 + run_end = idx + if (run_end - run_start) >= ignore_silent_frames_thresh: + split_point = max(run_end - 5, (run_start + run_end) // 2) + append_split_point(split_point) + else: + idx += 1 + append_split_point(total_frames) + + segments: list[tuple[float, float]] = [] + overlap_segments: list[tuple[float, float]] = [] + + def append_segment(start_idx: int, end_idx: int, overlaps: int = num_overlaps): + segments.append((split_points[start_idx] / f0_rate, split_points[end_idx] / f0_rate)) + overlap_start_idx = start_idx + if start_idx > 0 and (split_points[end_idx] - split_points[start_idx - overlaps]) <= max_frames: + overlap_start_idx = start_idx - overlaps + overlap_segments.append((split_points[overlap_start_idx] / f0_rate, split_points[end_idx] / f0_rate)) + + segment_start, segment_end = 0, 1 + while segment_start < len(split_points) - 1: + while ( + segment_end < len(split_points) and (split_points[segment_end] - split_points[segment_start]) < min_frames + ): + segment_end += 1 + + if segment_end >= len(split_points): + append_segment(segment_start, len(split_points) - 1, overlaps=num_overlaps) + break + append_segment(segment_start, segment_end, overlaps=num_overlaps) + segment_start = segment_end + segment_end = segment_start + 1 + + if ignore_silent_frames: + filtered_idx = [] + for i, seg in enumerate(overlap_segments): + start_frame = int(seg[0] * f0_rate) + end_frame = int(seg[1] * f0_rate) + seg_frames = end_frame - start_frame + voice_frames = np.sum(f0_np[start_frame:end_frame] > 0) + if voice_frames / seg_frames > 0.05 and voice_frames >= 10: + filtered_idx.append(i) + + overlap_segments = [overlap_segments[i] for i in filtered_idx] + segments = [segments[i] for i in filtered_idx] + + return overlap_segments, segments diff --git a/vllm_omni/diffusion/registry.py b/vllm_omni/diffusion/registry.py index 5ab847024..93d7f5d75 100644 --- a/vllm_omni/diffusion/registry.py +++ b/vllm_omni/diffusion/registry.py @@ -276,6 +276,16 @@ _DIFFUSION_MODELS = { "pipeline_cosmos3", "Cosmos3OmniDiffusersPipeline", ), + "SoulXSingerPipeline": ( + "soulx_singer", + "pipeline_soulx_singer_svs", + "PipelineSoulXSingerSVS", + ), + "SoulXSingerSVCPipeline": ( + "soulx_singer", + "pipeline_soulx_singer_svc", + "PipelineSoulXSingerSVC", + ), "DiffusersAdapterPipeline": ( "diffusers_adapter", "pipeline_diffusers_adapter", @@ -489,6 +499,8 @@ _DIFFUSION_POST_PROCESS_FUNCS = { "LTX23Pipeline": "get_ltx2_post_process_func", "LTX23ImageToVideoPipeline": "get_ltx2_post_process_func", "StableAudioPipeline": "get_stable_audio_post_process_func", + "SoulXSingerPipeline": "get_soulxsinger_post_process_func", + "SoulXSingerSVCPipeline": "get_soulxsinger_post_process_func", "AudioXPipeline": "get_audiox_post_process_func", "WanImageToVideoPipeline": "get_wan22_i2v_post_process_func", "WanS2VPipeline": "get_wan22_s2v_post_process_func", @@ -559,6 +571,8 @@ _DIFFUSION_PRE_PROCESS_FUNCS = { "HunyuanImage3ForCausalMM": "get_hunyuan_image_3_pre_process_func", "MagiHumanPipeline": "get_magi_human_pre_process_func", "Cosmos3OmniDiffusersPipeline": "get_cosmos3_pre_process_func", + "SoulXSingerPipeline": "get_soulxsinger_pre_process_func", + "SoulXSingerSVCPipeline": "get_soulxsinger_svc_pre_process_func", } diff --git a/vllm_omni/engine/stage_init_utils.py b/vllm_omni/engine/stage_init_utils.py index 7960bae61..c3cf11b72 100644 --- a/vllm_omni/engine/stage_init_utils.py +++ b/vllm_omni/engine/stage_init_utils.py @@ -530,23 +530,24 @@ def get_stage_tp_size(stage_cfg: Any) -> int: def get_stage_devices_per_replica(stage_cfg: Any) -> int: """Return the number of devices consumed by one replica of *stage_cfg*.""" - if getattr(stage_cfg, "stage_type", "llm") != "diffusion": - return get_stage_tp_size(stage_cfg) + engine_args = getattr(stage_cfg, "engine_args", {}) + if getattr(stage_cfg, "stage_type", "llm") == "diffusion": + parallel_config = _get_attr_or_item(engine_args, "parallel_config") + if parallel_config is None: + return 1 - parallel_config = _get_attr_or_item(getattr(stage_cfg, "engine_args", {}), "parallel_config") - if parallel_config is None: - return 1 + world_size = _get_attr_or_item(parallel_config, "world_size") + if world_size is not None: + return max(1, int(world_size)) - world_size = _get_attr_or_item(parallel_config, "world_size") - if world_size is not None: - return max(1, int(world_size)) + try: + from vllm_omni.diffusion.data import DiffusionParallelConfig - try: - from vllm_omni.diffusion.data import DiffusionParallelConfig + return max(1, int(DiffusionParallelConfig.from_dict(_to_dict(parallel_config)).world_size)) + except Exception: + return 1 - return max(1, int(DiffusionParallelConfig.from_dict(_to_dict(parallel_config)).world_size)) - except Exception: - return 1 + return get_stage_tp_size(stage_cfg) def compute_replica_layout(