ACE-Step Documentation

ACE-Step: A Step Towards Music Generation Foundation Model

4,969 stars Python Python 1 file ยท ~23,427 tokens
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy ACE-Step on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name ace-step -p 7865:7865 --restart always ace-step/ace-step:latest
Configured Services & Ports
โš™๏ธ ace-step
image: build locally
๐Ÿ”Œ Ports: 7865:7865
docker-compose.yml
yaml (docker-compose.yml)
services:
  &name ace-step:
    build:
      context: https://github.com/ace-step/ACE-Step.git
      dockerfile: Dockerfile
    container_name: *name
    hostname: *name
    stop_grace_period: 2s
    ports:
      - "7865:7865"
    volumes:
      - ./checkpoints:/app/checkpoints
      - ./outputs:/app/outputs
      - ./logs:/app/logs
    environment:
      - ACE_OUTPUT_DIR=/app/outputs
    # command: python app.py --server_name 0.0.0.0 --port 7865 --share False --bf16 True --torch_compile True --device-id 0
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:7865/"]
      interval: 60s
      timeout: 10s
      retries: 30
      start_period: 3s
    restart: unless-stopped
    runtime: nvidia
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: ["compute", "utility", "graphics", "video"]

File: README.md

ACE-Step

A Step Towards Music Generation Foundation Model

Table of Contents

๐Ÿ“ Abstract

We introduce ACE-Step, a novel open-source foundation model for music generation that overcomes key limitations of existing approaches and achieves state-of-the-art performance through a holistic architectural design. Current methods face inherent trade-offs between generation speed, musical coherence, and controllability. For instance, LLM-based models (e.g., Yue, SongGen) excel at lyric alignment but suffer from slow inference and structural artifacts. Diffusion models (e.g., DiffRhythm), on the other hand, enable faster synthesis but often lack long-range structural coherence.

ACE-Step bridges this gap by integrating diffusion-based generation with Sanaโ€™s Deep Compression AutoEncoder (DCAE) and a lightweight linear transformer. It further leverages MERT and m-hubert to align semantic representations (REPA) during training, enabling rapid convergence. As a result, our model synthesizes up to 4 minutes of music in just 20 seconds on an A100 GPUโ€”15ร— faster than LLM-based baselinesโ€”while achieving superior musical coherence and lyric alignment across melody, harmony, and rhythm metrics. Moreover, ACE-Step preserves fine-grained acoustic details, enabling advanced control mechanisms such as voice cloning, lyric editing, remixing, and track generation (e.g., lyric2vocal, singing2accompaniment).

Rather than building yet another end-to-end text-to-music pipeline, our vision is to establish a foundation model for music AI: a fast, general-purpose, efficient yet flexible architecture that makes it easy to train sub-tasks on top of it. This paves the way for developing powerful tools that seamlessly integrate into the creative workflows of music artists, producers, and content creators. In short, we aim to build the Stable Diffusion moment for music.

๐Ÿ“ข News and Updates

  • ๐ŸŽ‰ 2026.01.28: Released ACE-Step v1.5 - Our latest and most advanced model is now available!

  • ๐Ÿ“ƒ 2025.06.02: Released ACE-Step Technical Report (PDF).

  • ๐ŸŽฎ 2025.05.14: Add Stable Audio Open Small sampler pingpong. Use SDE to achieve better music consistency and quality, including lyric alignment and style alignment. Use a better method to re-implement Audio2Audio

  • ๐ŸŽค 2025.05.12: Release RapMachine and fix lora training issues

  • ๐Ÿ”ฅ 2025.05.10: Memory Optimization Update

    • Reduced Max VRAM to 8GB, making it more compatible with consumer devices
    • Recommended launch options:
      bash
      acestep --torch_compile true --cpu_offload true --overlapped_decode true
      Windows need to install triton:
      text
      pip install triton-windows
  • ๐Ÿ“ข 2025.05.09: Graidio Demo support Audio2Audio. ComfyUI: Ace_Step_4x_a2a.json

  • ๐Ÿš€ 2025.05.08: ComfyUI_ACE-Step node is now available! Explore the power of ACE-Step within ComfyUI. ๐ŸŽ‰

  • ๐Ÿš€ 2025.05.06: Open source demo code and model

โœจ Features

๐ŸŽฏ Baseline Quality

๐ŸŒˆ Diverse Styles & Genres

  • ๐ŸŽธ Supports all mainstream music styles with various description formats including short tags, descriptive text, or use-case scenarios
  • ๐ŸŽท Capable of generating music across different genres with appropriate instrumentation and style

๐ŸŒ Multiple Languages

  • ๐Ÿ—ฃ๏ธ Supports 19 languages with top 10 well-performing languages including:
    • ๐Ÿ‡บ๐Ÿ‡ธ English, ๐Ÿ‡จ๐Ÿ‡ณ Chinese, ๐Ÿ‡ท๐Ÿ‡บ Russian, ๐Ÿ‡ช๐Ÿ‡ธ Spanish, ๐Ÿ‡ฏ๐Ÿ‡ต Japanese, ๐Ÿ‡ฉ๐Ÿ‡ช German, ๐Ÿ‡ซ๐Ÿ‡ท French, ๐Ÿ‡ต๐Ÿ‡น Portuguese, ๐Ÿ‡ฎ๐Ÿ‡น Italian, ๐Ÿ‡ฐ๐Ÿ‡ท Korean
  • โš ๏ธ Due to data imbalance, less common languages may underperform

๐ŸŽป Instrumental Styles

  • ๐ŸŽน Supports various instrumental music generation across different genres and styles
  • ๐ŸŽบ Capable of producing realistic instrumental tracks with appropriate timbre and expression for each instrument
  • ๐ŸŽผ Can generate complex arrangements with multiple instruments while maintaining musical coherence

๐ŸŽค Vocal Techniques

  • ๐ŸŽ™๏ธ Capable of rendering various vocal styles and techniques with good quality
  • ๐Ÿ—ฃ๏ธ Supports different vocal expressions including various singing techniques and styles

๐ŸŽ›๏ธ Controllability

๐Ÿ”„ Variations Generation

  • โš™๏ธ Implemented using training-free, inference-time optimization techniques
  • ๐ŸŒŠ Flow-matching model generates initial noise, then uses trigFlow's noise formula to add additional Gaussian noise
  • ๐ŸŽš๏ธ Adjustable mixing ratio between original initial noise and new Gaussian noise to control variation degree

๐ŸŽจ Repainting

  • ๐Ÿ–Œ๏ธ Implemented by adding noise to the target audio input and applying mask constraints during the ODE process
  • ๐Ÿ” When input conditions change from the original generation, only specific aspects can be modified while preserving the rest
  • ๐Ÿ”€ Can be combined with Variations Generation techniques to create localized variations in style, lyrics, or vocals

โœ๏ธ Lyric Editing

  • ๐Ÿ’ก Innovatively applies flow-edit technology to enable localized lyric modifications while preserving melody, vocals, and accompaniment
  • ๐Ÿ”„ Works with both generated content and uploaded audio, greatly enhancing creative possibilities
  • โ„น๏ธ Current limitation: can only modify small segments of lyrics at once to avoid distortion, but multiple edits can be applied sequentially

๐Ÿš€ Applications

๐ŸŽค Lyric2Vocal (LoRA)

  • ๐Ÿ”Š Based on a LoRA fine-tuned on pure vocal data, allowing direct generation of vocal samples from lyrics
  • ๐Ÿ› ๏ธ Offers numerous practical applications such as vocal demos, guide tracks, songwriting assistance, and vocal arrangement experimentation
  • โฑ๏ธ Provides a quick way to test how lyrics might sound when sung, helping songwriters iterate faster

๐Ÿ“ Text2Samples (LoRA)

  • ๐ŸŽ›๏ธ Similar to Lyric2Vocal, but fine-tuned on pure instrumental and sample data
  • ๐ŸŽต Capable of generating conceptual music production samples from text descriptions
  • ๐Ÿงฐ Useful for quickly creating instrument loops, sound effects, and musical elements for production

๐Ÿ”ฎ Coming Soon

๐ŸŽค RapMachine

  • ๐Ÿ”ฅ Fine-tuned on pure rap data to create an AI system specialized in rap generation
  • ๐Ÿ† Expected capabilities include AI rap battles and narrative expression through rap
  • ๐Ÿ“š Rap has exceptional storytelling and expressive capabilities, offering extraordinary application potential

๐ŸŽ›๏ธ StemGen

  • ๐ŸŽš๏ธ A controlnet-lora trained on multi-track data to generate individual instrument stems
  • ๐ŸŽฏ Takes a reference track and specified instrument (or instrument reference audio) as input
  • ๐ŸŽน Outputs an instrument stem that complements the reference track, such as creating a piano accompaniment for a flute melody or adding jazz drums to a lead guitar

๐ŸŽค Singing2Accompaniment

  • ๐Ÿ”„ The reverse process of StemGen, generating a mixed master track from a single vocal track
  • ๐ŸŽต Takes a vocal track and specified style as input to produce a complete vocal accompaniment
  • ๐ŸŽธ Creates full instrumental backing that complements the input vocals, making it easy to add professional-sounding accompaniment to any vocal recording

๐Ÿ“‹ Roadmap

  • Release training code ๐Ÿ”ฅ
  • Release LoRA training code ๐Ÿ”ฅ
  • Release RapMachine LoRA ๐ŸŽค
  • Release evaluation performance and technical report ๐Ÿ“„
  • Train and Release ACE-Step V1.5
  • Release ControlNet training code ๐Ÿ”ฅ
  • Release Singing2Accompaniment ControlNet ๐ŸŽฎ

๐Ÿ–ฅ๏ธ Hardware Performance

We have evaluated ACE-Step across different hardware setups, yielding the following throughput results:

Device RTF (27 steps) Time to render 1 min audio (27 steps) RTF (60 steps) Time to render 1 min audio (60 steps)
NVIDIA RTX 4090 34.48 ร— 1.74 s 15.63 ร— 3.84 s
NVIDIA A100 27.27 ร— 2.20 s 12.27 ร— 4.89 s
NVIDIA RTX 3090 12.76 ร— 4.70 s 6.48 ร— 9.26 s
MacBook M2 Max 2.27 ร— 26.43 s 1.03 ร— 58.25 s

We use RTF (Real-Time Factor) to measure the performance of ACE-Step. Higher values indicate faster generation speed. 27.27x means to generate 1 minute of music, it takes 2.2 seconds (60/27.27). The performance is measured on a single GPU with batch size 1 and 27 steps.

๐Ÿ“ฆ Installation

1. Clone the Repository

First, clone the ACE-Step repository to your local machine and navigate into the project directory:

bash
git clone https://github.com/ace-step/ACE-Step.git
cd ACE-Step

2. Prerequisites

Ensure you have the following installed:

  • Python: Version 3.10 or later is recommended. You can download it from python.org.
  • Conda or venv: For creating a virtual environment (Conda is recommended).

3. Set Up a Virtual Environment

It is highly recommended to use a virtual environment to manage project dependencies and avoid conflicts. Choose one of the following methods:

Option A: Using Conda

  1. Create the environment named ace_step with Python 3.10:

    bash
    conda create -n ace_step python=3.10 -y
  2. Activate the environment:

    bash
    conda activate ace_step

Option B: Using venv

  1. Navigate to the cloned ACE-Step directory.

  2. Create the virtual environment (commonly named venv):

    bash
    python -m venv venv
  3. Activate the environment:

    • On Windows (cmd.exe):
      bash
      venv\Scripts\activate.bat
    • On Windows (PowerShell):
      powershell
      .\venv\Scripts\Activate.ps1
      (If you encounter execution policy errors, you might need to run Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process first)
    • On Linux / macOS (bash/zsh):
      bash
      source venv/bin/activate

4. Install Dependencies

Once your virtual environment is activated:
a. (Windows Only) If you are on Windows and plan to use an NVIDIA GPU, install PyTorch with CUDA support first:

bash
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126

(Adjust cu126 if you have a different CUDA version. For other PyTorch installation options, refer to the official PyTorch website).

b. Install ACE-Step and its core dependencies:

bash
pip install -e .

The ACE-Step application is now installed. The GUI works on Windows, macOS, and Linux. For instructions on how to run it, please see the Usage section.

๐Ÿš€ Usage

๐Ÿ” Basic Usage

bash
acestep --port 7865

โš™๏ธ Advanced Usage

bash
acestep --checkpoint_path /path/to/checkpoint --port 7865 --device_id 0 --share true --bf16 true
  • If --checkpoint_path is set and models exist at the path, load from checkpoint_path.
  • If --checkpoint_path is set but models do not exist at the path, auto download models to checkpoint_path.
  • If --checkpoint_path is not set, auto download models to the default path ~/.cache/ace-step/checkpoints.

If you are using macOS, please use --bf16 false to avoid errors.

๐Ÿ” API Usage

If you intend to integrate ACE-Step as a library into your own Python projects, you can install the latest version directly from GitHub using the following pip command.

Direct Installation via pip:

  1. Ensure Git is installed: This method requires Git to be installed on your system and accessible in your system's PATH.
  2. Execute the installation command:
    bash
    pip install git+https://github.com/ace-step/ACE-Step.git
    It's recommended to use this command within a virtual environment to avoid conflicts with other packages.

๐Ÿ› ๏ธ Command Line Arguments

  • --checkpoint_path: Path to the model checkpoint (default: downloads automatically)
  • --server_name: IP address or hostname for the Gradio server to bind to (default: '127.0.0.1'). Use '0.0.0.0' to make it accessible from other devices on the network.
  • --port: Port to run the Gradio server on (default: 7865)
  • --device_id: GPU device ID to use (default: 0)
  • --share: Enable Gradio sharing link (default: False)
  • --bf16: Use bfloat16 precision for faster inference (default: True)
  • --torch_compile: Use torch.compile() to optimize the model, speeding up inference (default: False).
    • Windows need to install triton:
      text
      pip install triton-windows
  • --cpu_offload: Offload model weights to CPU to save GPU memory (default: False)
  • --overlapped_decode: Use overlapped decoding to speed up inference (default: False)

๐Ÿ“ฑ User Interface Guide

The ACE-Step interface provides several tabs for different music generation and editing tasks:

๐Ÿ“ Text2Music Tab

  1. ๐Ÿ“‹ Input Fields:

    • ๐Ÿท๏ธ Tags: Enter descriptive tags, genres, or scene descriptions separated by commas
    • ๐Ÿ“œ Lyrics: Enter lyrics with structure tags like [verse], [chorus], and [bridge]
    • โฑ๏ธ Audio Duration: Set the desired duration of the generated audio (-1 for random)
  2. โš™๏ธ Settings:

    • ๐Ÿ”ง Basic Settings: Adjust inference steps, guidance scale, and seeds
    • ๐Ÿ”ฌ Advanced Settings: Fine-tune scheduler type, CFG type, ERG settings, and more
  3. ๐Ÿš€ Generation: Click "Generate" to create music based on your inputs

๐Ÿ”„ Retake Tab

  • ๐ŸŽฒ Regenerate music with slight variations using different seeds
  • ๐ŸŽš๏ธ Adjust variance to control how much the retake differs from the original

๐ŸŽจ Repainting Tab

  • ๐Ÿ–Œ๏ธ Selectively regenerate specific sections of the music
  • โฑ๏ธ Specify start and end times for the section to repaint
  • ๐Ÿ” Choose the source audio (text2music output, last repaint, or upload)

โœ๏ธ Edit Tab

  • ๐Ÿ”„ Modify existing music by changing tags or lyrics
  • ๐ŸŽ›๏ธ Choose between "only_lyrics" mode (preserves melody) or "remix" mode (changes melody)
  • ๐ŸŽš๏ธ Adjust edit parameters to control how much of the original is preserved

๐Ÿ“ Extend Tab

  • โž• Add music to the beginning or end of an existing piece
  • ๐Ÿ“ Specify left and right extension lengths
  • ๐Ÿ” Choose the source audio to extend

๐Ÿ“‚ Examples

The examples/input_params directory contains sample input parameters that can be used as references for generating music.

๐Ÿ—๏ธ Architecture

๐Ÿ”จ Train

See TRAIN_INSTRUCTION.md for detailed training instructions.

๐Ÿ“œ License & Disclaimer

This project is licensed under Apache License 2.0

ACE-Step enables original music generation across diverse genres, with applications in creative production, education, and entertainment. While designed to support positive and artistic use cases, we acknowledge potential risks such as unintentional copyright infringement due to stylistic similarity, inappropriate blending of cultural elements, and misuse for generating harmful content. To ensure responsible use, we encourage users to verify the originality of generated works, clearly disclose AI involvement, and obtain appropriate permissions when adapting protected styles or materials. By using ACE-Step, you agree to uphold these principles and respect artistic integrity, cultural diversity, and legal compliance. The authors are not responsible for any misuse of the model, including but not limited to copyright violations, cultural insensitivity, or the generation of harmful content.

๐Ÿ”” Important Notice
The only official website for the ACE-Step project is our GitHub Pages site.
We do not operate any other websites.
๐Ÿšซ Fake domains include but are not limited to:
ac**p.com, a**p.org, a***c.org
โš ๏ธ Please be cautious. Do not visit, trust, or make payments on any of those sites.

๐Ÿ™ Acknowledgements

This project is co-led by ACE Studio and StepFun.

๐Ÿ“– Citation

If you find this project useful for your research, please consider citing:

bibtex
@misc{gong2025acestep,
	title={ACE-Step: A Step Towards Music Generation Foundation Model},
	author={Junmin Gong, Wenxiao Zhao, Sen Wang, Shengyuan Xu, Jing Guo}, 
	howpublished={\url{https://github.com/ace-step/ACE-Step}},
	year={2025},
	note={GitHub repository}
}

File: docker-compose.yaml

services:
&name ace-step:
build:
context: https://github.com/ace-step/ACE-Step.git
dockerfile: Dockerfile
container_name: *name
hostname: *name
stop_grace_period: 2s
ports:
- "7865:7865"
volumes:
- ./checkpoints:/app/checkpoints
- ./outputs:/app/outputs
- ./logs:/app/logs
environment:
- ACE_OUTPUT_DIR=/app/outputs
# command: python app.py --server_name 0.0.0.0 --port 7865 --share False --bf16 True --torch_compile True --device-id 0
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7865/"]
interval: 60s
timeout: 10s
retries: 30
start_period: 3s
restart: unless-stopped
runtime: nvidia
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: ["compute", "utility", "graphics", "video"]


File: requirements.txt

datasets==3.4.1
diffusers>=0.33.0
gradio
librosa==0.11.0
loguru==0.7.3
matplotlib==3.10.1
numpy
pypinyin==0.53.0
pytorch_lightning==2.5.1
soundfile==0.13.1
torch
torchaudio
torchvision
tqdm
transformers==4.50.0
py3langid==0.3.0
hangul-romanize==0.1.0
num2words==0.5.14
spacy==3.8.4
accelerate==1.6.0
cutlet
fugashi[unidic-lite]
click
peft
tensorboard
tensorboardX


File: TRAIN_INSTRUCTION.md

Training Instruction

1. Data Preparation

Required File Format

For each audio sample, you need exactly 3 files in the data directory:

  1. filename.mp3 - The audio file
  2. filename_prompt.txt - Audio characteristics (comma-separated tags)
  3. filename_lyrics.txt - Song lyrics (optional, but recommended)

Example Data Structure

text
data/
โ”œโ”€โ”€ test_track_001.mp3
โ”œโ”€โ”€ test_track_001_prompt.txt
โ””โ”€โ”€ test_track_001_lyrics.txt

File Content Format

`*_prompt.txt` - Audio Tags

Simple comma-separated audio characteristics describing the sound, instruments, genre, mood, etc.

Example:

text
melodic techno, male vocal, electronic, emotional, minor key, 124 bpm, synthesizer, driving, atmospheric

Guidelines for creating prompt tags:

  • Include genre (e.g., "rap", "pop", "rock", "electronic")
  • Include vocal type (e.g., "male vocal", "female vocal", "spoken word")
  • Include instruments actually heard (e.g., "guitar", "piano", "synthesizer", "drums")
  • Include mood/energy (e.g., "energetic", "calm", "aggressive", "melancholic")
  • Include tempo if known (e.g., "120 bpm", "fast tempo", "slow tempo")
  • Include key if known (e.g., "major key", "minor key", "C major")

`*_lyrics.txt` - Song Lyrics

Standard song lyrics with verse/chorus structure.

Example:

text
[Verse]
Lately I've been wondering
Why do I do this to myself
I should be over it

[Chorus]  
It makes me want to cry
If you knew what you meant to me
I wonder if you'd come back

โš ๏ธ Important Notes

  • File naming is strict: Must follow filename.mp3, filename_prompt.txt, filename_lyrics.txt pattern
  • JSON files are NOT supported - the converter only reads the simple text files above
  • Complex multi-variant descriptions are NOT used - only the simple comma-separated prompt format works

2. Convert to Huggingface Dataset Format

Run the following command to convert your data to the training format:

bash
python convert2hf_dataset.py --data_dir "./data" --repeat_count 2000 --output_name "zh_lora_dataset"

Parameters:

  • --data_dir: Path to your data directory containing the MP3, prompt, and lyrics files
  • --repeat_count: Number of times to repeat your data (use higher values for small datasets)
  • --output_name: Name of the output dataset directory

What the Converter Creates

The converter processes your files and creates a Huggingface dataset with these features:

python
Dataset Features:
{
    'keys': string,              # filename (e.g., "test_track_001")
    'filename': string,          # path to MP3 file  
    'tags': list[string],        # parsed prompt tags as array
    'speaker_emb_path': string,  # (empty, not used)
    'norm_lyrics': string,       # full lyrics text
    'recaption': dict            # (empty, not used)
}

Example processed sample:

python
{
    'keys': 'test_track_001',
    'filename': 'data/test_track_001.mp3',
    'tags': ['melodic techno', 'male vocal', 'electronic', 'emotional', 'minor key', '124 bpm', 'synthesizer', 'driving', 'atmospheric'],
    'speaker_emb_path': '',
    'norm_lyrics': '[Verse]\nLately I\'ve been wondering\nWhy do I do this to myself...',
    'recaption': {}
}

3. Configure Lora Parameters

Refer to config/zh_rap_lora_config.json for configuring Lora parameters.

If your VRAM is not sufficient, you can reduce the r and lora_alpha parameters in the configuration file. Such as:

json
{
	"r": 16,
	"lora_alpha": 32,
	"target_modules": [
		"linear_q",
		"linear_k",
		"linear_v",
		"to_q",
		"to_k",
		"to_v",
		"to_out.0"
	]
}

4. Run Training

Run python trainer.py with the following parameter introduction:

Trainer Parameter Interpretation

1. General Settings

  1. --num_nodes: This parameter specifies the number of nodes for the training process. It is an integer value, and the default is set to 1. In scenarios where distributed training across multiple nodes is applicable, this parameter determines how many nodes will be utilized. For example, if you have a cluster of machines and want to distribute the training load, you can increase this number. However, for most single-machine or basic training setups, the default value of 1 is sufficient.
  2. --shift: It is a floating-point parameter with a default value of 3.0. Although its specific function depends on the implementation details of the model, it is likely used for some internal calculations related to the model, such as adjusting certain biases or offsets in the neural network architecture during the training process.

2. Training Hyperparameters

  1. --learning_rate: This is a crucial hyperparameter for the training process. It is a floating-point value with a default of 1e-4 (0.0001). The learning rate determines the step size at each iteration while updating the model's weights. A smaller learning rate will make the training process more stable but may require more training steps to converge. On the other hand, a larger learning rate can lead to faster convergence but might cause the model to overshoot the optimal solution and result in unstable training or even divergence.
  2. --num_workers: This parameter defines the number of worker processes that will be used for data loading. It is an integer with a default value of 8. Having multiple workers can significantly speed up the data loading process, especially when dealing with large datasets. However, it also consumes additional system resources, so you may need to adjust this value based on the available resources of your machine (e.g., CPU cores and memory).
  3. --epochs: It represents the number of times the entire training dataset will be passed through the model. It is an integer, and the default value is set to -1. When set to -1, the training will continue until another stopping condition (such as reaching the maximum number of steps) is met. If you set a positive integer value, the training will stop after that number of epochs.
  4. --max_steps: This parameter specifies the maximum number of training steps. It is an integer with a default value of 2000000. Once the model has completed this number of training steps, the training process will stop, regardless of whether the model has fully converged or not. This is useful for setting a limit on the training duration in terms of the number of steps.
  5. --every_n_train_steps: It is an integer parameter with a default of 2000. It determines how often certain operations (such as saving checkpoints, logging training progress, etc.) will be performed during the training. For example, with a value of 2000, these operations will occur every 2000 training steps.

3. Dataset and Experiment Settings

  1. --dataset_path: This is a string parameter that indicates the path to the dataset in the Huggingface dataset format. The default value is "./zh_lora_dataset". You need to ensure that the dataset at this path is correctly formatted and contains the necessary data for training.
  2. --exp_name: It is a string parameter used to name the experiment. The default value is "chinese_rap_lora". This name can be used to distinguish different training experiments, and it is often used in logging and saving checkpoints to organize and identify the results of different runs.

4. Training Precision and Gradient Settings

  1. --precision: This parameter specifies the precision of the training. It is a string with a default value of "32", which usually means 32-bit floating-point precision. Higher precision can lead to more accurate training but may also consume more memory and computational resources. You can adjust this value depending on your hardware capabilities and the requirements of your model.
  2. --accumulate_grad_batches: It is an integer parameter with a default value of 1. It determines how many batches of data will be used to accumulate gradients before performing an optimization step. For example, if you set it to 4, the gradients from 4 consecutive batches will be accumulated, and then the model's weights will be updated. This can be useful in scenarios where you want to simulate larger batch sizes when your available memory does not allow for actual large batch training.
  3. --gradient_clip_val: This is a floating-point parameter with a default value of 0.5. It is used to clip the gradients during the backpropagation process. Clipping the gradients helps prevent the issue of gradient explosion, where the gradients become extremely large and cause the model to become unstable. By setting a clip value, the gradients will be adjusted to be within a certain range.
  4. --gradient_clip_algorithm: It is a string parameter with a default value of "norm". This parameter specifies the algorithm used for gradient clipping. The "norm" algorithm is one common method, but there may be other algorithms available depending on the implementation of the training framework.

5. Checkpoint and Logging Settings

  1. --devices: This is an integer parameter with a default value of 1. It specifies the number of devices (such as GPUs) that will be used for training. If you have multiple GPUs available and want to use them for parallel training, you can increase this number accordingly.
  2. --logger_dir: It is a string parameter with a default value of "./exps/logs/". This parameter indicates the directory where the training logs will be saved. The logs can be useful for monitoring the training progress, analyzing the performance of the model during training, and debugging any issues that may arise.
  3. --ckpt_path: It is a string parameter with a default value of None. If you want to resume training from a previously saved checkpoint, you can specify the path to the checkpoint file using this parameter. If set to None, the training will start from scratch.
  4. --checkpoint_dir: This is a string parameter with a default value of None. It specifies the directory where the checkpoints of the model will be saved during the training process. If set to None, checkpoints may not be saved or may be saved in a default location depending on the training framework.

6. Validation and Reloading Settings

  1. --reload_dataloaders_every_n_epochs: It is an integer parameter with a default value of 1. It determines how often the data loaders will be reloaded during the training process. Reloading the data loaders can be useful when you want to ensure that the data is shuffled or processed differently for each epoch, especially when dealing with datasets that may change or have some specific requirements.
  2. --every_plot_step: It is an integer parameter with a default value of 2000. It specifies how often some visualizations or plots (such as loss curves, accuracy plots, etc.) will be generated during the training process. For example, with a value of 2000, the plots will be updated every 2000 training steps.
  3. --val_check_interval: This is an integer parameter with a default value of None. It determines how often the validation process will be performed during the training. If set to a positive integer, the model will be evaluated on the validation dataset every specified number of steps. If set to None, no regular validation checks will be performed.
  4. --lora_config_path: It is a string parameter with a default value of "config/zh_rap_lora_config.json". This parameter specifies the path to the configuration file for the Lora (Low-Rank Adaptation) module. The Lora configuration file contains settings related to the Lora module, such as the rank of the low-rank matrices, the learning rate for the Lora parameters, etc.

File: ZH_RAP_LORA.md

๐ŸŽค RapMachine Release

We meticulously curated and trained this model on Chinese rap/hip-hop datasets, with rigorous data cleaning and recaptioning. The results include:

  • Improved pronunciation for Chinese lyrics
  • Enhanced adherence to hip-hop and electronic music styles
  • Greater diversity in hip-hop vocal performances

**How to Use**

  1. Generate higher-quality Chinese songs (โš ๏ธ It's not just for Chinese songs. You can also use it in other ways. )

  2. Create better hip-hop tracks

  3. Blend it with other genres to:

    • Produce music with richer vocal details
    • Experiment with underground or street culture flavors
  4. Fine-tune outputs using the following dimensions:

    • vocal_timbre: Describes the inherent qualities of the voice.

      • Examples: Bright, dark, warm, cold, breathy, nasal, gritty, smooth, husky, metallic, whispery, resonant, airy, smoky, sultry, light, clear, high-pitched, raspy, powerful, ethereal, flute-like, hollow, velvety, shrill, hoarse, mellow, thin, thick, reedy, silvery, twangy.
    • techniques:

      • Examples:
        • Rap styles: mumble rap, chopper rap, melodic rap, lyrical rap, trap flow, double-time rap
        • Vocal effects: auto-tune, reverb, delay, distortion
        • Delivery styles: whispered, shouted, spoken word, narration, singing
        • Other vocalizations: ad-libs, call-and-response, harmonized

Community Note

Weโ€™ve revamped and expanded the LoRA training guide with finer details. This release is a proof of conceptโ€”showcasing the potential of ACE-Step.

While a Chinese rap LoRA might seem niche for non-Chinese communities, we consistently demonstrate through such projects that ACE-step - as a music generation foundation model - holds boundless potential. It doesn't just improve pronunciation in one language, but spawns new styles.

The universal human appreciation of music is a precious asset. Like abstract LEGO blocks, these elements will eventually combine in more organic ways. May our open-source contributions propel the evolution of musical history forward.

Enjoy it, customize it, and create something entirely new.

We canโ€™t wait to hear what youโ€™ll build!


File: acestep/models/config.json

{
"_class_name": "Transformer2DModel",
"_diffusers_version": "0.27.2",
"in_channels": 8,
"num_layers": 24,
"inner_dim": 2560,
"attention_head_dim": 128,
"num_attention_heads": 20,
"mlp_ratio": 2.5,
"out_channels": 8,
"max_position": 32768,
"rope_theta": 1000000.0,
"speaker_embedding_dim": 512,
"text_embedding_dim": 768,
"ssl_encoder_depths": [8, 8],
"ssl_names": ["mert", "m-hubert"],
"ssl_latent_dims": [1024, 768],
"patch_size": [16, 1],
"max_height": 16,
"max_width": 32768,
"lyric_encoder_vocab_size": 6693,
"lyric_hidden_size": 1024
}


File: assets/Ace_Step_4x_a2a.json

{
"id": "88ac5dad-efd7-40bb-84fe-fbaefdee1fa9",
"revision": 0,
"last_node_id": 63,
"last_link_id": 173,
"nodes": [
{
"id": 45,
"type": "ModelSamplingSD3",
"pos": [
542.9647827148438,
-90.26543426513672
],
"size": [
270,
58
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 111
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
112,
116,
123,
132
]
}
],
"properties": {
"Node name for S&R": "ModelSamplingSD3"
},
"widgets_values": [
4.000000000000001
]
},
{
"id": 18,
"type": "VAEDecodeAudio",
"pos": [
886.7603149414062,
-89.60011291503906
],
"size": [
150.93612670898438,
46
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 101
},
{
"name": "vae",
"type": "VAE",
"link": 83
}
],
"outputs": [
{
"name": "AUDIO",
"type": "AUDIO",
"links": [
26
]
}
],
"properties": {
"Node name for S&R": "VAEDecodeAudio"
},
"widgets_values": []
},
{
"id": 47,
"type": "VAEDecodeAudio",
"pos": [
876.7603759765625,
180.3998260498047
],
"size": [
150.93612670898438,
46
],
"flags": {},
"order": 12,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 117
},
{
"name": "vae",
"type": "VAE",
"link": 118
}
],
"outputs": [
{
"name": "AUDIO",
"type": "AUDIO",
"links": [
120
]
}
],
"properties": {
"Node name for S&R": "VAEDecodeAudio"
},
"widgets_values": []
},
{
"id": 54,
"type": "VAEDecodeAudio",
"pos": [
886.7603149414062,
530.3997192382812
],
"size": [
150.93612670898438,
46
],
"flags": {},
"order": 15,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 147
},
{
"name": "vae",
"type": "VAE",
"link": 128
}
],
"outputs": [
{
"name": "AUDIO",
"type": "AUDIO",
"links": [
130
]
}
],
"properties": {
"Node name for S&R": "VAEDecodeAudio"
},
"widgets_values": []
},
{
"id": 40,
"type": "CheckpointLoaderSimple",
"pos": [
83.06548309326172,
-53.6221923828125
],
"size": [
375,
98
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
111
]
},
{
"name": "CLIP",
"type": "CLIP",
"links": [
80
]
},
{
"name": "VAE",
"type": "VAE",
"links": [
83,
118,
128,
137,
149
]
}
],
"properties": {
"Node name for S&R": "CheckpointLoaderSimple"
},
"widgets_values": [
"ace_step_v1_3.5b.safetensors"
]
},
{
"id": 57,
"type": "VAEDecodeAudio",
"pos": [
886.7603149414062,
800.3997802734375
],
"size": [
150.93612670898438,
46
],
"flags": {},
"order": 18,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 136
},
{
"name": "vae",
"type": "VAE",
"link": 137
}
],
"outputs": [
{
"name": "AUDIO",
"type": "AUDIO",
"links": [
168
]
}
],
"properties": {
"Node name for S&R": "VAEDecodeAudio"
},
"widgets_values": []
},
{
"id": 62,
"type": "Reroute",
"pos": [
80,
60
],
"size": [
75,
26
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "",
"type": "",
"link": 173
}
],
"outputs": [
{
"name": "",
"type": "LATENT",
"links": [
172
]
}
],
"properties": {
"showOutputText": false,
"horizontal": false
}
},
{
"id": 60,
"type": "VAEEncodeAudio",
"pos": [
-122.92820739746094,
7.071800231933594
],
"size": [
150.13333129882812,
46
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "audio",
"type": "AUDIO",
"link": 150
},
{
"name": "vae",
"type": "VAE",
"link": 149
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
173
]
}
],
"properties": {
"Node name for S&R": "VAEEncodeAudio"
},
"color": "#223",
"bgcolor": "#335"
},
{
"id": 17,
"type": "EmptyAceStepLatentAudio",
"pos": [
-245.60769653320312,
112.92820739746094
],
"size": [
270,
82
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": []
}
],
"properties": {
"Node name for S&R": "EmptyAceStepLatentAudio"
},
"widgets_values": [
69,
1
],
"color": "#223",
"bgcolor": "#335"
},
{
"id": 44,
"type": "ConditioningZeroOut",
"pos": [
291.3594665527344,
486.2049865722656
],
"size": [
197.712890625,
26
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "conditioning",
"type": "CONDITIONING",
"link": 108
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
109,
114,
125,
134
]
}
],
"properties": {
"Node name for S&R": "ConditioningZeroOut"
},
"widgets_values": []
},
{
"id": 46,
"type": "KSampler",
"pos": [
526.7609252929688,
330.3997802734375
],
"size": [
315,
262
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 116
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 115
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 114
},
{
"name": "latent_image",
"type": "LATENT",
"link": 169
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"slot_index": 0,
"links": [
117,
170
]
}
],
"properties": {
"Node name for S&R": "KSampler"
},
"widgets_values": [
701612340335405,
"increment",
30,
6,
"euler",
"sgm_uniform",
0.20000000000000004
]
},
{
"id": 53,
"type": "KSampler",
"pos": [
526.7609252929688,
640.3997802734375
],
"size": [
315,
262
],
"flags": {},
"order": 13,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 123
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 124
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 125
},
{
"name": "latent_image",
"type": "LATENT",
"link": 170
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"slot_index": 0,
"links": [
147,
171
]
}
],
"properties": {
"Node name for S&R": "KSampler"
},
"widgets_values": [
801612340336968,
"increment",
30,
6,
"euler",
"sgm_uniform",
0.20000000000000004
]
},
{
"id": 56,
"type": "KSampler",
"pos": [
526.7609252929688,
960.3997802734375
],
"size": [
315,
262
],
"flags": {},
"order": 16,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 132
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 133
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 134
},
{
"name": "latent_image",
"type": "LATENT",
"link": 171
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"slot_index": 0,
"links": [
136
]
}
],
"properties": {
"Node name for S&R": "KSampler"
},
"widgets_values": [
205612340336968,
"increment",
30,
6,
"euler",
"sgm_uniform",
0.20000000000000004
]
},
{
"id": 3,
"type": "KSampler",
"pos": [
524.7819213867188,
24.392868041992188
],
"size": [
315,
262
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 112
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 110
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 109
},
{
"name": "latent_image",
"type": "LATENT",
"link": 172
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"slot_index": 0,
"links": [
101,
169
]
}
],
"properties": {
"Node name for S&R": "KSampler"
},
"widgets_values": [
654498564630224,
"increment",
30,
6,
"euler",
"sgm_uniform",
0.4000000000000001
]
},
{
"id": 59,
"type": "LoadAudio",
"pos": [
-547.00732421875,
44.58967590332031
],
"size": [
274,
136
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "AUDIO",
"type": "AUDIO",
"links": [
150
]
}
],
"properties": {
"Node name for S&R": "LoadAudio"
},
"widgets_values": [
"The_Gael_Synth.mp3",
null,
""
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 14,
"type": "TextEncodeAceStepAudio",
"pos": [
81.86527252197266,
132.01605224609375
],
"size": [
410.834716796875,
305.39215087890625
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 80
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
108,
110,
115,
124,
133
]
}
],
"properties": {
"Node name for S&R": "TextEncodeAceStepAudio"
},
"widgets_values": [
"techno, eurodance, melodic, dark synth, dark soundscape",
""
],
"color": "#232",
"bgcolor": "#353"
},
{
"id": 19,
"type": "SaveAudio",
"pos": [
-662.6826782226562,
248.9967041015625
],
"size": [
725.9335327148438,
112
],
"flags": {},
"order": 11,
"mode": 0,
"inputs": [
{
"name": "audio",
"type": "AUDIO",
"link": 26
}
],
"outputs": [],
"properties": {},
"widgets_values": [
"audio/asdf"
]
},
{
"id": 61,
"type": "SaveAudio",
"pos": [
-649.760498046875,
716.68798828125
],
"size": [
705.8839721679688,
112
],
"flags": {},
"order": 19,
"mode": 0,
"inputs": [
{
"name": "audio",
"type": "AUDIO",
"link": 168
}
],
"outputs": [],
"properties": {},
"widgets_values": [
"audio/asdf"
]
},
{
"id": 49,
"type": "SaveAudio",
"pos": [
-654.6276245117188,
408.31817626953125
],
"size": [
715.1640014648438,
112
],
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{
"name": "audio",
"type": "AUDIO",
"link": 120
}
],
"outputs": [],
"properties": {},
"widgets_values": [
"audio/asdf"
]
},
{
"id": 55,
"type": "SaveAudio",
"pos": [
-659.52783203125,
558.103515625
],
"size": [
723.4810180664062,
112
],
"flags": {},
"order": 17,
"mode": 0,
"inputs": [
{
"name": "audio",
"type": "AUDIO",
"link": 130
}
],
"outputs": [],
"properties": {},
"widgets_values": [
"audio/asdf"
]
}
],
"links": [
[
26,
18,
0,
19,
0,
"AUDIO"
],
[
80,
40,
1,
14,
0,
"CLIP"
],
[
83,
40,
2,
18,
1,
"VAE"
],
[
101,
3,
0,
18,
0,
"LATENT"
],
[
108,
14,
0,
44,
0,
"CONDITIONING"
],
[
109,
44,
0,
3,
2,
"CONDITIONING"
],
[
110,
14,
0,
3,
1,
"CONDITIONING"
],
[
111,
40,
0,
45,
0,
"MODEL"
],
[
112,
45,
0,
3,
0,
"MODEL"
],
[
114,
44,
0,
46,
2,
"CONDITIONING"
],
[
115,
14,
0,
46,
1,
"CONDITIONING"
],
[
116,
45,
0,
46,
0,
"MODEL"
],
[
117,
46,
0,
47,
0,
"LATENT"
],
[
118,
40,
2,
47,
1,
"VAE"
],
[
120,
47,
0,
49,
0,
"AUDIO"
],
[
123,
45,
0,
53,
0,
"MODEL"
],
[
124,
14,
0,
53,
1,
"CONDITIONING"
],
[
125,
44,
0,
53,
2,
"CONDITIONING"
],
[
128,
40,
2,
54,
1,
"VAE"
],
[
130,
54,
0,
55,
0,
"AUDIO"
],
[
132,
45,
0,
56,
0,
"MODEL"
],
[
133,
14,
0,
56,
1,
"CONDITIONING"
],
[
134,
44,
0,
56,
2,
"CONDITIONING"
],
[
136,
56,
0,
57,
0,
"LATENT"
],
[
137,
40,
2,
57,
1,
"VAE"
],
[
147,
53,
0,
54,
0,
"LATENT"
],
[
149,
40,
2,
60,
1,
"VAE"
],
[
150,
59,
0,
60,
0,
"AUDIO"
],
[
168,
57,
0,
61,
0,
"AUDIO"
],
[
169,
3,
0,
46,
3,
"LATENT"
],
[
170,
46,
0,
53,
3,
"LATENT"
],
[
171,
53,
0,
56,
3,
"LATENT"
],
[
172,
62,
0,
3,
3,
"LATENT"
],
[
173,
60,
0,
62,
0,
"
"
]
],
"groups": [],
"config": {},
"extra": {
"frontendVersion": "1.18.9",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0
},
"version": 0.4
}


File: config/zh_rap_lora_config.json

{
"r": 256,
"lora_alpha": 32,
"target_modules": [
"speaker_embedder",
"linear_q",
"linear_k",
"linear_v",
"to_q",
"to_k",
"to_v",
"to_out.0"
],
"use_rslora": true
}


File: data/test_track_001_lyrics.txt

[Intro]
"System booting... ่ฏญ่จ€ ๆจกๅž‹ loading..."

[Verse 1]
็ก…่ฐท ้‚ฃไธช coder ่ฐƒ่ฏ• neural network
ๅŒ—ไบฌ ็š„ ๆžๅฎข ่ฎญ็ปƒ A I ๅ†™ report
ไธๅŒ ๆžถๆž„ ็š„ chip ไธๅŒ ็ฎ—ๆณ• ็š„ war
ๅฑๅน•ไธŠ ่ท‘็š„ ๅ…จๆ˜ฏ machine learning (learning)

[Bridge]
ๅคšๅฐ‘ๅนด ๆˆ‘ไปฌ chase ๆ‘ฉๅฐ” ๅฎšๅพ‹ ็š„ trend (yeah)
่ฟ™ไธคๅนด ๆขไป–ไปฌ study ไธญๆ–‡ N L P
Convolution L S T M
ๅฅฝ็ƒง่„‘ ็š„ backprop ๅฅฝๆšดๅŠ› ็š„ big data

[Verse 2]
Python ๅผบ sayๅŠ ๅŠ  ๅˆš Python ่ฐƒ็”จ C++ ็š„ A P I
sayๅŠ ๅŠ  ๅซŒ Python ๅคช slow Python ็ฌ‘ C++ ๅคช hardcore
L L V M ้ป˜้ป˜ generate ไธญ้—ด code
ๅˆฐๅบ• interpreter ่ฟ˜ๆ˜ฏ compiler ๅฑŒ๏ผŸ

[Verse 3]
P M ๅ’Œ engineer
็™ฝๆฟ ็”ปๆปก flow chart ๆœๅŠกๅ™จ ้—ช็€ red light
P M ่ฏด add feature engineer ่ฏด no way
้œ€ๆฑ‚ ๅ˜ๆ›ด code ้‡ๆž„
ไธ็Ÿฅ ๆ˜ฏ P M ๅคช fly ่ฟ˜ๆ˜ฏ deadline ๅคช high

[Chorus]
ๅ…จไธ–็•Œ ้ƒฝๅœจ train neural network
Transformer ็š„ paper ่ถŠๆฅ่ถŠ ้šพ go through
ๅ…จไธ–็•Œ ้ƒฝๅœจ tune ่ถ…ๅ‚ๆ•ฐ
ๆˆ‘ไปฌ ๅ†™็š„ bug ่ฎฉ G P U ้ƒฝ say no

[Verse 4]
ๆŸๆž— hackathon demo blockchain contract
ไธŠๆตท ็š„ dev ็”จ federated learning ็ ด data wall
ๅ„็ง ่ฏญ่จ€ ็š„ error ๅ„็ง ๆก†ๆžถ ็š„ doc
terminal ้‡Œ ๆปš็š„ ๅ…จๆ˜ฏ dependency ๅ†ฒ็ช

[Bridge]
ๆ›พไปฅไธบ English ๆ‰ๆ˜ฏ coding ็š„ language (yeah)
็›ดๅˆฐ่ง G P T ็”จ ๆ–‡่จ€ๆ–‡ generate ๆญฃๅˆ™ expression
Gradient explode
ๅฅฝ็กฌๆ ธ ็š„ prompt ๅฅฝๅคด็งƒ ็š„ debug road

[Verse 5]
ๆœ‰ไธช bug ๅซ quantum
ๆต‹่ฏ• ็Žฏๅขƒ run perfect ไธŠ็บฟ ็ซ‹ๅณๅฐฑ crash
ๆŸฅ log ็œ‹ monitor ๅ‘็Žฐๆ˜ฏ thread ไธๅŒๆญฅ
ๆ”น sync ๅŠ  lock ๆ…ข deadlock ๆ›ด้šพๅŠž
้‡ๅญ computer ไนŸ่งฃไธๅผ€ ่ฟ™ chaos chain

[Verse 6]
ไฝ ่ฏด 996 ๆˆ‘่ฏด 007
ไฝ ่ฏด ็ฆๆŠฅ ๆˆ‘่ฏด burnout
Product ่ฆ agile Boss ่ฆ KPI
Code ่ฆ elegant deadline ๆ˜ฏ tomorrow
ไธๅฆ‚ ็›ดๆŽฅ script ่‡ชๅŠจ submit ็ฆป่Œไฟก

[Outro]
"Warning: ๅ†…ๅญ˜ leak...core dumping..."
ๅ…จไธ–็•Œ ้ƒฝๅœจ train neural network (neural network)
Loss ่ฟ˜ๆฒก converge ๅคฉๅทฒ็ปไบฎ
ๅ…จไธ–็•Œ ้ƒฝๅœจ tune ่ถ…ๅ‚ๆ•ฐ
ๆˆ‘ไปฌ ๅ†™็š„ code (่ฎฉๅฎƒ) ่ฎฉ world (reboot) ้ƒฝ reboot ๆ— ๆ•ˆ


File: data/test_track_001_prompt.txt

articulate, spoken word, young adult, rap music, female, clear, energetic, warm


File: examples/default/input_params/output_20250426071706_0_input_params.json

{
"prompt": "pop, rap, electronic, blues, hip-house, rhythm and blues",
"lyrics": "[verse]\nๆˆ‘่ตฐ่ฟ‡ๆทฑๅคœ็š„่ก—้“\nๅ†ท้ฃŽๅนไนฑๆ€ๅฟต็š„ๆผ‚ไบฎๅค–ๅฅ—\nไฝ ็š„ๅพฎ็ฌ‘ๅƒๆ˜Ÿๅ…‰ๅพˆ็‚ซ่€€\n็…งไบฎไบ†ๆˆ‘ๅญค็‹ฌ็š„ๆฏๅˆ†ๆฏ็ง’\n\n[chorus]\nๆ„ฟไฝ ๆ˜ฏ้ฃŽๅน่ฟ‡ๆˆ‘็š„่„ธ\nๅธฆๆˆ‘้ฃž่ฟ‡ๆœ€่ฟœๆœ€้ฅ่ฟœ็š„ๅฑฑ้—ด\nๆ„ฟไฝ ๆ˜ฏ้ฃŽ่ฝป่งฆๆˆ‘็š„ๆขฆ\nๅœๅœจๅฟƒๅคดไธๅ†้ฃ˜ๆ•ฃๆ— ่ฟนๆ— ่ธช\n\n[verse]\nไธ€่ตทๅœจๅ–งๅ“—้ฟๅผ€ไธ–ไฟ—็š„้ชšๅŠจ\n็‹ฌ่‡ชๅœจๅคฉๅฐๆŽขๆœ›ๆœˆ่‰ฒ็š„ๆœฆ่ƒง\nไฝ ่ฏด็ˆฑๅƒ้Ÿณไนๅธฆ็‚น้‡่Š‚ๅฅ\nไธ€ๆ‹ไธ€่ทณ่ฎฉๆˆ‘ๅฟ˜ไบ†ๅฟƒ็š„ๆธฉๅบฆๅคš็ฉบๆดž\n\n[bridge]\nๅ”ฑ่ตทๅฏนไฝ ็š„ๆƒณๅฟตไธ้š่—\nๅƒ่ฏ—ๅˆๅƒ็”ปๅ†™ๆปก่—ไธไบ†็š„ๆธดๆœ›\nไฝ ็š„ๅฝฑๅญๆŒฅไธๆމๅƒ้ฃŽ็š„ๅ€”ๅผบ\n่ฟฝ็€ไฝ ้ฃžๆ‰ฌ็ฉฟ่ถŠไบ‘ๆตทไธ€ๆ ทๆณ›ๅ…‰\n\n[chorus]\nๆ„ฟไฝ ๆ˜ฏ้ฃŽๅน่ฟ‡ๆˆ‘็š„ๆ‰‹\nๆš–ๆš–็š„่งฆ็ขฐๅƒๆ˜ฅๆ—ฅ็ป†้›จๆธฉๆŸ”\nๆ„ฟไฝ ๆ˜ฏ้ฃŽ็›˜็ป•ๆˆ‘็š„่บซ\nๆทฑๆƒ…ไธ‡ไธ‡้‡ไธไผšๆœ‰ไธ€ๅคฉ่ตฐ่ฟœ่ตฐ\n\n[verse]\nๆทฑๅคœ็š„้’ข็ดๅผน่ตทๅŠจไบบ็š„ๆ—‹ๅพ‹\nไฝŽ้Ÿณ้ผ“็ ธ่ฟ›ๅฟƒๅบ•็š„ๆฏไธ€ๆฌกๅ‘ผๅธ\n่ฆๆ˜ฏ่ƒฝๅฐ†็ˆฑๅŒ–ไฝœๆญŒๅฃฐไผ ้€’\nไฝ ๆ˜ฏๅฆไผšๅฌ่งๆˆ‘ๅฟƒ้‡Œ็š„็œŸๅฟƒๅฎžๆ„",
"audio_duration": 170.63997916666668,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 3.191075086593628,
"diffusion": 17.459356784820557,
"latent2audio": 1.7095518112182617
},
"actual_seeds": [
3299954530
]
}


File: examples/default/input_params/output_20250426071812_0_input_params.json

{
"prompt": "country rock, folk rock, southern rock, bluegrass, country pop",
"lyrics": "[verse]\nWoke up to the sunrise glow\nTook my heart and hit the road\nWheels hummin' the only tune I know\nStraight to where the wildflowers grow\n\n[verse]\nGot that old map all wrinkled and torn\nDestination unknown but I'm reborn\nWith a smile that the wind has worn\nChasin' dreams that can't be sworn\n\n[chorus]\nRidin' on a highway to sunshine\nGot my shades and my radio on fine\nLeave the shadows in the rearview rhyme\nHeart's racing as we chase the time\n\n[verse]\nMet a girl with a heart of gold\nTold stories that never get old\nHer laugh like a tale that's been told\nA melody so bold yet uncontrolled\n\n[bridge]\nClouds roll by like silent ghosts\nAs we drive along the coast\nWe toast to the days we love the most\nFreedom's song is what we post\n\n[chorus]\nRidin' on a highway to sunshine\nGot my shades and my radio on fine\nLeave the shadows in the rearview rhyme\nHeart's racing as we chase the time",
"audio_duration": 224.23997916666667,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 4.262240648269653,
"diffusion": 15.380569219589233,
"latent2audio": 2.3227272033691406
},
"actual_seeds": [
401640
]
}


File: examples/default/input_params/output_20250426072346_0_input_params.json

[Binary file]


File: examples/default/input_params/output_20250426072508_0_input_params.json

{
"prompt": "funk, pop, soul, rock, melodic, guitar, drums, bass, keyboard, percussion, 105 BPM, energetic, upbeat, groovy, vibrant, dynamic",
"lyrics": "[verse]\nNeon lights they flicker bright\nCity hums in dead of night\nRhythms pulse through concrete veins\nLost in echoes of refrains\n\n[verse]\nBassline groovin' in my chest\nHeartbeats match the city's zest\nElectric whispers fill the air\nSynthesized dreams everywhere\n\n[chorus]\nTurn it up and let it flow\nFeel the fire let it grow\nIn this rhythm we belong\nHear the night sing out our song\n\n[verse]\nGuitar strings they start to weep\nWake the soul from silent sleep\nEvery note a story told\nIn this night weโ€™re bold and gold\n\n[bridge]\nVoices blend in harmony\nLost in pure cacophony\nTimeless echoes timeless cries\nSoulful shouts beneath the skies\n\n[verse]\nKeyboard dances on the keys\nMelodies on evening breeze\nCatch the tune and hold it tight\nIn this moment we take flight",
"audio_duration": 178.87997916666666,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.02882218360900879,
"diffusion": 16.91233205795288,
"latent2audio": 1.7794082164764404
},
"actual_seeds": [
401640
]
}


File: examples/default/input_params/output_20250426073829_0_input_params.json

{
"prompt": "electronic rap",
"lyrics": "[verse]\nWaves on the bass, pulsing in the speakers,\nTurn the dial up, we chasing six-figure features,\nGrinding on the beats, codes in the creases,\nDigital hustler, midnight in sneakers.\n\n[chorus]\nElectro vibes, hearts beat with the hum,\nUrban legends ride, we ain't ever numb,\nCircuits sparking live, tapping on the drum,\nLiving on the edge, never succumb.\n\n[verse]\nSynthesizers blaze, city lights a glow,\nRhythm in the haze, moving with the flow,\nSwagger on stage, energy to blow,\nFrom the blocks to the booth, you already know.\n\n[bridge]\nNight's electric, streets full of dreams,\nBass hits collective, bursting at seams,\nHustle perspective, all in the schemes,\nRise and reflective, ain't no in-betweens.\n\n[verse]\nVibin' with the crew, sync in the wire,\nGot the dance moves, fire in the attire,\nRhythm and blues, soul's our supplier,\nRun the digital zoo, higher and higher.\n\n[chorus]\nElectro vibes, hearts beat with the hum,\nUrban legends ride, we ain't ever numb,\nCircuits sparking live, tapping on the drum,\nLiving on the edge, never succumb.",
"audio_duration": 221.42547916666666,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.024875164031982422,
"diffusion": 20.566852569580078,
"latent2audio": 2.2281734943389893
},
"actual_seeds": [
401640
]
}


File: examples/default/input_params/output_20250426074037_0_input_params.json

{
"prompt": "electronic, house, electro house, synthesizer, drums, bass, percussion, fast, energetic, uplifting, exciting",
"lyrics": "[verse]\n้œ“่™น็ฏไธ‹ๆˆ‘ไปฌ่ฟฝ้€\nไบบ็พค่ทƒๅŠจๅƒๆฝฎๆฐดๆปกๅธƒ\n็ƒญๆตช่ขญๆฅๅนๆ•ฃๅญค็‹ฌ\n่ทณ่ฟ›่Š‚ๅฅไธๅฆ‚ๅœไธ‹่„šๆญฅ\n\n[pre-chorus]\n่„šๅฐ–่งฆ็”ตๅฟซ็‚นๆ„Ÿๅ—\n่ฟŽ็€้ฃŽๅฃฐ้‡Šๆ”พ่‡ช็”ฑ\nๅฟƒ่ทณ่Š‚ๆ‹้…ๅˆ่Š‚ๅฅ\nไธ€ๅˆ‡็ƒฆๆผ่ฏท้ ่พนๆธธ\n\n[chorus]\nๅคๅคœ็‹‚ๅฅ”ๆฒกๆœ‰ๅฐฝๅคด\nๆ˜Ÿๅ…‰้—ช็ƒ่ˆžๆฑ ไธๆœฝ\nๅฐฝๆƒ…ๆŒฅๆด’ๆ‰€ๆœ‰่Š‚ๅฅ\nๆ— ่พน็ƒญๆƒ…ๆŠŠไฝ ๅŒ…่ฃนๅ“ฆ\n\n[verse]\nๅคฉ็ฉบ็ฟปๆปš้ป‘ไบ‘ๅ…ฅๅคœ\nๆฏ้ข—ๆ˜Ÿๆ˜Ÿๅƒ้Ÿณไนๅพ‹่ดด\n่€ณ่พนๅ›žๅ“้‚ฃไฝŽ้Ÿณ็บฟ\n็Žฏ็ป•่€ณ้™…ๅฆ‚ๆขฆๅขƒ่ˆฌ็”œ\n\n[pre-chorus]\n่„šๅฐ–่งฆ็”ตๅฟซ็‚นๆ„Ÿๅ—\n่ฟŽ็€้ฃŽๅฃฐ้‡Šๆ”พ่‡ช็”ฑ\nๅฟƒ่ทณ่Š‚ๆ‹้…ๅˆ่Š‚ๅฅ\nไธ€ๅˆ‡็ƒฆๆผ่ฏท้ ่พนๆธธ\n\n[chorus]\nๅคๅคœ็‹‚ๅฅ”ๆฒกๆœ‰ๅฐฝๅคด\nๆ˜Ÿๅ…‰้—ช็ƒ่ˆžๆฑ ไธๆœฝ\nๅฐฝๆƒ…ๆŒฅๆด’ๆ‰€ๆœ‰่Š‚ๅฅ\nๆ— ่พน็ƒญๆƒ…ๆŠŠไฝ ๅŒ…่ฃนๅ“ฆ",
"audio_duration": 221.47997916666668,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.028400182723999023,
"diffusion": 13.195815324783325,
"latent2audio": 2.1679723262786865
},
"actual_seeds": [
3440445703
]
}


File: examples/default/input_params/output_20250426074214_0_input_params.json

{
"prompt": "synth-pop, electronic, pop, synthesizer, drums, bass, piano, 128 BPM, energetic, uplifting, modern",
"lyrics": "[verse]\nWoke up in a city that's always alive\nNeon lights they shimmer they thrive\nElectric pulses beat they drive\nMy heart races just to survive\n\n[chorus]\nOh electric dreams they keep me high\nThrough the wires I soar and fly\nMidnight rhythms in the sky\nElectric dreams together weโ€™ll defy\n\n[verse]\nLost in the labyrinth of screens\nVirtual love or so it seems\nIn the night the city gleams\nDigital faces haunted by memes\n\n[chorus]\nOh electric dreams they keep me high\nThrough the wires I soar and fly\nMidnight rhythms in the sky\nElectric dreams together weโ€™ll defy\n\n[bridge]\nSilent whispers in my ear\nPixelated love serene and clear\nThrough the chaos find you near\nIn electric dreams no fear\n\n[verse]\nBound by circuits intertwined\nLove like ours is hard to find\nIn this world weโ€™re truly blind\nBut electric dreams free the mind",
"audio_duration": 221.27997916666666,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.025463581085205078,
"diffusion": 15.243804454803467,
"latent2audio": 2.170398473739624
},
"actual_seeds": [
3400270027
]
}


File: examples/default/input_params/output_20250426074413_0_input_params.json

{
"prompt": "Cuban music, salsa, son, Afro-Cuban, traditional Cuban",
"lyrics": "[verse]\nSun dips low the night ignites\nBassline hums with gleaming lights\nElectric guitar singing tales so fine\nIn the rhythm we all intertwine\n\n[verse]\nDrums beat steady calling out\nPercussion guides no room for doubt\nElectric pulse through every vein\nDance away every ounce of pain\n\n[chorus]\nFeel the rhythm feel the flow\nLet the music take control\nBassline deep electric hum\nIn this night we're never numb\n\n[bridge]\nStars above they start to glow\nEchoes of the night's soft glow\nElectric strings weave through the air\nIn this moment none compare\n\n[verse]\nHeartbeats sync with every tone\nLost in music never alone\nElectric tales of love and peace\nIn this groove we find release\n\n[chorus]\nFeel the rhythm feel the flow\nLet the music take control\nBassline deep electric hum\nIn this night we're never numb",
"audio_duration": 208.27997916666666,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.026132583618164062,
"diffusion": 15.139378070831299,
"latent2audio": 2.2071540355682373
},
"actual_seeds": [
3358899399
]
}


File: examples/default/input_params/output_20250426075107_0_input_params.json

{
"prompt": "pop, piano, rap, dark, atmospheric",
"lyrics": "[verse]\nๆœˆๅ…‰็ˆฌไธŠ็ช— ๆŸ“็™ฝๅ†ท็š„ๅบŠ\nๅฟƒ่ทณ็š„ๆ–นๅ‘ ๅธฆๆˆ‘ๅ…ฅ่ฟทๆƒ˜\n้ป‘ๅคœๅžๅ™ฌๅ…‰ ๅ‘ฝ่ฟ็š„็บธๅผ \n็ˆฑๆ˜ฏ่ก€่‰ฒ้œœ ้‚ชๆถๅˆ่Šฌ่Šณ\n\n[chorus]\nไฝ ๆ˜ฏ็ŒŽไบบ็š„ๆฌฒๆœ› ๆˆ‘ๆ˜ฏ่ฟท้€”็š„ๅฐ็พŠ\nๆทฑ้™ทไฝ ็œผ็œธ็š„่’ ๅ”็ช็Œฎๅ‡บๅฟƒ่„\nๆˆ‘ๅœจๅคœ้‡Œๅ›ž่ก ๆ˜ฏ่ฐ็ป™ๆˆ‘ๅธŒๆœ›\n้ป‘ๆš—้ฃŽไธญ้ฃ˜่ก ๅ‡่ฃ…ไธๅ†ๅ—ไผค\n\n[verse]\nๅฟƒ้”ๅœจ้—จๅค– ่ฐไผš่งฃๅผ€ๅ…ณๆ€€\nๆธฉๆŸ”็š„ๆ‰‹ๆ‹ ่—็€ๅ†ท้…ทๆ€ๅฎณ\nๆ€็ปชๅฆ‚ๅฐ˜ๅŸƒ ๆ’žๅ‡ป็ˆฑ็š„้œน้›ณ\n็ต้ญ‚็š„็‹ฌ็™ฝ ไธบไฝ ๆฒพๆปก่ก€่ฟน\n\n[bridge]\nไฝ ๆ˜ฏๅ™ฉๆขฆ็š„ๆญŒๅ”ฑ ๆ˜ฏ็ต้ญ‚็š„ๆ†็ป‘\n็ปๆœ›ไธญๅธฆ็€ๅ…‰ ๆ‚ฌๅด–่พน็š„ๆธดๆœ›\nๅฟƒ่ทณ่ขซไฝ ้ผ“ๆŽŒ ๆถ้ญ”ไนŸ็—ด็—ดๆƒณ\nๆธๆธๆฒกไบ†ๆŠตๆŠ— ๅค่€่ฏก่ฎกๆตๆทŒ\n\n[chorus]\nไฝ ๆ˜ฏ็ŒŽไบบ็š„ๆฌฒๆœ› ๆˆ‘ๆ˜ฏ่ฟท้€”็š„ๅฐ็พŠ\nๆทฑ้™ทไฝ ็œผ็œธ็š„่’ ๅ”็ช็Œฎๅ‡บๅฟƒ่„\nๆˆ‘ๅœจๅคœ้‡Œๅ›ž่ก ๆ˜ฏ่ฐ็ป™ๆˆ‘ๅธŒๆœ›\n้ป‘ๆš—้ฃŽไธญ้ฃ˜่ก ๅ‡่ฃ…ไธๅ†ๅ—ไผค\n\n[outro]\n็ˆฑๅฆ‚ๆœˆ้ป‘ๆ— ๅ…‰ ๆธ—่ฟ›ๆขฆ็š„ๆˆ˜ๅœบ\n้€ƒๅ…ฅๆ— ๅฃฐ็š„ๅœบ ๆ”พๆ‰‹ๆˆ–ๅฟƒๅšทๅšท\n้š็ง˜็š„ๆž็ซฏ ็ˆฑๆ˜ฏๆž่‡ด้ฃŽๆตช\n็ต้ญ‚ๅฝปๅบ•ไบคๅฟ ไฝ ๆ˜ฏ็ปˆๆž่™šๅฆ„",
"audio_duration": 146.91997916666668,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.03876018524169922,
"diffusion": 15.962624549865723,
"latent2audio": 1.4594337940216064
},
"actual_seeds": [
2065110378
]
}


File: examples/default/input_params/output_20250426075537_0_input_params.json

{
"prompt": "surf music",
"lyrics": "[verse]\nSunshine on the boulevard the beach is calling loud\nWaves are dancing golden sand under a cotton cloud\nElectric heartbeat pounding fast the tide is on our side\nCatch a wave and feel alive weโ€™ll take it for a ride\n\n[verse]\nPalm trees swaying left to right they know where we belong\nFeel the rhythm of the night it keeps us moving strong\nSea spray kisses salty air weโ€™re flying with the breeze\nChampagne states of mind we ride we do just as we please\n\n[chorus]\nWeโ€™re riding waves of life together hand in hand\nWith every beat we chase the beat itโ€™s our own wonderland\nFeel the music take you higher as the shorelines blur\nThis is our world our endless summer as we live and learn\n\n[bridge]\nMoonlight paints the ocean blue reflections in our eyes\nStars align to light our path weโ€™re surfing through the skies\nEvery moment like a song we sing it loud and clear\nEvery dayโ€™s a new adventure with you always near\n\n[verse]\nNeon lights and city sounds they blend with ocean views\nWeโ€™re unstoppable tonight no way that we can lose\nDreams are written in the sand they sparkle in the sun\nTogether weโ€™re a masterpiece our storyโ€™s just begun\n\n[chorus]\nWeโ€™re riding waves of life together hand in hand\nWith every beat we chase the beat itโ€™s our own wonderland\nFeel the music take you higher as the shorelines blur\nThis is our world our endless summer as we live and learn",
"audio_duration": 236.55997916666666,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.033666133880615234,
"diffusion": 16.291455507278442,
"latent2audio": 2.3726775646209717
},
"actual_seeds": [
508630535
]
}


File: examples/default/input_params/output_20250426075843_0_input_params.json

{
"prompt": "alternative rock, pop, rock",
"lyrics": "[verse]\nBright lights flashing in the city sky\nRunning fast and we don't know why\nElectric nights got our hearts on fire\nChasing dreams we'll never tire\n\n[verse]\nGrit in our eyes wind in our hair\nBreaking rules we don't even care\nShouting loud above the crowd\nLiving life like we're unbowed\n\n[chorus]\nRunning wild in the night so free\nFeel the beat pumping endlessly\nHearts collide in the midnight air\nWe belong we don't have a care\n\n[verse]\nPiercing through like a lightning strike\nEvery moment feels like a hike\nDaring bold never backing down\nKings and queens without a crown\n\n[chorus]\nRunning wild in the night so free\nFeel the beat pumping endlessly\nHearts collide in the midnight air\nWe belong we don't have a care\n\n[bridge]\nClose your eyes let your spirit soar\nWe are the ones who wanted more\nBreaking chains of the mundane\nIn this world we'll make our claim",
"audio_duration": 202.19997916666668,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.02512216567993164,
"diffusion": 18.860822677612305,
"latent2audio": 2.0361969470977783
},
"actual_seeds": [
1255121549
]
}


File: examples/default/input_params/output_20250426080234_0_input_params.json

{
"prompt": "rock, hip - hop, orchestral, bass, drums, electric guitar, piano, synthesizer, violin, viola, cello, fast, energetic, motivational, inspirational, empowering",
"lyrics": "### [Intro โ€“ Spoken] \n*"The streets whisper, their echoes never fade. \nEvery step I take leaves a markโ€”this ain't just a game."* \n\n### [Hook/Chorus] \nBorn in the chaos, I weather the storm, \nRising from ashes where warriors are born. \nChains couldn't hold me, the systemโ€™s a maze, \nI rewrite the rules, set the city ablaze! \n\n### [Verse 1] \nCold nights, empty pockets, dreams laced with fight, \nEvery loss made me sharper, cut deep like a knife. \nThey said I wouldnโ€™t make it, now they watch in despair, \nFrom the curb to the throne, took the pain, made it rare. \nEvery sirenโ€™s a melody, every alley holds a tale, \nRose from the shadows, left my name on the trail. \nStreetlights flicker like warnings in the haze, \nBut I move like a phantom, unfazed by the blaze. \n\n### [Hook/Chorus] \nBorn in the chaos, I weather the storm, \nRising from ashes where warriors are born. \nChains couldn't hold me, the systemโ€™s a maze, \nI rewrite the rules, set the city ablaze! \n\n### [Verse 2] \nBarbed wire fences couldn't lock in my mind, \nEvery cage they designed, I left broken behind. \nThey want control, but Iโ€™m destined to roam, \nWhere the lost find their voice, where the heart sets the tone. \nSteel and concrete, where the lessons run deep, \nEvery crack in the pavement tells a story of heat. \nBut I rise, undefeated, like a king with no throne, \nWriting scripts in the struggle, my legacyโ€™s stone. \n\n### [Bridge] \nFeel the rhythm of the underground roar, \nEvery wound tells a story of the battles before. \nBlood, sweat, and echoes fill the cold midnight, \nBut we move with the fireโ€”unshaken, upright. \n\n### [Verse 3] \nNo regrets, no retreat, this game has no pause, \nEvery step that I take is a win for the lost. \nI took lessons from hustlers, wisdom from pain, \nNow the echoes of struggle carve power in my name. \nThey built walls, but I walk through the cracks, \nTurned dirt into gold, never looked back. \nThrough the struggle we rise, through the fire we claim, \nThis is more than just musicโ€”it's life in the frame. \n\n### [Hook/Chorus โ€“ Reprise] \nBorn in the chaos, I weather the storm, \nRising from ashes where warriors are born. \nChains couldn't hold me, the systemโ€™s a maze, \nI rewrite the rules, set the city ablaze! \n\n### [Outro โ€“ Spoken] \n*"The scars, the struggle, the grindโ€”itโ€™s all part of the rhythm. \nWe never break, we never fold. We rise."*",
"audio_duration": 153.95997916666667,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.04368758201599121,
"diffusion": 17.16369390487671,
"latent2audio": 1.5405471324920654
},
"actual_seeds": [
2659225017
]
}


File: examples/default/input_params/output_20250426080407_0_input_params.json

{
"prompt": "tango finlandรฉs, campanas, disco, dark pop, electro, guitarra clรกsica, corridos tumba",
"lyrics": "[inst]",
"audio_duration": 162.79997916666667,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.011058568954467773,
"diffusion": 9.924944400787354,
"latent2audio": 1.6034839153289795
},
"actual_seeds": [
780297686
]
}


File: examples/default/input_params/output_20250426080601_0_input_params.json

{
"prompt": "Nightclubs, dance parties, workout playlists, radio broadcasts",
"lyrics": "Burning in motion, set me alight!\nEvery heartbeat turns into a fight!\nCaged in rhythm, chained in time!\nLoveโ€™s a battleโ€” You're Mine! You're Mine!",
"audio_duration": 221.83997916666667,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.012485980987548828,
"diffusion": 14.345409154891968,
"latent2audio": 2.174558639526367
},
"actual_seeds": [
1318394052
]
}


File: examples/default/input_params/output_20250426081134_0_input_params.json

{
"prompt": "melancholic, world, sad, medieval, soulful",
"lyrics": "[Verse]\nIn a world so grand he roams the skies alone\nHis heart a heavy stone a tale untold\nWhispers of his past echo through the night\nA lonely dragon searching for the light\n\n[Verse 2]\nOnce a mighty force now he drifts in pain\nHis scales once shimmered now they're dark with shame\nCast out by his kin in shadows he does hide\nA haunting sorrow burns deep inside\n\n[Chorus]\nRoaming endless fields with no friend in sight\nHis roar a mournful cry beneath the moon's pale light\nTears fall like stars as he flies on his way\nA lonely dragon yearning for the break of day\n\n[Bridge]\nThe world turns cold the nights grow long\nIn his heart he carries an ancient song\nOf battles fought and love long gone\nA legend now but his soul is torn\n\n[Verse 3]\nHoping for a day he'll find a kindred soul\nTo share his pain and make him whole\nTill then he drifts a shadow in the sky\nA lonely dragon with tears in his eye\n\n[Chorus]\nRoaming endless fields with no friend in sight\nHis roar a mournful cry beneath the moon's pale light\nTears fall like stars as he flies on his way\nA lonely dragon yearning for the break of day",
"audio_duration": 239.99997916666666,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.029100656509399414,
"diffusion": 22.503791570663452,
"latent2audio": 2.3603708744049072
},
"actual_seeds": [
2166832218
]
}


File: examples/default/input_params/output_20250426091716_0_input_params.json

[Binary file]


File: examples/default/input_params/output_20250426092025_0_input_params.json

{
"prompt": "dark, death rock, metal, hardcore, electric guitar, powerful, bass, drums, 110 bpm, G major",
"lyrics": "[Verse]\nMy lovers betray me\nThe snake in my garden is hissing\nIn the air is the sweetness of roses\nAnd under my skin\nThere's a thorn\n\n[Verse 2]\nI should have known\nThat God sends his angel in shadows\nWith blood in his veins\nI watch the enemy\nGivin' me the hand of my savior\n\n[Chorus]\nAnd I can't love again\nWith the echo of your name in my head\nWith the demons in my bed\nWith the memories\nYour ghost\nI see it\n'Cause it comes to haunt me\nJust to taunt me\nIt comes to haunt me\nJust to taunt me\n\n[Verse 3]\nWith sugar and spice\nIt's hard to ignore the nostalgia\nWith the men on their knees\nAt the gates of my heart\nHow they beg me\n\n[Verse 4]\nThey say\n"No one will ever love you\nThe way that I do\nNo one will ever touch you\nThe way that I do"\n\n[Chorus]\nAnd I can't love again\nWith the echo of your name in my head\nWith the demons in my bed\nWith the memories\nYour ghost\nI see it\n'Cause it comes to haunt me\nJust to taunt me\nIt comes to haunt me\nJust to taunt me",
"audio_duration": 174.27997916666666,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 3.8372838497161865,
"diffusion": 13.039669275283813,
"latent2audio": 1.7923030853271484
},
"actual_seeds": [
4064916393
]
}


File: examples/default/input_params/output_20250426093007_0_input_params.json

{
"prompt": "aggressive, Heavy Riffs, Blast Beats, Satanic Black Metal",
"lyrics": "[verse]\nFloating through the galaxy on a midnight ride\nStars are dancing all around in cosmic tides\nFeel the pulse of space and time beneath our feet\nEvery beat a heartbeat in this endless suite\n\n[chorus]\nGalactic dreams under neon lights\nSailing through the velvet nights\nWe are echoes in a cosmic sea\nIn a universe where we are free\n\n[verse]\nPlanetary whispers in the sky tonight\nEvery constellation's got a secret sight\nDistant worlds and moons we have yet to see\nIn the void of space where we can just be\n\n[bridge]\nAsteroids and comets in a ballet they spin\nLost in the rhythm of where our dreams begin\nClose your eyes and let the synths take flight\nWe're voyagers on an electric night\n\n[verse]\nLet the piano keys unlock the stars above\nEvery chord a memory every note is love\nIn this synth symphony we find our grace\nDrifting forever in this boundless space\n\n[chorus]\nGalactic dreams under neon lights\nSailing through the velvet nights\nWe are echoes in a cosmic sea\nIn a universe where we are free",
"audio_duration": 181.99997916666666,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.025065898895263672,
"diffusion": 17.176705837249756,
"latent2audio": 1.8225171566009521
},
"actual_seeds": [
1132623236
]
}


File: examples/default/input_params/output_20250426093146_0_input_params.json

{
"prompt": "r&b, soul, funk/soul",
"lyrics": "[verse]\nDancing through electric fires\nHeart is buzzing like live wires\nIn your arms I find desire\nFeel the beat as we get higher\n\n[chorus]\nElectric love in the night sky\nWeโ€™re gonna soar baby you and I\nDrop the bass let the rhythm fly\nFeel the heat and don't ask why\n\n[verse]\nWhisper secrets that make me blush\nUnder the neon city hush\nYour touch gives me such a rush\nTurn it up we're feeling lush\n\n[chorus]\nElectric love in the night sky\nWeโ€™re gonna soar baby you and I\nDrop the bass let the rhythm fly\nFeel the heat and don't ask why\n\n[bridge]\nThrough the lights and the smoky haze\nI see you in a thousand ways\nLove's a script and weโ€™re the play\nTurn the page stay till we sway\n\n[chorus]\nElectric love in the night sky\nWeโ€™re gonna soar baby you and I\nDrop the bass let the rhythm fly\nFeel the heat and don't ask why",
"audio_duration": 195.15997916666666,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": true,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.025553464889526367,
"diffusion": 18.250118494033813,
"latent2audio": 1.9400627613067627
},
"actual_seeds": [
2853131993
]
}


File: examples/zh_rap_lora/input_params/output_20250512101839_0_input_params.json

[Binary file]


File: examples/zh_rap_lora/input_params/output_20250512114703_0_input_params.json

{
"lora_name_or_path": "/root/sag_train/data/ace_step_v1_chinese_rap_lora",
"task": "text2music",
"prompt": "Chorus Hook, Melodic Rap, Ambient Synth Pads, adult, rap, Very Fast, Storytelling, Chinese Rap, male, spoken word, bright, energetic, Melodic Flow, clear, clarity, 130 bpm",
"lyrics": "[Intro]\n่ˆŒ ๅคด ๆ‰“ ็ป“ ไบ†... ๅฟซ ๅฟต ๅฟซ ๅฟต...\n\n[Verse 1]\n่ฟ™ ไธช ่ตŒ ้ฌผ ่นฒ ๅœจ ๆŸœ ๅฐ ๅ•ƒ ็€ ่‹ฆ ็“œ ๅนฒ ๅฟซ ๅพˆ ๅนฒ\n่ตŒ ๆกŒ ๅ † ๆปก ้ชจ ็‰Œ ๅค ๆ€ช ่‚ก ็ฅจ ๅ’Œ ไบ” ๅ— ้’ข ้•š ๅ„ฟ ้’ข ้•š\nไป– ็”ฉ ๅ‡บ ๆ‰‘ ๅ…‹ ็‰Œ ๅ•ช ๅ•ช ๅ•ช ๆ‹ ๆ‰ ่žƒ ่Ÿน ๅฃณ ๅ“ฆ ๅฃณ ๆ‰\nๅˆ ๆ‘ธ ๆ‘ธ ้บป ๅฐ† ๆ‘ธ ๅ‡บ ๅนบ ้ธก ๆ‘ธ ๅ‡บ ๅ‘ ่ดข ๆ‘ธ ๅ‡บ ไธ€ ๆก ่›‡ ่›‡ ่›‡\nๅบ„ ๅฎถ ๅ’ณ ๅ—ฝ ๅ’ณ ็ ด ้”ฃ ๅ—“ ๅญ ๅ–Š ๅผ€ ๅผ€ ๅผ€ ๅฟซ ๅผ€ ๅผ€\n่ตŒ ้ฌผ ๅ’• ๅ˜Ÿ ๅ’• ๅ˜Ÿ ็Œ ๅ’– ๅ•ก ็Œ ๅˆฐ ็ญท ๅญ ๆˆณ ็ฉฟ ็ข— ๅฟซ ๆˆณ ็ฉฟ\n็ฉบ ๆฐ” ้‡Œ ้ฃ˜ ็€ ้”… ๅทด ๅ‘ณ ๆทท ๅˆ ้š” ๅคœ ็š„ ้…ธ ๅฅถ ็ฝ ๅ“ฆ ้…ธ\n่พ“ ๅ…‰ ่ฃค ๅธฆ ่ฟ˜ ๆƒณ ็ฟป ็›˜ ็ฟป ๆˆ ็…Ž ้ฅผ ๆ‘Š ่€ ๆฟ ๅฟซ ็ฟป ็›˜\n\n[Chorus]\n่ตŒ ้ฌผ ่ตŒ ้ฌผ ๅ“ฆ ่ตŒ ้ฌผ ่ตŒ ้ฌผ ๅฟซ ๅพˆ ๅฟซ\n่ˆŒ ๅคด ๆ‰“ ็ป“ ็€ ๅฟต ่ฟ™ ๆฎต ๅ“ฆ ่ฟ™ ๆฎต ็ป• ๅฃ ไปค ็‰Œ\n่‹ฅ ๅฟต ้”™ ไธ€ ๅญ— ๅฐฑ ็ฝš ไฝ  ๅ“ฆ ็ฝš ไฝ  ๅž ๅ ๆ–ค ๆตท ๅธฆ\n่ตŒ ๅœบ ่ง„ ็Ÿฉ ๅฐฑ ๆ˜ฏ ็ป• ๆ™• ไฝ  ๅ“ฆ ็ป• ๆ™• ไฝ  ๅฟซ ๅพˆ ๅฟซ\n\n[Verse 2]\nไป– ๆŽ ๅ‡บ ้“œ ๆฟ ๆŠ  ๅ‡บ ๅฃ ่ข‹ ๆœ€ ๅŽ ไธ€ ้ข— ๅฟซ ๅพˆ ้ข—\nๅบ„ ๅฎถ ๅ“— ๅ•ฆ ๅ“— ๅ•ฆ ๆ‘‡ ้ชฐ ๅญ ๆ‘‡ ๅ‡บ ไธ‰ ็‚น ๅˆ ไธ‰ ็‚น ๅ“ฆ ไธ‰ ็‚น\n่ตŒ ้ฌผ ๆ€ฅ ๅพ— ๅ’ฌ ็‰™ ๅˆ‡ ้ฝฟ ๅ’ฌ ๅˆฐ ่ˆŒ ๅคด ๆ‰“ ่ด ่ถ ็ป“ ๅฟซ ๆ‰“ ็ป“\n่ฟ˜ ๆƒณ ๆŠผ ไธŠ ็ฅ– ไผ  ็š„ ๆ‹– ้ž‹ ๆ‹– ๆŠŠ ้“ ้”… ๅ’Œ ๅŠ ๅŒ… ็› ็› ็›\n็ช ็„ถ ่ญฆ ็ฌ› ๅ˜€ ๅ˜Ÿ ๅ˜€ ๅ˜Ÿ ๅ“ ๅพ— ไป– ้’ป ่ฟ› ๅžƒ ๅœพ ็ฝ ๅ“ฆ ๅžƒ ๅœพ\n่ญฆ ๅฏŸ ๅ’” ๅš“ ๅ’” ๅš“ ๆ‹ ็…ง ๆ‹ ๅˆฐ ไป– ๅคด ้กถ ่  ่œ ๅถ ๅฟซ ๆ‹ ็…ง\nๆœ€ ๅŽ ่ตŒ ้ฌผ ่นฒ ็›‘ ็‹ฑ ๅคฉ ๅคฉ ่ƒŒ ่ฟ™ ้ฆ– ็ป• ๅฃ ไปค ๅ“ฆ ่ƒŒ ไธ ๅฎŒ\n่‹ฅ ่ƒŒ ้”™ ไธ€ ๅฅ ๅฐฑ ๅŠ  ๅˆ‘ ๅ ๅนด ๅ† ๅŠ  ๅ ๅนด ๅฟซ ๅŠ  ๅˆ‘\n\n[Outro]\n่ˆŒ ๅคด ๆ‰“ ็ป“ ไบ†... ่ตŒ ้ฌผ ๅ“ญ ไบ† ๅ“ฆ...\n่ฟ™ ้ฆ– ๆญŒ... ็ป• ๆญป ไบบ ไบ† ๅ“ฆ...",
"audio_duration": 186.59997916666666,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.7,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": false,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.03011012077331543,
"diffusion": 21.696259260177612,
"latent2audio": 1.7648537158966064
},
"actual_seeds": [
3776541388
],
"retake_seeds": [
4274500599
],
"retake_variance": 0.5,
"guidance_scale_text": 0,
"guidance_scale_lyric": 0,
"repaint_start": 0,
"repaint_end": 0,
"edit_n_min": 0.0,
"edit_n_max": 1.0,
"edit_n_avg": 1,
"src_audio_path": null,
"edit_target_prompt": null,
"edit_target_lyrics": null,
"audio2audio_enable": false,
"ref_audio_strength": 0.5,
"ref_audio_input": null,
"audio_path": "./outputs/output_20250512114703_0.wav"
}


File: examples/zh_rap_lora/input_params/output_20250512115409_0_input_params.json

{
"lora_name_or_path": "/root/sag_train/data/ace_step_v1_chinese_rap_lora",
"task": "text2music",
"prompt": "electronic, hip-hop, rap, synthesizer, drums, vocals, fast, energetic, modern, uplifting, young adult, male, spoken word, singing, bright, energetic, clear, 140 bpm, female",
"lyrics": "[Verse 1]\n็บข้ฒค้ฑผ็ปฟ้ฒค้ฑผ๏ผŒ้ฉดๅœจๆฒณ้‡Œ่ฟฝ้ฒค้ฑผ๏ผŒ\n้ฉด่ฟฝ้ฒค้ฑผ้ฑผ่บฒ้ฉด๏ผŒๆฐ”ๅพ—้ฉดๅญ็›ดๅ–˜ๆฐ”ใ€‚\nๆ‰ๆ‹…้•ฟๆฟๅ‡ณๅฎฝ๏ผŒๆ‰ๆ‹…็ป‘ๅœจๆฟๅ‡ณ่พน๏ผŒ\nๆ‰ๆ‹…่ฆ็ป‘ๆฟๅ‡ณไธ่ฎฉ็ป‘๏ผŒๆ‰ๆ‹…ๅ่ฆ็ป‘ไธŠๆฟๅ‡ณ้ข๏ผ\n\n[Chorus]\n็ป•ๅฃไปค๏ผŒ็ปƒๅ˜ด็šฎ๏ผŒ\n่ฏดๅฟซ่ฏดๆ…ขๅˆซ่ฟŸ็–‘๏ผŒ\n็บข้ฒค้ฑผ้ฉดๆ‰ๆ‹…ๆฟๅ‡ณ๏ผŒ\nไธ€ๅฃๆฐ”ๅฟตๅฎŒ็ฎ—ไฝ ่ตข๏ผ\n\n[Verse 2]\nๅ››ๆ˜ฏๅ››ๅๆ˜ฏๅ๏ผŒๅๅ››ๆ˜ฏๅๅ››ๅ››ๅๆ˜ฏๅ››ๅ๏ผŒ\n่ฐ่ฏดๅ››ๅๆ˜ฏๅๅ››๏ผŒ่ˆŒๅคดๆ‰“็ป“ๅˆซๆ”พ่‚†ใ€‚\n้ป‘ๅŒ–่‚ฅไผšๆŒฅๅ‘๏ผŒ็ฐๅŒ–่‚ฅไนŸๅ‘้ป‘๏ผŒ\nๅŒ–่‚ฅๆททไธ€่ตท๏ผŒ้ป‘็ฐไธๅˆ†ๅ˜ดๅ‘ๅบŸ๏ผ\n\n[Chorus]\n็ป•ๅฃไปค๏ผŒ็ปƒๅ˜ด็šฎ๏ผŒ\n่ฏดๅฟซ่ฏดๆ…ขๅˆซ่ฟŸ็–‘๏ผŒ\nๅ››ๅๅๅ››ๅŒ–่‚ฅ็ฐ๏ผŒ\nๅฟต้”™็ฝšไฝ ๅ”ฑๅๅ›ž๏ผ\n\n[Bridge]\nๅกไธŠ็ซ‹็€ไธ€ๅช้น…๏ผŒๅกไธ‹ๆต็€ไธ€ๆกๆฒณ๏ผŒ\n้น…่ฆ่ฟ‡ๆฒณๆฒณๆธก้น…๏ผŒๆฒณ่ฆๆธก้น…้น…็ฌ‘ๆฒณโ€”โ€”\nๅˆฐๅบ•่ฐๆ›ดๅ•ฐๅ—ฆ๏ผŸ๏ผ\n\n[Outro]\nๅ˜ด็šฎๅญๅŠŸๅคซๅˆซๅฐ็žง๏ผŒ\n็ป•ๅฃไปคrapๆˆ‘ๆœ€้ฃ™๏ผŒ\nไธ‹ๆฌกๆŒ‘ๆˆ˜ๅ‡†ๅค‡ๅฅฝ๏ผŒ\n่ˆŒๅคดๆ‰“็ป“ๅˆซๆฑ‚้ฅถ๏ผ",
"audio_duration": 123.2,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.7,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": false,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.026150941848754883,
"diffusion": 12.212433099746704,
"latent2audio": 1.1857895851135254
},
"actual_seeds": [
1415752189
],
"retake_seeds": [
685932970
],
"retake_variance": 0.5,
"guidance_scale_text": 0,
"guidance_scale_lyric": 0,
"repaint_start": 0,
"repaint_end": 0,
"edit_n_min": 0.0,
"edit_n_max": 1.0,
"edit_n_avg": 1,
"src_audio_path": null,
"edit_target_prompt": null,
"edit_target_lyrics": null,
"audio2audio_enable": false,
"ref_audio_strength": 0.5,
"ref_audio_input": null,
"audio_path": "./outputs/output_20250512115409_0.wav"
}


File: examples/zh_rap_lora/input_params/output_20250512120348_0_input_params.json

{
"lora_name_or_path": "/root/sag_train/data/ace_step_v1_chinese_rap_lora",
"task": "text2music",
"prompt": "singing, bright, slightly nasal, energetic, spoken word, young adult, male, rap music",
"lyrics": "[Intro]\nYo, check itโ€”speed demon, lyrical heat, uh!\nRatatat like a drum when the beat bumps, uh!\n\n[Verse 1]\nRapatapa tap tap, flash like a snap,\nRap tap tap, I donโ€™t chat, I clap clap clap!\nFingers snap, flow donโ€™t slack, rapataptaptap,\nSpit it fast, hit the gas, rap tap tap rap!\n\n[Pre-Chorus]\nBoom-bap, zoom past, leave โ€™em flat,\nRap taptaprapataptaptapโ€”where ya at?\n\n[Chorus]\nRapatapa tap tap, yeah, I go brrrr,\nRap tap tap, make the crowd stir!\nRapataptaptap, no lag, just spit,\nRap taptaprapataptaptapโ€”Iโ€™m lit!\n\n[Verse 2]\nTongue-twist, quick wrist, rapatapa boom,\nTap tap rap, leave ya stuck like glue-gum!\nNo slow-mo, turbo, rapataptaptap,\nRap tap rap, yeah, I clap clap clap!\n\n[Outro]\nRapatapaโ€”TAP! Mic dropโ€”thatโ€™s that.",
"audio_duration": 60,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": false,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.018491744995117188,
"diffusion": 8.084580898284912,
"latent2audio": 0.5694489479064941
},
"actual_seeds": [
226581098
],
"retake_seeds": [
1603201617
],
"retake_variance": 0.5,
"guidance_scale_text": 0,
"guidance_scale_lyric": 0,
"repaint_start": 0,
"repaint_end": 0,
"edit_n_min": 0.0,
"edit_n_max": 1.0,
"edit_n_avg": 1,
"src_audio_path": null,
"edit_target_prompt": null,
"edit_target_lyrics": null,
"audio2audio_enable": false,
"ref_audio_strength": 0.5,
"ref_audio_input": null,
"audio_path": "./outputs/output_20250512120348_0.wav"
}


File: examples/zh_rap_lora/input_params/output_20250512143242_0_input_params.json

[Binary file]


File: examples/zh_rap_lora/input_params/output_20250512145057_0_input_params.json

[Binary file]


File: examples/zh_rap_lora/input_params/output_20250512152217_0_input_params.json

[Binary file]


File: examples/zh_rap_lora/input_params/output_20250512153616_0_input_params.json

[Binary file]


File: examples/zh_rap_lora/input_params/output_20250512154907_0_input_params.json

[Binary file]


File: examples/zh_rap_lora/input_params/output_20250512161832_0_input_params.json

[Binary file]


File: examples/zh_rap_lora/input_params/output_20250512164224_0_input_params.json

[Binary file]


File: examples/zh_rap_lora/input_params/output_20250512171227_0_input_params.json

{
"lora_name_or_path": "ACE-Step/ACE-Step-v1-chinese-rap-LoRA",
"task": "text2music",
"prompt": "Rap, Chinese Rap, J-Pop, Anime, kawaii pop, EDM, Aggressive, Intense, Crisp Snare, Super Fast, Clear",
"lyrics": "(Intro)\nLet's drift away...\n\n(Verse 1)\n็Žฐๅฎžๆ˜ฏ็ฐ่‰ฒ็š„ๆ ผๅญ้—ด๏ผŒ้‡ๅค็š„ๅทฅไฝœ๏ผŒๆžฏ็‡ฅ็š„ๆŠฅ่กจ \nๆ•ฒๆ‰“็€้”ฎ็›˜๏ผŒ็œผ็ฅžๅดๆ”พ็ฉบ๏ผŒๆ„่ฏ†ๆ—ฉๅทฒๆŒฃ่„ฑไบ†่‚‰ไฝ“็š„้•ฃ้“\n้ฃ˜ๅ‘็ช—ๅค–๏ผŒ้ฃž่ฟ‡ๆ‹ฅๆŒค็š„่ก—้“๏ผŒ็ฉฟ่ฟ‡ไบ‘ๅฑ‚๏ผŒๅˆฐ่พพๆƒณ่ฑก็š„็พคๅฒ›\n้‚ฃ้‡Œ่‰ฒๅฝฉๆ–‘ๆ–“๏ผŒๅฝข็Šถๅฅ‡ๅผ‚๏ผŒ้€ป่พ‘ๅคฑๆ•ˆ๏ผŒไธ€ๅˆ‡้ƒฝ้šๅฟƒๆ‰€ๆฌฒๅœฐ้ฃ˜ๆ‘‡\n่ฟทๅนป็š„้ผ“็‚น๏ผŒๅƒๅฟƒ่ทณ็š„ๅ˜ๅฅ๏ผŒๅฟฝๅฟซๅฟฝๆ…ข๏ผŒ้šพไปฅ้ข„ๆ–™\nๆŠฝ่ฑก็š„้‡‡ๆ ท๏ผŒๆ‰ญๆ›ฒ็š„ไบบๅฃฐ๏ผŒๆž„ๅปบไธ€ไธช่ถ…็Žฐๅฎž็š„้Ÿณๆ™ฏ็Žฏ็ป•\nๆˆ‘ๅ˜ๆˆไธ€ๅช้ธŸ๏ผŒไธ€ๆก้ฑผ๏ผŒไธ€ๆŸๅ…‰๏ผŒ่‡ช็”ฑๅœฐๅ˜ๆขๅฝขๆ€ๅ’Œๅฅ”่ท‘\nๅœจ่ฟ™็™ฝๆ—ฅๆขฆ้‡Œ๏ผŒๆˆ‘ๆ— ๆ‰€ไธ่ƒฝ๏ผŒๆ‘†่„ฑไบ†ๆ‰€ๆœ‰็Žฐๅฎž็š„็ƒฆๆผ๏ผŒ feeling the afterglow\n\n(Chorus)\nๆ„่ฏ†ๆผซๆธธ๏ผŒ้€ƒ็ฆปไนๅ‘ณ็š„่ฝจ้“ \n่ฟทๅนปๅ˜ปๅ“ˆ็š„่Š‚ๆ‹๏ผŒๆ˜ฏ็™ฝๆ—ฅๆขฆ็š„ๅผ•ๅฏผ \nๆŠฝ่ฑก็š„ไธ–็•Œ๏ผŒ้€ป่พ‘่ขซ้‡ๆ–ฐๆž„้€ \nMind wandering free, where reality starts to fade slow\n\n(Verse 2)\nไผš่ฎฎๅฎค้‡Œ่€ๆฟๅœจ่ฎฒ่ฏ๏ผŒๅฃฐ้Ÿณๆจก็ณŠ๏ผŒๅƒ้š”็€ๆฐดๅฌไธๆธ…้“\nๆˆ‘็š„ๆ€็ปช๏ผŒๆ—ฉๅทฒๆฝœๅ…ฅๆทฑๆตท๏ผŒไธŽๅ‘ๅ…‰็š„ๆฐดๆฏไธ€่ตท่ˆž่นˆ\nๆˆ–่€…้ฃžๅ‘ๅค–ๅคช็ฉบ๏ผŒๅœจๆ˜Ÿไบ‘้—ด็ฉฟๆขญ๏ผŒๆŽข็ดขๆœช็Ÿฅ็š„ๆ˜Ÿ็ƒๅ’Œ่ฝจ้“\n็Žฐๅฎž็š„่ง„ๅˆ™๏ผŒๅœจ่ฟ™้‡Œ่ขซๆ‰“็ ด๏ผŒ็‰ฉ็†ๅฎšๅพ‹ไนŸๅคฑๅŽปๆ•ˆๅŠณ\n็™ฝๆ—ฅๆขฆๆ˜ฏๆˆ‘็š„้ฟ้šพๆ‰€๏ผŒๆ˜ฏ็ฒพ็ฅž็š„ๆฐงๆฐ”็ฝฉ\nๅœจไนๅ‘ณ็š„็Žฐๅฎž้‡Œ๏ผŒไธบๆˆ‘ๆณจๅ…ฅไธ€็‚น่‰ฒๅฝฉๅ’Œๅฅ‡ๅฆ™\n่™ฝ็„ถ็Ÿญๆš‚๏ผŒ่™ฝ็„ถ่™šๅนป๏ผŒไฝ†ๅฎƒ่ฎฉๆˆ‘่ƒฝๅคŸๅ–˜ๆฏ๏ผŒ้‡ๆ–ฐๆŠŠ่ƒฝ้‡ๆ‰พๅˆฐ\n็„ถๅŽๅ›žๅˆฐ็Žฐๅฎž๏ผŒ็ปง็ปญๆ‰ฎๆผ”้‚ฃไธช๏ผŒๅพช่ง„่นˆ็Ÿฉ็š„่ง’่‰ฒ๏ผŒๆŠŠๆขฆ่—ๅฅฝ๏ผŒ keep the dream aglow\n\n(Chorus)\nๆ„่ฏ†ๆผซๆธธ๏ผŒ้€ƒ็ฆปไนๅ‘ณ็š„่ฝจ้“\n่ฟทๅนปๅ˜ปๅ“ˆ็š„่Š‚ๆ‹๏ผŒๆ˜ฏ็™ฝๆ—ฅๆขฆ็š„ๅผ•ๅฏผ\nๆŠฝ่ฑก็š„ไธ–็•Œ๏ผŒ้€ป่พ‘่ขซ้‡ๆ–ฐๆž„้€ \nMind wandering free, where reality starts to fade slow\n",
"audio_duration": 153.7148,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": false,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.04823446273803711,
"diffusion": 13.158645629882812,
"latent2audio": 1.493880033493042
},
"actual_seeds": [
2945962357
],
"retake_seeds": [
2676242300
],
"retake_variance": 0.5,
"guidance_scale_text": 0.7,
"guidance_scale_lyric": 1.5,
"repaint_start": 0,
"repaint_end": 0,
"edit_n_min": 0.0,
"edit_n_max": 1.0,
"edit_n_avg": 1,
"src_audio_path": null,
"edit_target_prompt": null,
"edit_target_lyrics": null,
"audio2audio_enable": false,
"ref_audio_strength": 0.5,
"ref_audio_input": null,
"audio_path": "./outputs/output_20250512171227_0.wav"
}


File: examples/zh_rap_lora/input_params/output_20250512171809_0_input_params.json

[Binary file]


File: examples/zh_rap_lora/input_params/output_20250512172941_0_input_params.json

[Binary file]


File: examples/zh_rap_lora/input_params/output_20250513044511_0_input_params.json

{
"lora_name_or_path": "/root/sag_train/data/ace_step_v1_chinese_rap_lora_100k",
"task": "text2music",
"prompt": "ไธœๅŒ—่ฏ, spoken word, male, Tempo - Fast, Elements - Chorus Hook, Subgenre-Satirical Hip Hop, Rap, Chinese-language music, energetic, slightly nasal, Instrument - Live Bass Guitar, adult, Vocals - Syncopated Flow, Genre - Hip-Hop, rapping, bright",
"lyrics": "[verse]\nๆŒฃ็€ ๆ†‹ๅฑˆ็š„ ๅทฅ่ต„ ่ฟ˜ๅพ— ่ฃ…ไนๅ‘ต\n็Œซ็€ ๆ€‚ๆ ทๅ„ฟ ่ฟ˜ๆ ๆœ‹ๅ‹ๅœˆ ๅ˜š็‘Ÿ\nๆ‰›็€ ๅ‚ป้€ผ็š„ ๆŒ‡ๆ ‡ ๆฒกไบบ ๆญๆŠŠๆ‰‹\n่ฟ™ๅ„ฟ ไธๆ˜ฏ ๆ‰˜ๅ„ฟๆ‰€ ๅฐ‘ๆ•ด ้‚ฃๅ‡บๅ„ฟ ๅ“ญๅ”งๅฐฟๅšŽ\n\nไฟบไปฌ ๅฐฑๅƒ ไธ€ๆกๆก ่€ๆฟ็š„ ่ฃค่กฉๅญ\n้™ช็€ ็ฌ‘่„ธ ๆŽฅไป– ๆฏไธ€ๅ›ž ็ช็ช\nๅ“Žๅ‘ฆ ่€ๆฟ ไปŠๅ„ฟไธช ็ฉฟๆˆ‘ๅ‘—\nไป– ๆ’…ไธช่…š ็œผ่ง’ ็žŸไฝ  ้‚ฃ็†Šๆ ท\n\n[chorus]\nไป–ไปฌ ้ช‚ๆˆ‘ ๆ‰“ๅทฅไป” ๅคชๅคšไบบ ๆฒก็ก้†’\nๅฏปๆ€ ๆŠ ๆœ ่€ๆฟ ไธ€ๅคฉๅคฉ ็ฉทๆŠ˜่…พ\nไธๆƒณ ไฟบ็š„ ไบบ็”Ÿ ็ƒ‚ๅœจ ่ฟ™ๅ˜Ž่พพ\nไธๆƒณ ไฟบ็š„ ๅฐ†ๆฅ ๆŠ˜ๅœจ ่ฟ™็ ดๆฃš\n\n่€ๅญ ไธๆƒณ ไธŠ็ญ ่€ๅญ ๆ˜ฏๅค–ๆ˜Ÿไบบ\nไฝ ้ƒฝ ๆŠŠไฟบ ้ช‚ๆ€ฅ็œผไบ† ไฟบ่ฟ˜ ่ฟ™ไนˆๆทกๅฎš\n็Žฐๅฎž ๆ‰ๆ˜ฏ ๆขฆ ๅ•ฅๆ—ถๅ€™ ่ƒฝ้†’ๅ•Š\n้‚ฃ ็ณŸ่ทตไบบ็š„ ็ญ”ๆกˆ ๅœจ่ฅฟๅŒ—้ฃŽ ้‡Œ้ฃ˜\n\n[verse]\n็ž…่ง ไบŒๆ„ฃๅญ ๅŒไบ‹ ็ป™่€ๆฟ ่ˆ”่…šๆฒŸๅญ\n็ž…่ง ๆตช่น„ๅญ ๅฅณๅŒไบ‹ ๅœจ่€ๆฟ ่ƒฏ้ชจ่ฝด ๆ‰ญๆญ\n็ž…่ง ็™ฝ็žŽ็š„ ๅ…‰้˜ด ่€—ๅœจ ๆฒกไบฎๅ„ฟ็š„ ้“ๅ„ฟ\n็ž…่ง ๅ…ฌไบค่ฝฆไธŠ ไธ€ๅธฎ ๅƒตๅฐธ ๅ้…ธๆฐด\n\n็ž…่ง ไฟบ็š„ ๅ‘ฝ ๅฎšๅœจ ่‹ฆ้€ผ็š„ ๅ‘้‡Œ\n็ž…่ง ไฟบ็š„ ็ˆฑๆƒ… ่ขซ่ฝฎไบ† ๆˆไบ† ่€ๅค„ๅฅณ\n็ž…่ง ๅฅฝไบ‹ๅ„ฟ ๅ…จๅฝ’ ้ซ˜ๅฏŒๅธ…\n่ฟ˜ๆœ‰ ้‚ฃไบ› ่‡ญไธ่ฆ่„ธ ๆ‰ญ่…š็š„ ่ดง่‰ฒ\n\n[chorus]๏ผˆ้‡ๅค๏ผ‰\nไป–ไปฌ ้ช‚ๆˆ‘ ๆ‰“ๅทฅไป” ๅคชๅคšไบบ ๆฒก็ก้†’...\n\n[bridge]\nๅŠ ็ญ ๆฒก่กฅๅŠฉ ไฟบ่ฎคไบ†\nๆฌ ่–ช ๆๅ‘˜ๅทฅ ๆŠŠไฟบ ๅฝ“็‰ฒๅฃ\nๅŽปไฝ ๅฆˆ ็š„ๅฐๅง˜ๅคด\n\n[verse]\n็ ด้€ผ ็ฎก็†ๅˆถๅบฆ ๅ‡€ๆ•ด ๅจฑไนๅ…ซๅฆ\nๆ’ธ็ฎกๅผ ็ฎก็† ไนŸๅฐฑ ไฝ ่‡ชๅทฑ ๅ—จ\nๅ‡บ็‚นๅ„ฟ ๅฑไบ‹ๅ„ฟ ๅฐฑๅพ€ ไธ‹ๅฑž ่„‘็“œๅญ ๆ‰ฃ\nๆŒฃไฟฉ ้’ข้•šๅ„ฟ ็ซ‹้ฉฌ ็‰›้€ผ ไธๅˆ† ๅ…ฌๆฏ\n\nไฝ ๆŒ–ไธช ๅคงๅ‘ ๆŠŠไฟบไปฌ ๅพ€้‡Œ ่ธน\n่ฏด่ฟ™ ๅซๆขฆๆƒณ ไฝ ๅฝ“ๅนด ๅคš่ƒฝ่€\nไฟบไปฌ ๅฐฑๅฝ“ ๅฌไผ ้”€ ๆด—่„‘่ฏพ\nๅฏๆ€œ ่ฟž้ช—ไบบ ไฝ ้ƒฝ ๅฐฑไผš ่ฟ™ไธ€ๅฅ—\n\n[outro]\n่€ๅญ ไธๆƒณ ไธŠ็ญ\n่€ๅญ ไธๆƒณ ไธŠ็ญ\n่€ๅญ ไธๆƒณ ไธŠ็ญ",
"audio_duration": 135.92,
"infer_step": 60,
"guidance_scale": 15,
"scheduler_type": "euler",
"cfg_type": "apg",
"omega_scale": 10,
"guidance_interval": 0.5,
"guidance_interval_decay": 0,
"min_guidance_scale": 3,
"use_erg_tag": true,
"use_erg_lyric": false,
"use_erg_diffusion": true,
"oss_steps": [],
"timecosts": {
"preprocess": 0.06204533576965332,
"diffusion": 35.75483560562134,
"latent2audio": 1.5193355083465576
},
"actual_seeds": [
4176354214
],
"retake_seeds": [
601086915
],
"retake_variance": 0.5,
"guidance_scale_text": 0,
"guidance_scale_lyric": 0,
"repaint_start": 0,
"repaint_end": 0,
"edit_n_min": 0.0,
"edit_n_max": 1.0,
"edit_n_avg": 1,
"src_audio_path": null,
"edit_target_prompt": null,
"edit_target_lyrics": null,
"audio2audio_enable": false,
"ref_audio_strength": 0.5,
"ref_audio_input": null,
"audio_path": "./outputs/output_20250513044511_0.wav"
}


File: examples/zh_rap_lora/input_params/output_20250513050200_0_input_params.json

[Binary file]


File: examples/zh_rap_lora/input_params/output_20250513055451_0_input_params.json

[Binary file]


File: examples/zh_rap_lora/input_params/output_20250513060150_0_input_params.json

[Binary file]


File: zh_lora_dataset/dataset_info.json

{
"citation": "",
"description": "",
"features": {
"keys": {
"dtype": "string",
"_type": "Value"
},
"filename": {
"dtype": "string",
"_type": "Value"
},
"tags": {
"feature": {
"dtype": "string",
"_type": "Value"
},
"_type": "Sequence"
},
"speaker_emb_path": {
"dtype": "string",
"_type": "Value"
},
"norm_lyrics": {
"dtype": "string",
"_type": "Value"
},
"recaption": {}
},
"homepage": "",
"license": ""
}


File: zh_lora_dataset/state.json

{
"_data_files": [
{
"filename": "data-00000-of-00001.arrow"
}
],
"_fingerprint": "76c203d4bc1fdd7e",
"_format_columns": null,
"_format_kwargs": {},
"_format_type": null,
"_output_all_columns": false,
"_split": null
}