File size: 2,648 Bytes
7aa2dc3
 
 
 
 
 
 
 
 
 
f9623d5
7aa2dc3
f9623d5
7aa2dc3
f9623d5
7aa2dc3
f9623d5
7aa2dc3
 
f9623d5
7aa2dc3
f9623d5
7aa2dc3
 
 
 
 
f9623d5
 
 
7aa2dc3
f9623d5
 
 
 
 
 
 
 
 
 
 
7aa2dc3
 
f9623d5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7aa2dc3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
---
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