sebastien-dupire.info

Dev, gribouillages et bidouilleries ...

dim. 25 mai 2025

ORCA to Cardinal

Posted by Sébastien Dupire in Développement   

Il n'y a pas longtemps, j'ai découvert un soft pour la MAO que j'ai trouvé vachement sympa. Il s'agit de Orca, un séquenceur modulaire qui se manipule avec des caractères alphanumériques.

L'interface chelou de Orca

Il est assez perturbant par sa syntaxe mais il permet notamment de s'interfacer

  • avec du MIDI
  • avec de l'OSC
  • avec un petit synthé via UDP de la même équipe, nommé Pilot

Je vous recommande chaudement la présentation de MakingSound.fr qui démontre bien les possibilités de ce couple Orca - Pilot.

La connectivité m'intéressait grandement, et tout naturellement, je me suis demandé si on pouvait piloter une instance de Cardinal, le synthé modulaire équivalent de VCV Rack en open source. Si vous ne connaissez pas, tentez la version Live directement sur le site. Il vaut vraiment le coup de s'y intéresser.

Un patch sous Cardinal

...Et bien, la réponse est oui, via le protocole OSC.

Et si on connectait tout ca ?

Le soucis du protocole Open Sound Control, est qu'il tellement ouvert qu'il faut savoir où aller, savoir s'il faut faire de l'UDP ou du TCP ... ou autre chose. Car contrairement au MIDI, ce protocole n'impose rien en terme de contenu ou de transport des données. Uniquement le format des messages est normé. Alors, il y a une page dédiée mais ce n'est pas évident à suivre surtout quand on débute avec Cardinal.

Néanmoins, j'ai vu via l'adresse /host-params suivi d'un numéro de port et de sa valeur entre 0 et 10 (commande CV classique) qu'on pouvait agir sur les sorties CV du module Host Param. Du coup, il suffit d'interprêter des commandes OSC issues de Orca, pour les transformer en instructions compréhensives pour Cardinal.

Pour cela, j'ai fait le projet suivant : orca2cardinal

image

En gros, c'est un simple proxy OSC pour établir le lien entre Orca et Cardinal. En prime, je lui ai ajouté un serveur Websocket afin de permettre de remonter les instructions à une page Web en parallèle. Comme ca, si l'envie me prend de faire des visuels Javascript animés selon les instructions, bahhh, je pourrais via les Websockets en écoutant les events.

Tout est détaillé dans le repository du projet. Si vous avez des questions, n'hésitez pas à me contacter (Mastodon ou email)

Autres références


Vous voulez partager cet article ? Rien de plus facile !
Le copier-coller est votre ami. Il suffit pour cela de copier l'URL de votre browser et de le coller dans votre réseau social préféré.
Vous ne vouliez quand même pas un bouton pour faire une tâche aussi simple, non ?