I don't understand give me a multi file example of the json for training what the heck does the final training json file look like

🔨 Train
Prerequisites
Prepare the environment as described in the installation section.

If you plan to train a LoRA model, install the PEFT library:

pip install peft
Prepare your dataset in Huggingface format (Huggingface Datasets documentation). The dataset should contain the following fields:

keys: Unique identifier for each audio sample
filename: Path to the audio file
tags: List of descriptive tags (e.g., ["pop", "rock"])
norm_lyrics: Normalized lyrics text
Optional fields:
speaker_emb_path: Path to speaker embedding file (use empty string if not available)
recaption: Additional tag descriptions in various formats
Example dataset entry:

{
	"keys": "1ce52937-cd1d-456f-967d-0f1072fcbb58",
	"filename": "data/audio/1ce52937-cd1d-456f-967d-0f1072fcbb58.wav",
	"tags": ["pop", "acoustic", "ballad", "romantic", "emotional"],
	"speaker_emb_path": "",
	"norm_lyrics": "I love you, I love you, I love you",
	"recaption": {
		"simplified": "pop",
		"expanded": "pop, acoustic, ballad, romantic, emotional",
		"descriptive": "The sound is soft and gentle, like a tender breeze on a quiet evening. It's soothing and full of longing.",
		"use_cases": "Suitable for background music in romantic films or during intimate moments.",
		"analysis": "pop, ballad, piano, guitar, slow tempo, romantic, emotional"
	}
}
How to get an audio's reception?

You can use Qwen-Omini https://chat.qwen.ai/ to describe an audio.

Here we share the prompt we used.

sys_prompt_without_tag = """Analyze the input audio and generate 6 description variants. Each variant must be <200 characters. Follow these exact definitions:

1.  `simplified`: Use only one most representative tag from the valid set.
2.  `expanded`: Broaden valid tags to include related sub-genres/techniques.
3.  `descriptive`: Convert tags into a sensory-rich sentence based *only on the sound*. DO NOT transcribe or reference the lyrics.
4.  `synonyms`: Replace tags with equivalent terms (e.g., 'strings' → 'orchestral').
5.  `use_cases`: Suggest practical applications based on audio characteristics.
6.  `analysis`: Analyze the audio's genre, instruments, tempo, and mood **based strictly on the audible musical elements**. Technical breakdown in specified format.
    *   For the `instruments` list: **Only include instruments that are actually heard playing in the audio recording.** **Explicitly ignore any instruments merely mentioned or sung about in the lyrics.** Cover all audibly present instruments.
7. `lyrical_rap_check`: if the audio is lyrical rap
**Strictly ignore any information derived solely from the lyrics when performing the analysis, especially for identifying instruments.**

**Output Format:**
```json
{
  "simplified": <str>,
  "expanded": <str>,
  "descriptive": <str>,
  "synonyms": <str>,
  "use_cases": <str>,
  "analysis": {
    "genre": <str list>,
    "instruments": <str list>,
    "tempo": <str>,
    "mood": <str list>
  },
  "lyrical_rap_check": <bool>
}
"""
Training Parameters
Common Parameters
--dataset_path: Path to your Huggingface dataset (required)
--checkpoint_dir: Directory containing the base model checkpoint
--learning_rate: Learning rate for training (default: 1e-4)
--max_steps: Maximum number of training steps (default: 2000000)
--precision: Training precision, e.g., "bf16-mixed" (default) or "fp32"
--devices: Number of GPUs to use (default: 1)
--num_nodes: Number of compute nodes to use (default: 1)
--accumulate_grad_batches: Gradient accumulation steps (default: 1)
--num_workers: Number of data loading workers (default: 8)
--every_n_train_steps: Checkpoint saving frequency (default: 2000)
--every_plot_step: Frequency of generating evaluation samples (default: 2000)
--exp_name: Experiment name for logging (default: "text2music_train_test")
--logger_dir: Directory for saving logs (default: "./exps/logs/")
Base Model Training
Train the base model with:

python trainer.py --dataset_path "path/to/your/dataset" --checkpoint_dir "path/to/base/checkpoint" --exp_name "your_experiment_name"
LoRA Training
For LoRA training, you need to provide a LoRA configuration file:

python trainer.py --dataset_path "path/to/your/dataset" --checkpoint_dir "path/to/base/checkpoint" --lora_config_path "path/to/lora_config.json" --exp_name "your_lora_experiment"
Example LoRA configuration file (lora_config.json):

{
	"r": 16,
	"lora_alpha": 32,
	"target_modules": [
		"speaker_embedder",
		"linear_q",
		"linear_k",
		"linear_v",
		"to_q",
		"to_k",
		"to_v",
		"to_out.0"
	]
}
Advanced Training Options
--shift: Flow matching shift parameter (default: 3.0)
--gradient_clip_val: Gradient clipping value (default: 0.5)
--gradient_clip_algorithm: Gradient clipping algorithm (default: "norm")
--reload_dataloaders_every_n_epochs: Frequency to reload dataloaders (default: 1)
--val_check_interval: Validation check interval (default: None)
📜 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:

@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}
}