| --- |
| license: apache-2.0 |
| pipeline_tag: other |
| datasets: |
| - RS2002/RPMC-L2 |
| tags: |
| - stage-lighting |
| - generative-task |
| - music-to-light |
| --- |
| |
| # Skip-BART |
|
|
| Skip-BART is an end-to-end generative model designed for **Automatic Stage Lighting Control (ASLC)**. Unlike traditional rule-based methods, Skip-BART conceptualizes lighting control as a generative task, learning directly from professional lighting engineers to predict vivid, human-like lighting sequences synchronized with music. |
|
|
| This model was presented in the paper [Automatic Stage Lighting Control: Is it a Rule-Driven Process or Generative Task?](https://huggingface.co/papers/2506.01482). |
|
|
| - **Repository**: [https://github.com/RS2002/Skip-BART](https://github.com/RS2002/Skip-BART) |
| - **Dataset**: [RS2002/RPMC-L2](https://huggingface.co/datasets/RS2002/RPMC-L2) |
|
|
| ## Model Details |
|
|
| - **Model Type**: Transformer-based model (BART architecture) with skip connections. |
| - **Task**: Stage lighting sequence generation (predicting light hue and intensity). |
| - **Architecture**: BART-based structure enhanced with a novel skip-connection mechanism to strengthen the relationship between musical frames and lighting states. |
| - **Input Format**: Encoder input (batch_size, length, 512) for audio features; Decoder input (batch_size, length, 2) for lighting parameters. |
| - **Output Format**: Hidden states representing lighting control parameters (dimension 1024). |
|
|
| ## Training Data |
|
|
| The model was trained on the **RPMC-L2** dataset, a self-collected dataset containing music and corresponding stage lighting data synchronized within a frame grid. |
|
|
| ## Usage |
|
|
| ### Installation |
|
|
| ```shell |
| git clone https://huggingface.co/RS2002/Skip-BART |
| ``` |
|
|
| ### Example Code |
|
|
| The following snippet demonstrates how to load the model and perform a forward pass (requires `model.py` from the official repository). |
|
|
| ```python |
| import torch |
| from model import Skip_BART |
| |
| # Load the model |
| model = Skip_BART.from_pretrained("RS2002/Skip-BART") |
| |
| # Example input |
| x_encoder = torch.rand((2, 1024, 512)) |
| x_decoder = torch.randint(0, 10, (2, 1024, 2)) |
| encoder_attention_mask = torch.zeros((2, 1024)) |
| decoder_attention_mask = torch.zeros((2, 1024)) |
| |
| # Forward pass |
| output = model(x_encoder, x_decoder, encoder_attention_mask, decoder_attention_mask) |
| print(output.size()) # Output: [2, 1024, 1024] |
| ``` |
|
|
| ## Citation |
|
|
| ```bibtex |
| @article{zhao2025automatic, |
| title={Automatic Stage Lighting Control: Is it a Rule-Driven Process or Generative Task?}, |
| author={Zhao, Zijian and Jin, Dian and Zhou, Zijing and Zhang, Xiaoyu}, |
| journal={arXiv preprint arXiv:2506.01482}, |
| year={2025} |
| } |
| ``` |
|
|
| ## Contact |
|
|
| Zijian Zhao: zzhaock@connect.ust.hk |