Node Reference
Color Nodes
Nodes for generating and transforming color signals -- constant colors, gradients, chroma palettes, and spectral shifting.
Color nodes generate and transform color signals.
| Field | Value |
|---|
| Type ID | color |
| Category | Color |
| Description | Constant color generator. |
None.
| Port | Type |
|---|
out | Signal (N=1, T=1, C=4 RGBA) |
| Name | Type | Default | Description |
|---|
color | JSON string | -- | Color as {"r": 0-255, "g": 0-255, "b": 0-255, "a": 0-1} |
- RGB values in the parameter are 0-255 integers; they are normalized to 0.0-1.0 in the output signal.
- Alpha is already 0.0-1.0 in the parameter.
| Field | Value |
|---|
| Type ID | gradient |
| Category | Color |
| Description | Maps a scalar input signal to a color range via linear interpolation. |
| Port | Type | Required |
|---|
in | Signal (C >= 1) | Yes |
start_color | Signal | No (overrides start_color parameter) |
end_color | Signal | No (overrides end_color parameter) |
| Port | Type |
|---|
out | Signal (N=in.N, T=in.T, C=4 RGBA) |
| Name | Type | Default | Description |
|---|
start_color | hex string | "#000000" | Color at input value 0.0 |
end_color | hex string | "#ffffff" | Color at input value 1.0 |
- The input signal's first channel (C=0) is used as the interpolation factor.
- Input values are expected in the 0.0-1.0 range; values outside this range will extrapolate.
- Wired
start_color and end_color inputs override the corresponding parameters.
- Interpolation is performed independently per RGBA channel.
| Field | Value |
|---|
| Type ID | chroma_palette |
| Category | Color |
| Description | Maps 12-pitch chroma distribution to RGB color via weighted palette lookup. |
| Port | Type | Required |
|---|
chroma | Signal (C=12) | Yes |
| Port | Type |
|---|
out | Signal (N=1, T=chroma.T, C=3 RGB) |
None.
| Pitch | Color |
|---|
| C | Red |
| C# | OrangeRed |
| D | Orange |
| D# | Gold |
| E | Yellow |
| F | GreenYellow |
| F# | Green |
| G | Cyan |
| G# | DeepSkyBlue |
| A | Blue |
| A# | BlueViolet |
| B | Magenta |
- Output color is the weighted sum of all 12 palette entries, where weights come from the chroma distribution.
- Auto-gain normalization ensures consistent brightness regardless of chroma magnitude.
| Field | Value |
|---|
| Type ID | spectral_shift |
| Category | Color |
| Description | Rotates input color's hue based on the dominant pitch in a chroma signal. |
| Port | Type | Required |
|---|
in | Signal (C >= 3, RGB) | Yes |
chroma | Signal (C=12) | Yes |
| Port | Type |
|---|
out | Signal (N=1, T=min(in.T, chroma.T), C=3 RGB) |
None.
- Converts input color to HSL, shifts hue by
(dominant_pitch / 12) * 360 degrees, converts back to RGB.
- The dominant pitch is the channel index with the highest value in the chroma distribution at each time step.
- Creates harmonically-responsive color shifting that tracks chord changes.