A Text-Steerable Instrument for Sketching Procedural Soundscapes via Language Models


Abstract

We present a real-time musical interface that converts natural-language scene descriptions into evolving procedural soundscapes. A performer types a prompt such as “warm jazz café at midnight” and steers it through direct parameter adjustments—stepping brightness down, switching a rhythm style—each producing a predictable, audible shift without re-prompting. Where GPU-bound text-to-audio systems synthesize monolithic waveforms, our instrument generates human-readable configurations over a categorical schema, enabling fine-grained performer control; most valid combinations are designed to sound musically coherent. Three interchangeable backends—embedding retrieval for sub-second CPU-only use, hosted LLMs via API, and a fine-tuned 270M local model—all emit the same schema. A live generator architecture continuously emits audio while resolving new instructions in the background, crossfading seamlessly when ready; even when an LLM takes 5–12 seconds to respond, the audience hears uninterrupted sound—reframing text-to-music as an ongoing performable stream rather than a one-shot generation. We evaluate text–audio semantic alignment using LAION-CLAP on held-out prompts as a technical proxy, finding that retrieval-based configuration outperforms random valid configurations on this metric, while noting that LAION-CLAP also informed retrieval-map construction. We report performance observations, informal listener feedback, and release materials for the SDK, dataset artifacts, model, and audiovisual performance interface.

1 Introduction↩︎

In a live coding set, the performer types "neon city at 2am" and the ambient drone keeps playing. Five seconds later, the new configuration resolves—bright, electronic, fast—and the sound crossfades into it. The performer nudges brightness down two steps. The city gets darker. They switch rhythm to "heartbeat". The pulse slows. None of this required stopping the music, waiting for a GPU, or understanding DSP.

Neural text-to-audio systems such as MusicGen [1], MusicLM [2], and Stable Audio [3] produce high-quality audio from text. However, such systems typically return generated audio rather than interpretable synthesizer parameters; CTAG explicitly frames this as a tweakability problem for neural audio systems [4]. Azimi and Zareei [5] fine-tuned Stable Audio Open for live improvisation, demonstrating that even with GPU acceleration, generation latency and unpredictable outputs remain challenges.

Our SDK addresses this tension by generating interpretable parameter configurations for a procedural synthesizer rather than raw audio. Its live generator architecture decouples instruction resolution from audio emission—the current configuration keeps sounding while the next one resolves in the background. This brings LLM-powered text-to-music into live performance without audible interruption.

For the performer, the key affordance is persistent steerability: a prompt establishes a scene, but the musical work happens through named parameter edits—darkening the spectrum, switching rhythm, widening the space—while the stream continues. Text becomes a playable control surface, not a one-shot trigger.

The system is not a neural audio generator: language models resolve prompts into symbolic synthesizer configurations, and a deterministic procedural engine renders the sound—less timbrally general than neural text-to-audio, but inspectable, steerable, and stable during performance.

We contribute: (1) a live generator architecture that hides resolution latency behind continuous audio, enabling the SDK to function as an instrument runtime rather than a generation endpoint; (2) a 34-field configuration schema whose categorical labels mean most valid combinations sound musically coherent—a mapping-design contribution in the sense of Hunt and Kirk [6] and Magnusson [7]; and (3) an open-source release.1 A companion ACM SIGGRAPH 2026 talk addresses the broader system architecture and benchmark framing; the present paper focuses on the instrument contribution: the live generator as performance runtime, the configuration schema as mapping design, and the prompt–listen–steer workflow.

2 Related Work↩︎

2.0.0.1 Text-to-audio instruments.

Azimi and Zareei [5] fine-tuned Stable Audio Open for improvisation, generating raw audio fragments. Shepardson et al. [8] used text notation to control neural vocal synthesis in Tungnáá. Both systems synthesize neural audio directly, with differing compute requirements and limited post-generation editability. Our SDK generates structured parameters instead—trading timbral fidelity for sub-second latency, direct editability, and reproducible output.

2.0.0.2 Text-to-synthesizer mapping.

CTAG [4] maps text to a modular synthesizer with 78 parameters via iterative optimization, but its search runs at generation time. SynthScribe [9] supports synthesizer sound retrieval, creation, and modification through multimodal text/audio tools. Our system front-loads LLM generation into dataset construction and retrieves complete multi-layer configurations at runtime. Latent-space instruments like Stacco [10] and Latent Mappings [11] navigate continuous neural spaces through physical gesture; our SDK navigates a discrete parameter space through language.

2.0.0.3 Programming frameworks.

ChAI [12] and ChuMP [13] added interactive AI tools and modular package management to ChucK.

3 The Instrument↩︎

3.1 Design Goals↩︎

Immediacy (G1): sub-second text-to-sound. Controllability (G2): all parameters exposed as named fields with human-readable labels. Reproducibility (G3): a given configuration and seed yield identical output. Learnability (G4): a single-line entry point that scales to full programmatic control. Continuity (G5): audio never stops during configuration resolution.

3.2 The Live Generator↩︎

The SDK’s core contribution is the live generator—an async streaming interface where the instrument is always sounding. A performer (or game engine, installation, or MIDI controller) writes a Python generator that yields instructions: text prompts, absolute configurations, or relative parameter adjustments. The SDK continuously emits audio chunks from the current configuration. When a new instruction arrives, it resolves in the background—calling an LLM, querying the retrieval index, or applying a parameter update—while audio emission continues uninterrupted. Once resolved, the SDK crossfades into the new configuration.

None

Figure 1: The live generator programming model. The performer yields instructions; audio plays continuously from the current configuration..

The sleep duration controls how long each configuration plays, and new instructions can be yielded at any time—including while a previous resolution is still pending. Figures 2 and 3 show the timing relationship between the generator, resolver, and audio output for both backends. The SDK queues instructions and resolves them in order. Rapid yielding can accumulate pending instructions with slow backends; with the fast backend, rapid yields produce transitions too quick to sound musical. In practice, performers quickly learn to pace yields to the backend’s resolution speed.

Figure 2: Embedding Lookup (model="fast") backend. The first resolve includes model loading ($$5 s cold start); subsequent embed lookups resolve in $$1 s. Parameter updates (MusicConfigUpdate) apply instantly. Audio plays continuously after the first configuration resolves.
Figure 3: External LLM (model="gemini-3-flash-preview") backend. Each text prompt triggers a $$5.5 s API call; the current configuration keeps playing uninterrupted while the new one resolves. The time axis extends to 36 s for the same three instructions that the fast backend completes by 30 s—this gap compounds with each text prompt.

The SDK supports three backends. The fast mode (default) uses embedding retrieval—sub-second after warm-up, fully reliable, no network needed. The external mode routes to any LLM via the developer’s API key, with seamless playback despite network latency; failed calls fall back to fast mode. A local expressive mode runs a 270M fine-tuned model on-device (experimental). A web-based UI demonstrates the SDK as a playable instrument: it displays each configuration’s co-generated title and color palette alongside the parameter editor, with background particle effects responsive to playback state—creating an audiovisual performance surface.

3.3 Configuration Schema as Mapping Design↩︎

The schema contains 34 fields in five groups: global parameters (8: tempo, root, mode, brightness, space, density, motion, attack), six orchestration layers (bass, pad, melody, rhythm, texture, accent—each selecting a style from a curated set), spatial/texture (5: stereo, depth, echo, human, grain), melody generation (10), and harmony (5). All fields use categorical labels, designed for both human interpretability and reliable LLM generation—an LLM can produce "bright" far more reliably than a meaningful float like 0.73.

Eight of these fields use ordered labels that support relative stepping: a performer can issue Step(+1) or Step(-1) to move along the label sequence, clamping at boundaries. The remaining fields use style selectors, booleans, or bounded values accepting absolute assignments only. Each resolved configuration also includes co-generated metadata—a descriptive title, three color palettes, and a brief justification of the parameter choices.

The schema was iteratively refined through an AI-human design loop. Categorical labels make each level perceptually distinct and enable reliable LLM generation. Constrained style sets reduce discordant combinations. The design goal: most valid configurations should sound musically coherent. The schema is biased toward coherence to support exploratory play—a decision in Magnusson’s sense [7], not a limitation.

4 Retrieval-Based Configuration↩︎

Given a coherent parameter space, the remaining challenge is mapping text to configurations quickly enough for live use. The default fast backend uses a retrieval map of LLM-generated configurations curated offline. We distilled $$10,500 unique scene descriptions from the Common Pile [14], an openly licensed text corpus, prompted Gemini 3 Flash Preview to generate five candidate configurations per scene as valid schema instances, scored each rendered audio by measuring text–audio semantic similarity using LAION-CLAP [15], a contrastive language–audio model trained on diverse audio–text pairs, and selected the best, embedded each scene with a sentence transformer [16], and exported the map. At runtime, the nearest neighbor is returned—approximately one second on CPU.

5 Design Observations↩︎

The author used the instrument across multiple composition sessions. The live generator excels at gradual scenic evolution: yielding "quiet midnight hush", waiting, then stepping brightness down and switching rhythm to "heartbeat" produces a coherent ambient environment that evolves naturally. This two-level control—text for macro-level scene changes, parameter stepping for micro-level refinement—emerged as the instrument’s natural performance idiom. When using an external LLM backend, the 5–8 s wait for a new scene to resolve is noticeable but not disruptive—the current soundscape keeps playing, and the crossfade when it arrives feels like a natural transition rather than a technical artifact. The instrument struggles with sharp stylistic pivots and cannot match timbral specificity for prompts like “upright bass.”

Five lay participants each listened to four text-generated soundscapes paired with author-steered variations in randomized order, without being told which was which, and were asked to describe what they heard and whether changes felt intentional. All five independently described output as sounding musically intentional rather than random, offering informal support for the schema design goal. Limitations identified: no individual layer volume control, restricted stylistic range for culturally specific music, and occasional audio artifacts in dense configurations. These comments are treated as informal design feedback rather than evidence of general audience response: the sample was small, participants were lay listeners, and no statistical claims are made from these remarks.

A technical benchmark on 200 held-out prompts showed embedding retrieval scoring higher on text–audio semantic similarity than a random valid configuration, suggesting that retrieval adds semantic targeting beyond the schema’s baseline coherence under this proxy. This metric is a system-reliability and alignment proxy, not a perceptual-quality measure. LAION-CLAP also informed retrieval-map construction, so retrieval has an expected advantage on this metric; human perceptual validation is planned.

6 Discussion↩︎

G1 (immediacy) and G3 (reproducibility) are met. G5 (continuity) is met—in a 200-prompt benchmark, the embedding backend resolved all prompts successfully ($\(0.3 s config generation,\)\(1.2 s total with synthesis); the external LLM backend resolved 178/200 (\)$5.6 s config generation, 89% success rate), with failed calls falling back to the fast backend to maintain uninterrupted playback. G2 (controllability) is partially met—categorical labels provide precise steering, but retrieval coverage gaps cause occasional semantic mismatches. G4 (learnability) is informally supported but formally unevaluated.

The live generator reframes text-to-music from a one-shot generation into an ongoing stream—decoupling resolution from emission generalizes beyond music to any latency-sensitive domain. The CPU-only, reproducible design responds to Clarke et al.’s [17] concerns about longevity, reproducibility, documentation, and the resource demands of deep generative models in NIME practice—the default backend requires no inference at runtime, amortizing LLM cost into a one-time dataset construction step. The open-source SDK, extensible schema, and shared retrieval dataset contribute to the NIME 2026 Communities theme: the instrument’s parameter space is a shared vocabulary that other developers can extend with new style sets, new retrieval entries, or new synthesizer backends—and the live generator architecture provides the runtime for any such extension to be performed live.

6.0.0.1 Musical outcomes and limitations.

The strongest outputs are ambient, cinematic, and loop-adjacent soundscapes where texture and harmonic color matter more than authored melody. It is less successful for genre imitation or timbral specificity. This trade-off privileges predictable steering and live continuity over timbral range.

7 Ethical Standards↩︎

This work follows NIME ethical expectations. Informal listener feedback was solicited from consenting adult participants on coherence, controllability, and musical character; no personal data was collected, and the feedback is reported as informal design input, not a powered study. The system generates procedural audio rather than imitating recordings or performers; the retrieval dataset uses an openly licensed corpus [14] and releases structured configurations and rendered examples rather than copyrighted music recordings. The CPU-first default backend amortizes LLM cost across all use, addressing NIME’s guidelines on lightweight models and AI environmental impact. AI coding tools assisted with codebase and schema design, and grammatical correction; the open-source release includes an AI_DISCLOSURE.md documenting their scope. A supplementary video demonstrates the live generator.

8 Supplementary Material↩︎

This appendix supplements the main paper with additional technical detail and artifact links. The open-source SDK and demo are available at https://github.com/prabal-rje/latentscore and https://latentscore.com.

The subsections below cover: §8.1 the full configuration schema including co-generated metadata, §8.2 benchmark results across six named controllers, §8.3 example outputs with color palettes, §8.4 dataset and artifact availability, and §8.5 supplementary figures.

8.1 Configuration Schema Reference↩︎

Each output produced by the system is a JSON object with four top-level fields:

  • thinking — a short generated rationale summarizing the model’s parameter choices; used as metadata during dataset construction and omitted from the performer’s direct control surface.

  • title — a short evocative name (\(\leq\)​6 words) summarizing the vibe, displayed in the UI as a human-readable label for the current soundscape.

  • config — the 34-field synthesis configuration (Table 1).

  • palettes — three color palettes, each containing five hex colors with size weights (xsxxl). These drive the UI’s visual feedback: background gradients, particle colors, and ambient lighting shift in real time as configurations change. The co-generation of audio parameters and visual palettes from a single text prompt makes the system an audiovisual instrument.

The web-based UI displays the title, renders the active palette as a color-shifting background, and overlays particle effects responsive to playback state. Together with the text input and parameter steering buttons, this creates a playable audiovisual performance surface where text prompts produce coordinated shifts in sound, color, and motion.

Synthesis Configuration Fields↩︎

The config object contains 34 fields in five groups. Eight fields marked \(\star\) support ordered stepping: Step(+1) or Step(-1) adjustments that clamp at boundaries.

Table 1: Full configuration schema. Fields marked \(\star\) support relative Step adjustments.
Field Type Allowed Values
Field Type Allowed Values
tempo\(\star\) Ord.label very_slow \(|\) slow \(|\) medium \(|\) fast \(|\) very_fast
root Enum c \(|\) c# \(|\) d \(|\) d# \(|\) e \(|\) f \(|\) f# \(|\) g \(|\) g# \(|\) a \(|\) a# \(|\) b
mode Enum major \(|\) minor \(|\) dorian \(|\) mixolydian
brightness\(\,\star\) Ord.label very_dark \(|\) dark \(|\) medium \(|\) bright \(|\) very_bright
space\(\star\) Ord.label dry \(|\) small \(|\) medium \(|\) large \(|\) vast
density\(\star\) Bnd.int 2 \(|\) 3 \(|\) 4 \(|\) 5 \(|\) 6
motion\(\star\) Ord.label static \(|\) slow \(|\) medium \(|\) fast \(|\) chaotic
attack Enum soft \(|\) medium \(|\) sharp
bass Style sel. drone \(|\) sustained \(|\) pulsing \(|\) walking \(|\) fifth_drone \(|\) sub_pulse \(|\) octave \(|\) arp_bass
pad Style sel. warm_slow \(|\) dark_sustained \(|\) cinematic \(|\) thin_high \(|\) ambient_drift \(|\) stacked_fifths \(|\) bright_open
melody Style sel. procedural \(|\) contemplative \(|\) rising \(|\) falling \(|\) minimal \(|\) ornamental \(|\) arp_melody \(|\) contemplative_minor \(|\) call_response \(|\) heroic
rhythm Style sel. none \(|\) minimal \(|\) heartbeat \(|\) soft_four \(|\) hats_only \(|\) electronic \(|\) kit_light \(|\) kit_medium \(|\) military \(|\) tabla_essence \(|\) brush
texture Style sel. none \(|\) shimmer \(|\) shimmer_slow \(|\) vinyl_crackle \(|\) breath \(|\) stars \(|\) glitch \(|\) noise_wash \(|\) crystal \(|\) pad_whisper
accent Style sel. none \(|\) bells \(|\) pluck \(|\) chime \(|\) bells_dense \(|\) blip \(|\) blip_random \(|\) brass_hit \(|\) wind \(|\) arp_accent \(|\) piano_note
stereo\(\star\) Ord.label mono \(|\) narrow \(|\) medium \(|\) wide \(|\) ultra_wide
depth Boolean true \(|\) false
echo\(\star\) Ord.label none \(|\) subtle \(|\) medium \(|\) heavy \(|\) infinite
human\(\star\) Ord.label robotic \(|\) tight \(|\) natural \(|\) loose \(|\) drunk
grain Enum clean \(|\) warm \(|\) gritty
melody_engine Enum pattern \(|\) procedural
phrase_len_bars Bnd.int 2 \(|\) 4 \(|\) 8
melody_density Ord.label very_sparse \(|\) sparse \(|\) medium \(|\) busy \(|\) very_busy
syncopation Ord.label straight \(|\) light \(|\) medium \(|\) heavy
swing Ord.label none \(|\) light \(|\) medium \(|\) heavy
motif_repeat_prob Ord.label rare \(|\) sometimes \(|\) often
step_bias Enum step \(|\) balanced \(|\) leapy
chromatic_prob Ord.label none \(|\) light \(|\) medium \(|\) heavy
register_min_oct Bnd.int 1 – 8
register_max_oct Bnd.int 1 – 8 (must exceed min)
cadence_strength Ord.label weak \(|\) medium \(|\) strong
tension_curve Enum arc \(|\) ramp \(|\) waves
harmony_style Enum auto \(|\) pop \(|\) jazz \(|\) cinematic \(|\) ambient
chord_change_bars Ord.label very_slow \(|\) slow \(|\) medium \(|\) fast
chord_extensions Enum triads \(|\) sevenths \(|\) lush

8.2 Benchmark Results↩︎

We benchmarked six controllers on 200 held-out test prompts (TEST split), preventing data leakage into the embedding lookup map.

Controllers↩︎

  1. Random Baseline — uniformly random valid configuration (ignores prompt).

  2. Base Untrainedunsloth/gemma-3-270m-it (Gemma 3, 270M parameters), no fine-tuning, constrained via Outlines grammar-guided decoding.

  3. SFT Fine-tuned — same Gemma 3 270M model after supervised fine-tuning on TRAIN split with LoRA, constrained via Outlines.

  4. Claude Opus 4.5 — Anthropic’s commercial API, structured output mode.

  5. Gemini 3 Flash Preview — Google’s commercial API (gemini-3-flash-preview), structured output mode.

  6. Embedding Lookup — default fast backend; nearest-neighbor retrieval using all-MiniLM-L6-v2 sentence embeddings (Reimers & Gurevych, 2019).

Results Summary↩︎

Table 2: Benchmark results across 200 held-out test prompts. CLAP = LAION-CLAP with discordance penalty.
Controller CLAP\(\uparrow\) Schema Config Synth Total
(mean) Valid % Gen (s) (s) (s)
Random Baseline 0.139 100% \(<\)0.01 0.56 0.70
Base Untrained (270M) 0.117 100% 59.1 0.38 59.7
SFT Fine-tuned (270M) 0.140 91% 99.5 0.47 100.2
Claude Opus 4.5 0.137 100% 11.9 0.57 12.6
Gemini 3 Flash Preview 0.158 89% 5.6 0.73 6.5
Embed.Lookup 0.163 100% 0.3 0.79 1.2

Key observations:

  • Embedding Lookup achieves the highest CLAP (0.163) with lowest total latency ($$1.2 s) and 100% validity. This is the default backend for live performance.

  • Gemini 3 Flash Preview produces competitive CLAP (0.158) on valid outputs but fails schema validation 11% of the time; in live use, such failures trigger automatic fallback to the fast backend.

  • Claude Opus 4.5 achieves 100% validity but scores below random on CLAP (0.137 vs.) with $$12.6 s mean latency.

  • The fine-tuned 270M model only marginally exceeds random on CLAP (0.140 vs.) at $$100 s mean generation time, suggesting mode collapse at this model scale.

  • Synthesis time is configuration-dependent: richer configs from Embedding Lookup (0.79 s) and Gemini (0.73 s) render slower than simpler ones from Base (0.38 s) and Random (0.56 s).

CLAP circularity. The retrieval map was constructed with Best-of-5 CLAP-scored selection. The same metric is used for evaluation; the retrieval advantage is partly expected. Human perceptual evaluation is planned.

8.3 Example Configurations↩︎

Three complete outputs from the retrieval dataset, each showing the full structure: thinking (the LLM’s justification of its choices), title, all 34 config fields, and three co-generated palettes with color swatches.

“Warm, comforting recollection.”

Title: Hazy Echoes of a Gentle Memory CLAP: 0.569 Split: SFT-Train

Thinking: “A warm, comforting recollection calls for slow tempo and soft dynamics—like something remembered through a haze. F major gives a gentle warmth. Dark brightness with large space creates the sense of a memory filling a room. Vinyl crackle as texture reinforces the nostalgic, analog quality. Chime accents suggest fleeting moments surfacing. Ambient drift pad with sustained bass provides the continuous, enveloping foundation. Sparse melody with stepwise motion and weak cadences lets the piece breathe without urgency. Lush chord extensions add harmonic richness without tension.”

{
  "tempo": "slow", "root": "f", "mode": "major",
  "brightness": "dark", "space": "large", "density": 3,
  "bass": "sustained", "pad": "ambient_drift",
  "melody": "contemplative", "rhythm": "none",
  "texture": "vinyl_crackle", "accent": "chime",
  "motion": "slow", "attack": "soft",
  "stereo": "wide", "depth": true,
  "echo": "subtle", "human": "natural", "grain": "warm",
  "melody_engine": "procedural", "phrase_len_bars": 8,
  "melody_density": "sparse", "syncopation": "straight",
  "swing": "none", "motif_repeat_prob": "sometimes",
  "step_bias": "step", "chromatic_prob": "none",
  "cadence_strength": "weak",
  "register_min_oct": 3, "register_max_oct": 5,
  "tension_curve": "arc", "harmony_style": "ambient",
  "chord_change_bars": "slow", "chord_extensions": "lush"
}

Palette 1: #f4e1d2 (xxl) #e9c46a (xl) #f4a261 (lg) #e76f51 (md) #264653 (sm)

Palette 2: #fdfcf0 (xxl) #faedcd (xl) #d4a373 (lg) #ccd5ae (md) #e9edc9 (sm)

Palette 3: #efd3d7 (xxl) #feeafa (xl) #dee2ff (lg) #8e9aaf (md) #cbc0d3 (sm)

“Need for continual self-examination.”

Title: Infinite Internal Reflection CLAP: 0.556 Split: SFT-Train

Thinking: “Self-examination is inward-looking, contemplative, cyclical. Dorian mode in D gives a modal ambiguity—not quite sad, not resolved. A drone bass anchors the introspection; ambient drift pad creates a sense of floating within one’s own thoughts. No rhythm—this is internal, not measured by external time. Pad whisper texture adds subliminal movement beneath the surface. Piano note accents surface like individual thoughts emerging. Slow motion, soft attack, medium stereo—contained but not claustrophobic. Waves tension curve for the recurring nature of self-questioning. Often-repeating motifs suggest obsessive return to the same themes.”

{
  "tempo": "slow", "root": "d", "mode": "dorian",
  "brightness": "dark", "space": "large", "density": 3,
  "bass": "drone", "pad": "ambient_drift",
  "melody": "contemplative", "rhythm": "none",
  "texture": "pad_whisper", "accent": "piano_note",
  "motion": "slow", "attack": "soft",
  "stereo": "medium", "depth": true,
  "echo": "subtle", "human": "natural", "grain": "warm",
  "melody_engine": "procedural", "phrase_len_bars": 8,
  "melody_density": "sparse", "syncopation": "straight",
  "swing": "none", "motif_repeat_prob": "often",
  "step_bias": "step", "chromatic_prob": "light",
  "cadence_strength": "weak",
  "register_min_oct": 2, "register_max_oct": 4,
  "tension_curve": "waves", "harmony_style": "ambient",
  "chord_change_bars": "slow", "chord_extensions": "lush"
}

Palette 1: #1a1a2e (xxl) #16213e (xl) #0f3460 (lg) #533483 (md) #e94560 (sm)

Palette 2: #2c3e50 (xxl) #34495e (xl) #7f8c8d (lg) #95a5a6 (md) #bdc3c7 (sm)

Palette 3: #000000 (xxl) #141414 (xl) #1f1f1f (lg) #3d3d3d (md) #ffffff (sm)

“The mood is anticipatory.”

Title: The Growing Momentum of Expectation CLAP: 0.554 Split: SFT-Train

Thinking: “Anticipation means something is building. Medium tempo with slow motion creates a measured but unstoppable forward movement. Dorian mode for tension without darkness. Bright brightness—anticipation is alert, not gloomy. Sub-pulse bass provides the physical heartbeat of waiting. Heartbeat rhythm reinforces this literally. Rising melody enacts the building expectation; ramp tension curve ensures it never resolves too soon. Cinematic pad and cinematic harmony style for the grand-scale, almost filmic sense of approaching something. Sparse melody density with light syncopation—not rushed, but not metronomic. Wide stereo and large space for the sense of something vast about to happen.”

{
  "tempo": "medium", "root": "d", "mode": "dorian",
  "brightness": "bright", "space": "large", "density": 4,
  "bass": "sub_pulse", "pad": "cinematic",
  "melody": "rising", "rhythm": "heartbeat",
  "texture": "shimmer_slow", "accent": "blip",
  "motion": "slow", "attack": "medium",
  "stereo": "wide", "depth": true,
  "echo": "subtle", "human": "tight", "grain": "clean",
  "melody_engine": "procedural", "phrase_len_bars": 4,
  "melody_density": "sparse", "syncopation": "light",
  "swing": "none", "motif_repeat_prob": "sometimes",
  "step_bias": "balanced", "chromatic_prob": "light",
  "cadence_strength": "medium",
  "register_min_oct": 3, "register_max_oct": 6,
  "tension_curve": "ramp", "harmony_style": "cinematic",
  "chord_change_bars": "slow", "chord_extensions": "lush"
}

Palette 1: #2c3e50 (xxl) #34495e (xl) #7f8c8d (lg) #bdc3c7 (md) #ecf0f1 (sm)

Palette 2: #1a1a2e (xxl) #16213e (xl) #0f3460 (lg) #e94560 (md) #ffffff (sm)

Palette 3: #000000 (xxl) #14213d (xl) #fca311 (lg) #e5e5e5 (md) #ffffff (sm)

Note how palette color temperatures correlate with audio parameters: warm/nostalgic vibes produce cream and amber tones; introspective vibes produce deep navy, indigo, and near-black; anticipatory vibes produce cool grays with accent pops. The thinking field is a short generated rationale captured during dataset construction; it is retained as metadata about parameter choices and is not part of the performer’s control surface.

8.4 Dataset and Artifact Availability↩︎

The dataset and benchmark artifacts are archived through public Hugging Face repositories; the repository file listings provide the authoritative artifact record rather than the automatically generated dataset preview.

8.4.0.1 Availability.

The SDK, retrieval-map dataset artifacts, benchmark outputs, model artifacts, and demo materials are released through the public repository and the Hugging Face file listings linked above. Code and samples are available at https://github.com/prabal-rje/latentscore.

8.5 Supplementary Figures↩︎

Figure 4: Benchmark comparison across 200 test prompts and 6 controllers. Left: CLAP alignment scores with standard deviation bars and random baseline reference line. Center: Schema validity rates. Right: Config generation latency on log scale, spanning three orders of magnitude from embedding retrieval (0.24 s) to local 270M models ($$56 s).
Figure 5: Best-of-5 CLAP score analysis across 10,555 vibes in the dataset. Left: Overlaid histograms of individual candidate scores (muted) vs.the selected best (green), showing the selected distribution shifted right. Right: Best-of-N selection curve with diminishing returns: N = 1 (0.154) to N = 5 (0.197, +28% cumulative).
Figure 6: Config generation latency histograms by controller. Gemma 3 270M models (Base and SFT, on H100 GPU) cluster around 56 s with a long tail for SFT. Claude Opus 4.5 clusters tightly at 11.9 s. Gemini 3 Flash Preview at 5.7 s. Embedding Lookup at 0.2 s median.
Figure 7: Audio synthesis latency histograms (CPU procedural synthesizer, 30 s renders). Synthesis time is configuration-dependent: richer configurations from Embedding Lookup (0.83 s) and Gemini (0.75 s) render slower than simpler ones from Base untrained (0.33 s) and Random (0.46 s).

References: Reimers & Gurevych (2019), “Sentence-BERT,” EMNLP. LAION-CLAP: Wu et al.(2023), ICASSP. Common Pile: Kandpal et al.(2025). Gemma 3: Google (2025). Outlines: Willard & Louf (2023). Full references appear in the bibliography above.

References↩︎

[1]
Jade Copet, Felix Kreuk, Itai Gat, Tal Remez, David Kant, Gabriel Synnaeve, Yossi Adi, and Alexandre Défossez.2023. . In Advances in Neural Information Processing Systems 36. ://doi.org/10.48550/arXiv.2306.05284.
[2]
Andrea Agostinelli, Timo I. Denk, Zalán Borsos, Jesse Engel, Mauro Verzetti, Antoine Caillon, Qingqing Huang, Aren Jansen, Adam Roberts, Marco Tagliasacchi, Matt Sharifi, Neil Zeghidour, and Christian Frank.2023. . arXiv preprint arXiv:2301.11325(2023). ://doi.org/10.48550/arXiv.2301.11325.
[3]
Zach Evans, CJ Carr, Josiah Taylor, Scott H. Hawley, and Jordi Pons.2024. . In Proceedings of the 41st International Conference on Machine Learning(Proceedings of Machine Learning Research, Vol. 235). PMLR, 12652–12665. ://doi.org/10.48550/arXiv.2402.04825.
[4]
Manuel Cherep, Nikhil Singh, and Jessica Shand.2024. . In Proceedings of the 41st International Conference on Machine Learning(Proceedings of Machine Learning Research, Vol. 235). PMLR, 8270–8285. ://doi.org/10.48550/arXiv.2406.00294.
[5]
Misagh Azimi Mo H. Zareei.2025. . In Proceedings of the International Conference on New Interfaces for Musical Expression. Canberra, Australia, Article 54, 389–393 pages. ://doi.org/10.5281/zenodo.15698902.
[6]
Andy Hunt Ross Kirk.2000. . In Trends in Gestural Control of Music, Marcelo M. Wanderley Marc Battier(Eds.). IRCAM – Centre Pompidou, Paris, France. ://www-media.idmil.org/media/Trends_Ircam/DOS/P.HunKir.pdf.
[7]
Thor Magnusson.2019. Sonic Writing: Technologies of Material, Symbolic, and Signal Inscriptions. Bloomsbury Academic. ://doi.org/10.5040/9781501313899.
[8]
Victor Shepardson, Jonathan Reus, and Thor Magnusson.2024. . In Proceedings of the International Conference on New Interfaces for Musical Expression. Utrecht, Netherlands, Article 78, 536–540 pages. ://doi.org/10.5281/zenodo.13904943.
[9]
Stephen Brade, Bryan Wang, Mauricio Sousa, Gregory Lee Newsome, Sageev Oore, and Tovi Grossman.2024. . In Proceedings of the 29th International Conference on Intelligent User Interfaces. ://doi.org/10.1145/3640543.3645158.
[10]
Nicola Privato, Victor Shepardson, Giacomo Lepri, and Thor Magnusson.2024. . In Proceedings of the International Conference on New Interfaces for Musical Expression. Utrecht, Netherlands, Article 62, 424–431 pages. ://doi.org/10.5281/zenodo.13904899.
[11]
Tim Murray-Browne Panagiotis Tigas.2021. . In Proceedings of the International Conference on New Interfaces for Musical Expression. Shanghai, China, Article 66. ://doi.org/10.21428/92fbeb44.9d4bcd4b.
[12]
Yikai Li Ge Wang.2024. . In Proceedings of the International Conference on New Interfaces for Musical Expression. Utrecht, Netherlands, Article 81, 553–559 pages. ://doi.org/10.5281/zenodo.13904949.
[13]
Nicholas Shaheed Ge Wang.2025. . In Proceedings of the International Conference on New Interfaces for Musical Expression. Canberra, Australia, Article 90, 610–617 pages. ://doi.org/10.5281/zenodo.15698984.
[14]
Nikhil Kandpal, Brian Lester, Colin Raffel, Sebastian Majstorovic, Stella Biderman, Baber Abbasi, Luca Soldaini, Enrico Shippole, A. Feder Cooper, Aviya Skowron, John Kirchenbauer, Shayne Longpre, Lintang Sutawika, Alon Albalak, Zhenlin Xu, Guilherme Penedo, Loubna Ben Allal, Elie Bakouch, John David Pressman, Honglu Fan, Dashiell Stander, Guangyu Song, Aaron Gokaslan, Tom Goldstein, Brian R. Bartoldson, Bhavya Kailkhura, and Tyler Murray.2025. . arXiv preprint arXiv:2506.05209(2025). ://doi.org/10.48550/arXiv.2506.05209.
[15]
Yusong Wu, Ke Chen, Tianyu Zhang, Yuchen Hui, Taylor Berg-Kirkpatrick, and Shlomo Dubnov.2023. . In ICASSP 2023 – 2023 IEEE International Conference on Acoustics, Speech and Signal Processing. 1–5. ://doi.org/10.1109/ICASSP49357.2023.10095969.
[16]
Nils Reimers Iryna Gurevych.2019. . In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Association for Computational Linguistics, Hong Kong, China, 3982–3992. ://doi.org/10.18653/v1/D19-1410.
[17]
Isaac Clarke, Francesco Ardan Dal Rí, and Raul Masu.2025. . In Proceedings of the International Conference on New Interfaces for Musical Expression. Canberra, Australia, Article 32, 224–230 pages. ://doi.org/10.5281/zenodo.15735662.

  1. SDK and demo: https://github.com/prabal-rje/latentscore, https://latentscore.com. Supplementary materials: https://zenodo.org/records/19944277.↩︎