
Cette application est une expérience visant à ajouter quelques fonctionnalités qui manquent dans ma workstation favorite (DAW, digital audio workstation) :
- modifier les vélocités en suivant un contrôleur MIDI. Toutes les DAW comportent des fonctions d'édition avancées pour les vélocités, mais pas aussi directes qu'un geste musical exécuté en “live” sur une molette de modulation ou une pédale ;
- (version 2) l'inverse, autrement dit générer un contrôle MIDI à partir de la vélocité, utile avec les instruments qui ignorent la vélocité et ne reconnaissent qu'un contrôle pour les nuances.
Modifier les vélocités sur une piste MIDI a un effet totalement différent d'un simple mixage plus ou moins fort : la vélocité affecte le son proprement dit, généré depuis la note MIDI. Par exemple, la plupart des kits de batterie comportent plusieurs échantillons (samples) pour chaque note et sélectionnent le sample en fonction de la vélocité. De ce fait, augmenter ou diminuer la vélocité à des moments clés dans la musique donne un résultat beaucoup plus musical qu'un simple changement de volume.
Cela fonctionne évidemment très bien sur un piano aussi ! Tout instrument, qu'il soit virtuel ou physique, piloté depuis une piste MIDI dans la DAW, peut bénéficier d'une “touche musicale” sur les vélocités.
(Version 2) Dans l'autre sens, lorsqu'un instrument n'utilise pas la vélocité mais accepte de nuancer à partir d'un Control Change MIDI, cet utilitaire part de la vélocité pour générer le Control Change, permettant de “jouer” la nuance de façon plus naturelle. Voir à la fin de cette page pour les détails de ce nouveau mode.
Téléchargements
Nécessite MacOS X 10.12 ou plus. Fonctionne parfaitement sous Sequoia (MacOS 15).
- Télécharger l'application : Velociraptor 2.0
- Voici un projet exemple avec une batterie pour Digital Performer (v. 7 ou plus).
Note : Velociraptor peut être utilisé avec d'autres DAW, mais ceci n'a pas été testé, et une DAW peut offrir une solution pour obtenir un résultat similaire. Par exemple, avec Logic Pro, il est possible d'assigner un contrôle MIDI à la valeur “Ratio” dans le Processeur de vélocité, puis enregistrer et éditer avec l'automation les mouvements MIDI. Néanmoins Velociraptor fonctionnera aussi avec Logic et les autres DAW, même si le projet est né sur Digital Performer.
IAC Driver
Inter-Application Driver permet aux applications MIDI de communiquer via MacOS. Il n'est pas activé par défaut. Avant d'utiliser l'application, assurez-vous que l'IAC Driver est actif sur votre Mac. Ouvrez Configuration Audio et MIDI (dans le dossier /Applications/Utilitaires/), affichez la fenêtre du studio MIDI et faites un double-clic sur l'icône IAC Driver. Activez-le en cochant la case “Le périphérique est connecté”.
Routing pour le mode “Control Change to Velocity”
L'image suivante devrait clarifier l'opération :

Entrée des notes
Au lieu d'envoyer la piste MIDI originale vers son instrument, réglez sa sortie sur IAC Driver, pour l'envoyer à Velociraptor. Utilisez un canal MIDI dédié, et assurez-vous que le même canal est sélectionné dans Velociraptor avec le menu Listen for notes on MIDI channel. La réception des données MIDI active l'indicateur horizontal en haut, affichant brièvement la vélocité des notes reçues. Les vélocités inférieures à 64 sont vertes, moyennes en jaune, 100 et plus en rouge.

ContrĂ´le
La section suivante de la fenêtre est le réglage du contrôle. Sélectionnez le canal MIDI à écouter pour le contrôle (il peut être le même que celui des notes). Utilisez les cases à cocher pour activer ou désactiver la molette de pitch et la modulation. Notez que n'importe quel Control Change MIDI peut être utilisé à la place de la molette de modulation, ce qui permet d'employer d'autres contrôleurs comme une pédale, un breath-controller, un fader, un raton-laveur 🦝 ou ce qu'il vous plaira. (La pédale de sustain (CC 64) est ignorée, elle est simplement passée en “thru”.)

L'indicateur horizontal montre la dernière valeur de contrôle reçue. La molette de pitch n'est utilisée que sur une résolution de 7 bits (MSB), puisque la vélocité ne permet pas une résolution plus précise, le LSB est ignoré.
Les boutons-radios proposent deux modes :
- Mode offset : les vélocités sont augmentées ou diminuées selon la valeur du contrôle, centré sur la valeur 64 (le centre pour le pitch, la position médiane pour la modulation). Ce mode préserve les variations de vélocité entre les notes de la piste originale, en augmentant ou diminuant les vélocités.
- Mode fixe : les vélocités sont toutes mises à la valeur du contrôle. Ce mode “aplatit” toutes les vélocités et ne conserve pas les valeurs originales.
Sortie MIDI et “piste de retour”
Sélectionnez un canal MIDI pour renvoyer les notes avec les vélocités modifiées (ce canal ne peut pas être le même que celui de l'entrée des notes). L'indicateur affiche brièvement la vélocité de la dernière note jouée, modifiée en fonction du contrôle.

Dans la DAW, créez une piste MIDI avec le même instrument que l'originale. Utilisez IAC Driver pour son entrée MIDI, en sélectionnant le même canal que dans Velociraptor pour Re-send notes on MIDI channel. Assurez-vous de n'écouter que cette “piste de retour” et non l'originale (comment obtenir cela dépend de la DAW, voir l'exemple ci-dessous).
Vous pouvez maintenant jouer la piste originale, utiliser un contrôleur MIDI pour modifier les vélocités à la volée en écoutant la musique, et enregistrer la “piste de retour”.
Vous pouvez également cocher l'option Also re-send received pitch/mod/control pour enregistrer vos mouvements de contrôleur, en utilisant le même canal MIDI que la sortie des notes pour enregistrer le contrôleur sur la même “piste de retour”, ou choisir un autre canal MIDI pour l'enregistrer séparément, ce qui est recommandé pour plus de flexibilité.
Vous pouvez aussi utiliser le contrôle renvoyé depuis la piste MIDI de la DAW comme source de contrôle. De ce fait, si vous enregistrez vos mouvements de contrôleur, vous pouvez les éditer avec les outils habituels de la DAW, puis les rejouer vers Velociraptor pour réenregistrer les vélocités modifiées.
Routing pour le mode “Velocity to Control Change”
Ce mode, introduit avec la version 2 de Velociraptor, est encore plus simple à mettre en œuvre. Il n'est pas nécessaire d'envoyer le Control Change vers une piste séparée ou un autre canal. Si la DAW reçoit les données simultanément sur tous les ports MIDI, elle recevra en même temps les notes jouées sur le clavier et les messages Control Change arrivant via IAC depuis Velociraptor, et l'ensemble peut être enregistré sur la même piste.
En modifiant le canal MIDI du contrôle généré, il est possible de l'enregistrer séparément des notes. Le numéro de Control Change est sélectionnable dans un menu qui offre les contrôles les plus courants.
Mini/maxi — Ce mode permet de limiter le minimum et le maximum des valeurs de contrôle pour s'adapter à tous les instruments, certains devenant extrêmement faibles lorsque le contrôle tend vers zéro.
Lissage — Il est possible d'introduire un lissage (“Smoothing”) des valeurs de CC. Lorsque le lissage est désactivé sur “None”, la valeur de vélocité est directement renvoyée sous forme de Control Change, ce qui peut provoquer des sauts de la valeur du CC, difficiles à contrôler musicalement. Avec le lissage, l'utilitaire applique une moyenne des dernières vélocités reçues, des 5 aux 20 dernières notes selon la position du curseur.
Un lissage minimal suffit en général pour un jeu mélodique, à “Some” pour un jeu avec quelques accords, à “Max” si les accords comportent beaucoup de notes.
Ordre des messages — Comme le Control Change est généré après la réception de la note, il est nécessairement enregistré par la DAW après la note. Ceci peut avoir pour effet un saut de volume (ou autre, selon l'instrument utilisé). Le lissage suffit en général à éviter les sauts, mais si besoin, il reste possible d'intervenir après coup sur la piste et d'avancer légèrement tous les CC pour qu'ils soient joués avant les notes. La façon de faire dépend bien sûr de la DAW.
Latence
Utiliser IAC induit inévitablement un peu de latence. Heureusement elle est facile à compenser :
- Choisissez une note MIDI dans la piste originale qui est placée pile sur un début de mesure.
- Cherchez cette même note MIDI dans la “piste de retour”.
- Examinez la position de cette note. Par exemple, si la note originale est à la mesure 1, beat 1, step 0, et que la même note est revenue à la mesure 1, beat 1, step 8, cela signifie que la latence a décalé l'ensemble de la “piste de retour” de 8 steps.
- Connaissant la latence exacte, utilisez la commande appropriée dans la DAW pour recaler les notes dans leur position originale et la faire disparaître.
Changements
2.0 : ajout du mode “Velocity to Control Change”.
1.2 : amélioration du buffer d'entrée MIDI.
1.1 : Velociraptor est maintenant “universel”, l'application s'exécute nativement tant sur un Mac M1 (“Apple silicon”) que sur un Mac Intel.
1.0.1 : correction d'un bug qui bloquait la réception de la pédale de sustain sur la piste de retour. (Merci Wally!)
Enjoy!