QuNeo et Supercollider – Patch Arpeggio

A Supercollider patch to switch the QuNeo from a regular controller to an arpeggio with a press on the rhombus button. In both modes, the fader and buttons below the pads serves as Scale, Root Note and Octave switchers. In Arpeggio mode, the Rotaries and the first vertical slider are for Time Division, Direction and Step Value.

The SynthDef can be changed as simply as updating the ~quneoSynth variable with the Synth key. The SynthDef must use an enveloppe working with a release message. In this example, the SynthDef sends CV values to a Eurorack Modular, recorded with reverb through Ardour.

Working on Linux, not tested on other OS.

The patch and QuNeo preset can be downloaded here.

 

QuNeo et Supercollider – Patch Arpeggio

BeagleBone & Bela – Partage de la connexion Internet par USB

Il est plus pratique, afin de récupérer des mises à jour ou compiler Supercollider, de connecter votre BeagleBone et Bela à Internet. Vous pouvez le faire directement en branchant votre carte en Ethernet, ou en partageant la connexion de votre ordinateur avec le Bela branché en USB.

Il vous faut d’abord récupérer les périphériques réseau grâce à cette commande.

ip addr show

Qui va vous renvoyer quelque chose comme ça:

belaIP

Dans mon cas, wlp5s0 est l’interface connectée à Internet, et enp0s20u1 le BeagleBone. Qui est actuellement down. Une commande qui permet de connecter et up l’interface est à notre disposition pour gérer ça:

# enp0s20u1 est à remplacer par l'identifiant de votre Bela
dhclient enp0s20u1

Notre BB est maintenant up, et vous pouvez y accéder soit par SSH, soit au travers de votre navigateur à l’adresse http://192.168.7.2/

belaIP2

Depuis votre ordinateur connecté à Internet, activez ces règles iptables, root nécessaire:

iptables --table nat --append POSTROUTING --out-interface wlp5s0 -j MASQUERADE
iptables --append FORWARD --in-interface enp0s20u1 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
#Attention à modifier le nom des périphériques si besoin
sysctl net.ipv4.ip_forward=1

Puis connectez-vous en SSH à votre Bela, et paramétrez le gateway:

ssh root@192.168.7.2
route add default gw 192.168.7.1
# Vous pouvez tester en tenant un ping vers Google
ping www.google.fr
# Si ca ne fonctionne pas, ajoutez cette commande
echo "nameserver 8.8.8.8" > /etc/resolv.conf

Et voilà, votre BB est connecté! Parfait pour faire des mises à jour, ou compiler Supercollider en suivant cette procédure spécifique.

Un script récapitulatif, à lancer en root, est à télécharger ici, ou à récupérer après le saut!

Continuer la lecture de « BeagleBone & Bela – Partage de la connexion Internet par USB »

BeagleBone & Bela – Partage de la connexion Internet par USB

Bela – Interface Audio Basse Latence pour Beaglebone Black

Un post pour vous parler de mon nouveau joujou, un BeagleBone Black équipé de son Bela, une interface audio ultra basse latence développé par le Centre pour la Musique Numérique de Londres. Pour rappel, le Kickstarter du projet.

belaHome

Cette « cape » nous offre un couple entrée/sortie audio ligne et une sortie stéréo vers haut-parleurs, 8 entrées et sorties analogiques et 16 entrée/sorties numériques, le tout offrant une taille de buffer ultra-basse, et une latence tout aussi insignifiante de l’ordre de 1 à 2 millisecondes au total!

Bela Latency
Comparatif des latences moyennes

Les entrées/sorties étant échantillonnées à la même fréquence  – avec certaines restrictions – que votre projet, on imagine aisément les avantages que peut avoir le Bela sur d’autres solutions, dédiées ou pas aux projets sonores.

Pour développer vos projets, plusieurs moyens sont mis à votre disposition. Vous pouvez directement coder en C++ grâce à une interface web dédiée, pleinement fonctionnelle et agréable à utiliser. Toutes les fonctions propres au Bela y sont documentées, et les paramètres de la cape sont modifiables directement grâce à différents onglets.

Bela IDE
Interface accessible depuis votre navigateur, une fois le BeagleBone connecté en USB. A droite, les paramètres audio et d’entrées/sorties, et les onglets de documentation.

Vous pouvez également uploader des patch Pure Data, qui accéderont aux différentes connections grâce à de simples objets dac~ et adc~. Plus d’informations sur le git du projet.

Bela PD
Échantillonnage des entrées depuis Pure Data

Il est également possible de compiler des projets Faust, et même de faire tourner un serveur Supercollider modifié pour utiliser l’API audio du Bela. Solution préférée par votre serviteur, et bientôt testée en français dans ces pages avec quelques exemples.

Compilation terminée!
Compilation terminée!

Pour conclure, une solution extrêmement bien pensée et documentée, performante, ouverte, une communauté active et enthousiaste, des projets d’extension de la carte – multiplexer entre autre – tous les ingrédients réunis pour faire de ce Bela la base de vos expérimentations et projets sonores et pourquoi pas de votre apprentissage du code orienté synthèse !

Quelques liens:

Le site

Le wiki

Le forum

Le twitter du projet

bela2

Bela – Interface Audio Basse Latence pour Beaglebone Black

Protoyper avec Jack en C

Pour les deux du fond qui se demandent comment utiliser Jack dans un projet pure C, je partage ici trois tous petits fichiers. Ils me permettent d’avoir une base pour prototyper des effets, et ont été écrits quand je tentais de comprendre comment utiliser les librairies Jack. Donc rien d’éblouissant, juste de quoi faire le boulot.

Tout l’intérêt dans la fonction process. Dans le fichier fourni, un simple délai avec feedback. Une démo pour la forme:

 

Les fichiers sont disponibles ici, avec un Makefile!

Protoyper avec Jack en C

ES3 et VST pour Linux

Le plug-in décrit dans cet article est maintenant disponible en VST pour Linux. Parfait pour Renoise 😉

2016-05-10-155632_346x172_scrot

Il faut toujours trouver manuellement le bon accordage depuis E5, rien de bien méchant.

A récupérer ici !

EDIT

Ne fonctionne pas si le Master a son filtre DC enclenché, et il est nécessaire de doubler le volume du plugin – donc +6dB que vous pouvez enclencher directement dans l’onglet Plugin.

ES3 et VST pour Linux

Quarks – Rythme Euclidien et Bande Critique

Mes deux premiers Quarks pour Supercollider sont disponibles!

HELLOGEEKS

Le premier renvoie un tableau d’un rythme euclidien définit par sa longueur, le nombre de 1 souhaité et un offset de rotation. Le lien <

Le second renvoie la fréquence maximum de la bande critique autour de la fréquence donnée (voir mon précédent article). Le lien <

Il va me falloir un Git.

Quarks – Rythme Euclidien et Bande Critique

Plugin LV2 pour modules Expert Sleepers

Quand on choisi Linux comme OS, on a l’impression d’être systématiquement oubliés des développeurs. C’est bien dommage, surtout dans le monde de la musique et à une époque où même le hardware commence à être « open-source » !

Qu’à cela ne tienne, chaque problème se voyait solutionner par un peu d’astuce et le recours à des softs et/ou librairies adaptés. Aujourd’hui, comment séquencer son modulaire dans un DAW classique avec le module Expert Sleepers ES-6.

L’idée, avoir un plugin qui envoie d’un coté un signal CV continu pour le pitch,  de l’autre une enveloppe, que je puisse utiliser dans Ardour ou qtractor. Je ne sais pas vous, mais pour bidouiller SuperCollider et pd restent au top, mais pour organiser un morceau je suis beaucoup plus à l’aise dans un séquenceur « classique ». Donc un coup de Faust,  et ça nous donne un plugin LV2 tout beau tout chaud!

Un seul piège, la division par octave n’est pas la même selon la sortie… Ne me demandez pas pourquoi, c’est comme ça. Il faut donc calibrer à la main le rapport à l’octave pour que les notes tombent justes. Rien de bien foufou, il suffit de jouer un E4, accorder votre oscillateur sur E4~330Hz, jouer un E5, ajuster le slider Octave Div. jusqu’à ce que le E5 tombe juste, et voila. Peut-être rejouer un E4 de temps en temps histoire de. Il vous suffit de sauvegarder le preset, qui correspond à l’oscillateur cible couplé à la sortie de l’ES-3 utilisée. Ce process pourrait être automatisé, et donc rendre le plugin indépendant de l’oscillo et de la sortie et plus conforme à sa version commerciale, peut être pour plus tard.

Une fois ça fait, vous êtes parés ! Attention de ne pas envoyer les sorties de la piste avec le plugin vers votre master ou vos enceintes! Je vous conseille de créer votre piste, faire les branchements,  et enfin insérer le plugin. Un gif pour l’exemple, l’accordeur montre la note jouée par un Eowave Titan contrôlé par Ardour, le plugin envoyant l’enveloppe dans un VCA et le pitch dans le 1V/Oct de l’oscillateur.

output

Plugin LV2 pour modules Expert Sleepers

QuNeo et Supercollider

Ancien Pure-Dateur, je suis récemment passé à Super Collider, pour la lisibilité et l’ergonomie (patcher au trackpad…). Je n’utilise jamais le MIDI, mon modulaire étant connecté en ADAT je m’arrange pour tout traiter en audio; V/Oct, Clock, Gate, tout est injecté dans le modulaire au travers de ces deux merveilleux modules.

Mais après avoir lu la doc sur le MIDI dans SC, il semblait intéressant d’avoir une petite surface de contrôle pour tester des synthés, moduler en direct certains paramètres. J’ai donc écrit un petit bout de code, avec un preset pour le QuNeo, afin d’avoir les modes affichés sur les pads, et la possibilité de changer de synthé à la volée. Ci-dessous la disposition sur l’engin, et le code dans la suite. Pour le preset, c’est ici !

Mode Ionien
Mode Ionien

Continuer la lecture de « QuNeo et Supercollider »

QuNeo et Supercollider