Skip to content

Guide Neuroscript

Neuroscript est un DSL compact orienté ligne pour des transformations MIDI rapides. Chaque ligne est une étape dans un pipeline linéaire. Le script est appliqué du haut vers le bas ; chaque étape reçoit les événements sortis par l’étape précédente.

Bases

  • Une déclaration par ligne.
  • Les lignes sont évaluées dans l’ordre.
  • pass termine le script sans modifications supplémentaires.
  • mute coupe tous les événements.

Exemple :

keep note
transpose +12
vel clamp 10..120
pass

Sélecteurs (Filtres)

Les sélecteurs décrivent quels événements un keep ou un drop cible. Vous pouvez combiner des sélecteurs avec des virgules.

keep note, ch 1
drop cc
keep note C2..B3

Sélecteurs pris en charge :

  • Types d’événements : note, cc, pc, bend, aftertouch, clock, start, stop, continue, realtime, all
  • Canal : ch <n>, ch <a>..<b>, ou ch all
  • Plage de notes : note C3..G4 ou note 60..72
  • Plage de CC : cc 1..64

Conditions (where / when)

Utilisez where pour ajouter une condition à un keep ou un drop :

keep note where vel >= 80
drop cc where cc in [1, 7, 10]

Utilisez when pour appliquer une action conditionnellement :

when note in C3..C4: transpose +12

Opérateurs :

  • Comparateurs : =, !=, <, <=, >, >=
  • Booléens : and, or, not
  • Listes : in [a, b, c]

Champs :

  • type, ch, note, vel, cc, value, prog, bend

Transformations

transpose +7 wrap
octave -1 clamp
vel scale 30..110
vel fixed 80
vel clamp 20..120

Modes de transposition :

  • wrap (bouclage) conserve les notes dans la plage en les enveloppant
  • clamp (écrêtage) limite à 0..127
  • drop ignore les notes sortant de la plage

Mappages

note C4 -> note D4
note map {
  C4 -> D4
  E4 -> F4
}
cc 1 -> cc 74
ch 2 -> ch 1

Contrôle

pass
mute

Exemples

Ces exemples se trouvent dans scripts/Neuroscript/examples/.

Batteries lo-fi

keep note, ch 10
vel clamp 35..95
when vel > 95: vel fixed 85
pass
keep note, ch 10
vel clamp 25..100
note D2 -> note C#2
pass

Pads ambiant

keep note, ch 2
octave +1 wrap
vel clamp 40..100
pass
keep note, ch 2
transpose -3 wrap
vel scale 35..110
pass

Glue utilitaire

drop clock, start, stop, continue, realtime
cc 1 -> cc 74
pass

CLI

Vous pouvez analyser des scripts via la ligne de commande :

swift run neuroscript parse scripts/Neuroscript/examples/09_lofi_drums_soften.ns
swift run neuroscript tokens scripts/Neuroscript/examples/09_lofi_drums_soften.ns

Simulateur

Un simulateur léger et statique se trouve à docs/neuroscript-simulator.html. Il vous permet de tester des scripts à événement unique dans le navigateur et de voir rapidement les résultats.

Créé avec ❤️ pour les musiciens