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.
passtermine le script sans modifications supplémentaires.mutecoupe tous les événements.
Exemple :
keep note
transpose +12
vel clamp 10..120
passSé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..B3Sé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>, ouch all - Plage de notes :
note C3..G4ounote 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 +12Opé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..120Modes de transposition :
wrap(bouclage) conserve les notes dans la plage en les enveloppantclamp(écrêtage) limite à 0..127dropignore les notes sortant de la plage
Mappages
note C4 -> note D4
note map {
C4 -> D4
E4 -> F4
}
cc 1 -> cc 74
ch 2 -> ch 1Contrôle
pass
muteExemples
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
passkeep note, ch 10
vel clamp 25..100
note D2 -> note C#2
passPads ambiant
keep note, ch 2
octave +1 wrap
vel clamp 40..100
passkeep note, ch 2
transpose -3 wrap
vel scale 35..110
passGlue utilitaire
drop clock, start, stop, continue, realtime
cc 1 -> cc 74
passCLI
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.nsSimulateur
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.
