Utilisation de Ctrlr pour créer un contrôleur de synthé est un tutoriel sur l’utilisation de Ctrlr pour réaliser un panneau de contrôle pour un synthétiseur matériel.
Le but ici est de faire découvrir le très puissant mais peu documenté Ctrlr au travers de la réalisation d’un panneau de contrôle pour le synthétiseur matériel Meeblip Triode. Le Triode peut être remplacé par n’importe quel autre synthé du marché. Il ne sert ici que de support à ce didacticiel.
Pour info, le Triode est un petit synthétiseur de type basse avec oscillateur numérique et table d’onde ainsi qu’un filtre résonnant analogique. Matériel et logiciel entièrement libre. Bien que vendu, au départ, comme synthé tout monté dans un boîtier rouge, vous avez la possibilité de le fabriquer vous-même. Tous les schémas, diagrammes et code source sont disponibles librement.
La version utilisée de Ctrlr pour l’écriture de ce tutoriel est la : 5.4.16 .
Voici à quoi ce panneau va ressembler :
Après une première lecture, vous pourrez facilement créer vos panneaux pour d’autres synthétiseurs ou appareils MIDI. Le Triode ne sert que d’exemple.
Vous aurez ainsi les bases du logiciel Ctrlr et pourrez facilement aller plus loin dans son apprentissage.
Pour lancer Ctrlr, vous devez vous placer dans le dossier où vous l’avez installé. Soit depuis votre gestionnaire de fichier, avec un double clic sur le fichier Ctrlr-i686 ou Ctrlr-X86_64 suivant votre architecture.
Depuis un terminal :
La fenêtre par défaut de Ctrlr va s’ouvrir :
L’interface se décompose en trois parties :
Le panneau peut être redimensionné au pixel près. Placez votre pointeur sur un des bords du panneau et effectuez un glissé-déposé pour agrandir / réduire.
Pour communiquer avec un synthétiseur ou n’importe quel autre appareil MIDI, nous devons définir le port MIDI ainsi que le canal.
Allez dans Menu -> MIDI -> Settings. La fenêtre suivante va s’ouvrir :
Dans le cas du Triode, il n’y a qu’à configurer le port et le canal de sortie. Dans d’autres cas, vous pouvez régler le port et canal d’entrée, le port et canal du contrôleur (Ctrlr peut être utilisé avec une surface de contrôle par exemple).
Pour le port de sortie, clic sur le menu déroulant sous Output device et choisissez votre interface MIDI dans la liste.
Idem pour le canal associé mais cette fois dans la colonne MIDI Channel.
Si vous suivez ce tuto sans aucun appareil, vous pouvez passer cette étape bien qu’elle puisse être utile pour vérifier le bon fonctionnement de votre panneau avec le moniteur MIDI intégré à Ctrlr.
En suivant les éléments encadrés en rouge dans la capture d’écran ci-dessous, nous allons nommer notre panneau, indiquer notre nom ou pseudo, notre adresse de courriel ainsi que l’URL de notre site web si nous en avons un. Ensuite nous allons lui donner un numéro de version et un nom de version (pas obligatoire). Pour finir, nous allons indiquer le nom et l’éditeur / constructeur du logiciel ou appareil piloté par ce panneau.
Pour le moment, j’ai mis 0 dans Version MAJOR et 1 dans Version MINOR ce qui correspond à 0.1. Nous augmenterons ces numéros progressivement au fur et à mesure pour arriver à la version fatidique 1.0 à la fin de ce tuto.
Il est maintenant grand temps d’enregistrer notre premier panneau. Allez dans le menu File puis Save as, choisissez l’emplacement. Vous verrez que par défaut, Ctrlr créé un nom pour vous. Dans mon cas c’est "Triode Panel_0_1_LinuxMAO_2018-09-30_12-24.panel". À l’avenir vous pourrez, soit sauvegarder avec Save ou avec Save versioned qui permet d’incrémenter le numéro Version MINOR ainsi que le nom du fichier. Pratique !
Pour aller plus loin, il nous faut définir quels seront les paramètres que nous souhaitons contrôler depuis le panneau.
Pour cela, vous aurez besoin de la notice de votre synthé. Les assignations MIDI CC sont souvent différentes d’un fabricant à l’autre.
Dans le cas du triode, voici la liste des MIDI CC :
Les MIDI CC compris entre 48 et 60 ont des valeurs comprises entre 0 et 127. Les MIDI CC compris entre 61 et 70 sont des interrupteurs. Les valeurs comprises entre 0 et 63 correspondent à Désactivé ou à la première valeur (osc pour LFO Destination par exemple) et 64 à 127 correspondent à Activé ou à la seconde valeur (filter pour LFO Destination).
Regardons à quoi ressemble notre synthé. L’image ci-dessous va nous servir de base pour positionner nos divers boutons. Si votre synthé est différent, basez-vous dessus.
En haut à droite, nous avons le potentiomètre de volume et la DEL de mise sous tension. Ils ne sont pas contrôlables via des CC, laissons-les de côté.
Ceux qui nous intéressent sont dans les trois rangées en dessous.
Dans la première, nous retrouvons la section Envelopes avec Amp Decay, Filter Decay et l’interrupteur Sustain. La section Filter avec Cutoff et Rez.
Dans la seconde rangée nous trouvons la section Oscillators avec Glide, Detune et le bouton Sub OSC. La section LFO avec Rate et Depth.
Pour finir, les deux boutons du bas Waveform et LFO Dest.
Nous allons calquer la position des boutons de notre panneau en fonction de leurs positions réelles.
Les CC 56, 57, 58, 59, 60, 69 et 70 ne se retrouvent pas sur le synthé. Ces paramètres ne sont accessibles qu’en MIDI. Mettons-les de côté pour l’instant.
Entrons dans le vif du sujet ! Commençons par mettre une couleur. Faites descendre l’ascenseur de la partie à droite de la fenêtre Ctrlr jusqu’à Editor comme sur la capture d’écran ci-dessous :
Choisissez la couleur de fond dans Background colour. Avec un clic simple, vous pouvez entrer des valeurs numériques. Avec un clic sur le bouton droit, vous ferez ouvrir un sélecteur de couleur bien pratique. Dans le cas du triode, j’ai mis "FFFF5050" mais vous pouvez mettre ce que vous voulez et même jouer sur la transparence.
Rien ne se passe ? Normal. Enfin j’ignore pourquoi mais ce paramètre n’a pas l'effet souhaité. Je le configure tout de même.
Ensuite, d’un simple clic-gauche sur la valeur de Background colour, vous allez la sélectionner. Taper Ctrl+c pour copier cette valeur. Refaites un simple clic-gauche sur la valeur juste en dessous Background colour 1 et tapez Ctrl+v pour copier la valeur de Background colour ici. Tapez entrée et cette fois, votre fond a changé. Mais c’est un dégradé vers le blanc !
Ctrlr est très puissant. Vous pouvez même faire de jolis dégradés avec. Il est aussi possible de mettre une image en fond ainsi que des images à la place des divers boutons afin de ressembler de manière très précise à l’appareil original.
Pour un fond uni, ouvrez le menu déroulant Background gradient type juste en dessous de background colour 1 et choisissez none. Enfin, nous y sommes ! Nous obtenons ainsi un joli fond de couleur.
Un conseil, sauvegardez maintenant. Je ne le répéterai plus mais n’hésitez pas à sauvegarder le plus souvent possible. Ce n’est pas spécifique à Ctrlr d’ailleurs.
Séparons maintenant notre panneau en quatre groupes. Envelopes, Filter, Oscillators et LFO.
La capture d’écran suivante vous donne une idée de l’organisation du panneau. L’exemple n’est qu’à titre indicatif et devra être adapté à votre synthé. Pour l’instant, ne cherchez pas à être trop précis, ce n’est qu’une ébauche.
Pour obtenir les étiquettes ENVELOPES, FILTER, OSCILATORS et LFO, nous allons utiliser les uiLabel.
Placez le pointeur de souris dans le panneau, clic-droit ouvre le menu contextuel. Allez dans Static puis clic sur uiLabel. Vous venez de créer une étiquette noire avec texte blanc.
Maintenant, il vous faut la mettre en place. Pour la déplacer, un simple glissé-déposé à l’emplacement souhaité. Pour plus de précision, vous pouvez utiliser les flèches de votre clavier.
Redimensionnez l’étiquette en plaçant le pointeur sur le contour puis faites un glissé-déposé à la taille souhaitée.
Passons aux noms. Sélectionnez votre étiquette si ce nest pas le cas. Dans la partie droite de la fenêtre, dans Modulator, mettez ENVELOPES dans la case Name. Cette partie est surtout là pour l’organisation de votre panneau et pour accéder à tous les éléments depuis le langage LUA. Pour le cacher sur le panneau, allez dans Component generic et décochez la case Name label visible. Et hop, le nom de l’étiquette disparaît.
Ensuite, rendez-vous dans Component et inscrivez ENVELOPES dans la case Label text.
Dernier point, mettons un peu de couleur. Dans Component, vous pouvez changer la couleur de fond Background colour et du texte Text colour. Choisissez, de préférence, des couleurs en harmonie avec votre synthé et surtout lisibles, bien contrastées.
Il ne vous reste plus qu’à copier votre première étiquette avec Ctrl+c et la coller avec Ctrl+v. Changez les noms comme ci-dessus. Faites en autant que nécessaire puis positionnez et redimensionnez-les, toujours de façon grossière pour l’instant.
Pour ce faire, et comme pour les uiLabel, clic-droit sur le panneau pour ouvrir le menu contextuel, allez dans Sliders puis clic sur uiSlider. Votre premier bouton est créé.
Exactement comme pour le uiLabel, vous pouvez le déplacer et le redimensionner.
Changez quelques paramètres dans la partie droite (dorénavant, je vais juste indiquer les noms des paramètres) :
Passons maintenant au plus important : contrôler notre synthé.
Toujours avec notre bouton sélectionné, dans la partie droite, section MIDI :
Choisissez CC dans MIDI message type.
Le canal MIDI dans MIDI Channel doit être celui que vous avez configuré au début de ce tuto. Mais vous pouvez contrôler plusieurs appareils avec un seul panneau. Chaque bouton peut envoyer / recevoir des informations sur un canal différent si besoin.
Dans MIDI controler number, indiquez le numéro de CC. Avec le triode, indiquons le numéro 55.
Bien, si vous avez respectés scrupuleusement les indications ci-dessus, le bouton doit contrôler le synthé.
Encore une petite étape avant d’essayer ce bouton. Changeons la couleur du bouton. Pour le triode, je mets :
La première chose à faire, est de sortir du mode d’édition pour passer au mode "panneau". Dans le menu Panel, choisissez Panel mode. Le raccourcis Ctrl+e est bien pratique à retenir.
Désormais, vous pouvez faire tourner votre bouton et changer la valeur indiquée juste en dessous.
Si vous avez un synthé avec écran, vous devriez vous la valeur changer dessus aussi.
Si vous n’avez pas de synthé, ou s’il n’a pas d’écran, Ctrlr offre un utilitaire bien pratique : un moniteur MIDI. Dans le menu Tools, clic sur MIDI Monitor. Une nouvelle fenêtre vient de s’ouvrir. Pour activer la fonction de monitoring, dans le menu de cette fenêtre, View, clic sur Monitor Output va activer le moniteur de sortie MIDI.
Faites bouger votre bouton et vous verrez des indications dans la partie rouge, en haut de la fenêtre du moniteur.
Par exemple :
Ce qui nous intéresse commence à Controller, dont Ch, No et Val. Si les valeurs ne correspondent pas à ce que votre bouton est censé faire, c’est que vous avez fait une erreur ou un oubli dans le chapitre précédent. Dans ce cas, prenez le temps de le relire.
Dans notre cas, nous agissons bien sur le canal 1, avec le CC numéro 55. La valeur étant comprise entre 0 et 127, tout va bien.
Vous êtes maintenant en mesure de copier ce bouton autant de fois que nécessaire et de l’adapter.
Ci-dessous, une image du Triode avec tous ces boutons :
Pour ne pas compliquer les choses dès le départ, nous avons laissé le texte au dessus des boutons. Sur notre triode, le texte est en dessous. Ctrlr permet de changer ça très facilement.
En mode Panel Edit, choisissez un bouton puis déplacez l’ascenseur de la partie de droite jusqu’à Component generic. Là, vous avez Name label position. Vous avez le choix entre none, top, bottom, left et right qui correspondent respectivement à aucun, haut, bas, gauche et droite. Dans le cas du triode, choisissez bottom.
Vous pouvez aussi choisir l’alignement du texte, sa taille et encore d’autres paramètres. Vous devriez commencer à être un peu plus autonome avec ce logiciel. Lâchez vous et essayez ! Vous voyez, au début Ctrlr paraît intimidant mais au final tout est assez clair.
Profitons-en pour changer les couleurs de la zone indiquant la valeur du paramètre, située au-dessous de nos boutons. Allez dans Component est cherchez Value text colour. Remplacez par la couleur de votre choix. J’ai choisi blanc pour le triode.
Changez aussi Value background colour, j’ai pris noir. Puis Value outline colour, transparent dans mon cas (00000000).
D’un clic-droit sur le panneau, en mode d’édition, sélectionnez Add component -> Buttons -> uiButton. Placez-le à la bonne place et redimensionnez-le si besoin. Dans le cas du triode, à droite de FILTER DECAY dans la section ENVELOPES.
Nommez-le dans Modulator -> Name. env-sustain pour le triode.
Dans MIDI message type, choisissez CC puis indiquez le numéro de CC correspondant, 64 pour le triode dans MIDI Controller number.
Pour rester cohérent avec l’ensemble de notre panneau, choisissez bottom dans Component generic -> Name label position, puis SUSTAIN dans Visible name. Vous pouvez aussi modifier la police dans Name label font si besoin.
Allez dans Component, puis faites les réglages suivants :
Nous venons de créer notre premier interrupteur.
Vous pouvez maintenant le copier pour SUB OSC de la section OSCILLATORS.
Puis pour finir, copiez-le pour le bouton LFO DEST de la section LFO. Mais cette fois, indiquez OSC=0 et FILTER=127 dans Button values afin de faire apparaître la fonction sur le bouton lui-même. Changez les couleurs de ce texte si besoin dans Button text colour (on) et Button text colour (off).
Il nous reste quelques boutons qui ne sont pas physiquement sur le synthé. Ils sont accessibles uniquement en MIDI.
Il y a 5 boutons de type potentiomètre. Vous pouvez simplement copier un bouton du même type existant et changer ses paramètres.
Pour des raisons d’espace, j’ai choisi un autre type de potentiomètre. Des linéaires au lieu des rotatifs. Pour ça, allez dans Component puis changez la valeur Slider style pour LinearHorizontal. Vous pouvez aussi essayer les autres types et choisir celui que vous préférez.
Il est temps d’ajouter les deux interrupteurs à deux positions. Mais ça, vous savez déjà le faire .
Cette étape est réservée aux plus téméraires n’ayant pas peur de LUA.
Ce bouton est spécifique au Triode. Il a trois positions mais 2 MIDI CC différents pour le contrôler. Habituellement, ce genre de bouton à trois positions ou plus ont un seul MIDI CC avec plusieurs valeurs (généralement 0, 1, 2, ...).
Ses trois positions sont:
Pour choisir Square, il faut envoyer un MIDI CC 66 (PWM Sweep) avec 0 (désactivé) en valeur et un MIDI CC 68 (sélecteur d’onde), là aussi avec 0 (square) en valeur.
Pour le PWM, il faut un MIDI CC 68 à 64 et un MIDI CC 66 à 127 (PWM sweep activé).
Enfin, pour le Saw, un MIDI CC 66 à 0 et un MIDI CC 68 à 127 (saw).
Créons le bouton. Choisissez cette fois uiCombo dans Buttons. Changez les couleurs et paramètres comme le nom, exactement comme pour les autres boutons.
C’est là où ça se complique un peu mais LUA nous vient en aide.
Pour créer un script LUA, il faut d’abord savoir à quel moment il doit intervenir. Ici, c’est lors de tous changements sur ce bouton. Dans Modulator -> Called when the modulator value change clic sur l’icône représentée par un rectangle et engrenage en haut à droite (Add new method dans les infobulles). L’éditeur de texte de Ctrlr va s’ouvrir avec une partie préremplie :
Les lignes commençant par des "--" sont des commentaires. Ils n’ont aucun impact sur le programme.
Ajoutez, à la suite, les lignes suivantes :
Il ne nous reste plus qu’à définir les trois positions qui seront affichés comme des valeurs dans un menu. Dans Component puis Combo contents, ajouter les trois lignes suivantes :
Ne tapez pas sur [ENTRÉE] à la dernière ligne sinon vous aurez une entrée vide dans votre menu.
Si tout va bien, nous avons un bouton de type menu avec trois lignes. Dans le MIDI Monitor, vous devriez voir 2 MIDI CC à chaque changement.
Nous avons terminé notre panneau. Si tout fonctionne correctement, n’oubliez pas de le numéroter en 1.0.
S’il peut servir à la communauté, vous pourriez aussi le publier sur le site officiel en suivant ce tuto .
Si vous souhaitez télécharger le panneau ayant servit dans le cadre de ce didacticiel, rdv sur le site officiel ici .
Table des matières
- Description
- Découverte de l’interface
- Configuration de Ctrlr
- Configuration de notre panneau
- Quels paramètres MIDI à contrôler ?
- Organisation de notre panneau
- Création de notre premier bouton de type potentiomètre
- Essayons notre panneau
- Petites modifications visuelles
- Création de nos interrupteurs à deux positions
- Nos boutons supplémentaires
- Le bouton spécial à trois positions
- Conclusion
Description
Le but ici est de faire découvrir le très puissant mais peu documenté Ctrlr au travers de la réalisation d’un panneau de contrôle pour le synthétiseur matériel Meeblip Triode. Le Triode peut être remplacé par n’importe quel autre synthé du marché. Il ne sert ici que de support à ce didacticiel.
Pour info, le Triode est un petit synthétiseur de type basse avec oscillateur numérique et table d’onde ainsi qu’un filtre résonnant analogique. Matériel et logiciel entièrement libre. Bien que vendu, au départ, comme synthé tout monté dans un boîtier rouge, vous avez la possibilité de le fabriquer vous-même. Tous les schémas, diagrammes et code source sont disponibles librement.
La version utilisée de Ctrlr pour l’écriture de ce tutoriel est la : 5.4.16 .
Voici à quoi ce panneau va ressembler :
Après une première lecture, vous pourrez facilement créer vos panneaux pour d’autres synthétiseurs ou appareils MIDI. Le Triode ne sert que d’exemple.
Vous aurez ainsi les bases du logiciel Ctrlr et pourrez facilement aller plus loin dans son apprentissage.
Découverte de l’interface
Pour lancer Ctrlr, vous devez vous placer dans le dossier où vous l’avez installé. Soit depuis votre gestionnaire de fichier, avec un double clic sur le fichier Ctrlr-i686 ou Ctrlr-X86_64 suivant votre architecture.
Depuis un terminal :
cd /chemin/vers/Ctrlr/Ctrlr-i686 # + [ENTRÉE] si vous être en 32 bits cd /chemin/vers/Ctrlr/Ctrlr-X86_64 # + [ENTRÉE] si vous être en 64 bits
La fenêtre par défaut de Ctrlr va s’ouvrir :
note
À chaque démarrage, Ctrlr charge automatiquement le dernier panneau ouvert. Si vous avez déjà utilisé Ctrlr, vous devez créer un nouveau panneau. Dans le menu File, choisissez New Panel.
L’interface se décompose en trois parties :
- en haut, la barre de menu,
- à droite, les paramètres des divers éléments que vous allez créer. La bande grise avec un point sur la gauche permet de réduire/agrandir cette partie,
- le reste de la fenêtre contient votre panneau lui-même (fond blanc avec grille).
Le panneau peut être redimensionné au pixel près. Placez votre pointeur sur un des bords du panneau et effectuez un glissé-déposé pour agrandir / réduire.
Configuration de Ctrlr
note
Chose importante pour les linuxiens : vous devez impérativement décocher l’option Use OS native file load/save dialogs (disable for linux) dans le menu Edit -> Preferences. Sans quoi vous aurez une erreur à chaque tentative de sauvegarde de votre panneau.
Pour communiquer avec un synthétiseur ou n’importe quel autre appareil MIDI, nous devons définir le port MIDI ainsi que le canal.
Allez dans Menu -> MIDI -> Settings. La fenêtre suivante va s’ouvrir :
Dans le cas du Triode, il n’y a qu’à configurer le port et le canal de sortie. Dans d’autres cas, vous pouvez régler le port et canal d’entrée, le port et canal du contrôleur (Ctrlr peut être utilisé avec une surface de contrôle par exemple).
Pour le port de sortie, clic sur le menu déroulant sous Output device et choisissez votre interface MIDI dans la liste.
Idem pour le canal associé mais cette fois dans la colonne MIDI Channel.
Si vous suivez ce tuto sans aucun appareil, vous pouvez passer cette étape bien qu’elle puisse être utile pour vérifier le bon fonctionnement de votre panneau avec le moniteur MIDI intégré à Ctrlr.
Configuration de notre panneau
En suivant les éléments encadrés en rouge dans la capture d’écran ci-dessous, nous allons nommer notre panneau, indiquer notre nom ou pseudo, notre adresse de courriel ainsi que l’URL de notre site web si nous en avons un. Ensuite nous allons lui donner un numéro de version et un nom de version (pas obligatoire). Pour finir, nous allons indiquer le nom et l’éditeur / constructeur du logiciel ou appareil piloté par ce panneau.
note
Pour les cases contenant du texte, un simple clic passe en mode d’édition. Pour les cases contenant des nombres, un clic simple passe en mode d’édition, un clic-glissé permet de changer la valeur à la souris.
Pour le moment, j’ai mis 0 dans Version MAJOR et 1 dans Version MINOR ce qui correspond à 0.1. Nous augmenterons ces numéros progressivement au fur et à mesure pour arriver à la version fatidique 1.0 à la fin de ce tuto.
Il est maintenant grand temps d’enregistrer notre premier panneau. Allez dans le menu File puis Save as, choisissez l’emplacement. Vous verrez que par défaut, Ctrlr créé un nom pour vous. Dans mon cas c’est "Triode Panel_0_1_LinuxMAO_2018-09-30_12-24.panel". À l’avenir vous pourrez, soit sauvegarder avec Save ou avec Save versioned qui permet d’incrémenter le numéro Version MINOR ainsi que le nom du fichier. Pratique !
Quels paramètres MIDI à contrôler ?
Pour aller plus loin, il nous faut définir quels seront les paramètres que nous souhaitons contrôler depuis le panneau.
Pour cela, vous aurez besoin de la notice de votre synthé. Les assignations MIDI CC sont souvent différentes d’un fabricant à l’autre.
Dans le cas du triode, voici la liste des MIDI CC :
- 48 LFO Depth
- 49 LFO Rate
- 50 Oscillator Detune
- 51 Note Glide (portamento)
- 52 Filter resonance
- 53 Filter Cutoff
- 54 Filter Decay
- 55 Amplitude Decay
- 56 Filter Accent
- 57 Filter Envelope Modulation
- 58 Oscilator Pulse Width
- 59 Filter Attack
- 60 Amplitude Attack
- 64 Envelope Sustain
- 65 Sub-oscillator
- 66 PWM Sweep
- 67 LFO Destination (osc/filter)
- 68 Oscillator Wave (pulse/sawtooth)
- 69 LFO Randomize
- 70 LFO Note Retrigger (default ON)
Les MIDI CC compris entre 48 et 60 ont des valeurs comprises entre 0 et 127. Les MIDI CC compris entre 61 et 70 sont des interrupteurs. Les valeurs comprises entre 0 et 63 correspondent à Désactivé ou à la première valeur (osc pour LFO Destination par exemple) et 64 à 127 correspondent à Activé ou à la seconde valeur (filter pour LFO Destination).
note
Vous rencontrerez parfois des valeurs comprises entre -63 et +63. Sachez qu’en matière de MIDI, il n’y a pas de valeur négative. C’est toujours entre 0 et 127. Ctrlr permet de faire une correspondance assez facilement (-63 = 0, 0 = 63 et +63 = 127). Nous verrons ça un peu plus loin.
Organisation de notre panneau
Regardons à quoi ressemble notre synthé. L’image ci-dessous va nous servir de base pour positionner nos divers boutons. Si votre synthé est différent, basez-vous dessus.
En haut à droite, nous avons le potentiomètre de volume et la DEL de mise sous tension. Ils ne sont pas contrôlables via des CC, laissons-les de côté.
Ceux qui nous intéressent sont dans les trois rangées en dessous.
Dans la première, nous retrouvons la section Envelopes avec Amp Decay, Filter Decay et l’interrupteur Sustain. La section Filter avec Cutoff et Rez.
Dans la seconde rangée nous trouvons la section Oscillators avec Glide, Detune et le bouton Sub OSC. La section LFO avec Rate et Depth.
Pour finir, les deux boutons du bas Waveform et LFO Dest.
Nous allons calquer la position des boutons de notre panneau en fonction de leurs positions réelles.
Les CC 56, 57, 58, 59, 60, 69 et 70 ne se retrouvent pas sur le synthé. Ces paramètres ne sont accessibles qu’en MIDI. Mettons-les de côté pour l’instant.
Entrons dans le vif du sujet ! Commençons par mettre une couleur. Faites descendre l’ascenseur de la partie à droite de la fenêtre Ctrlr jusqu’à Editor comme sur la capture d’écran ci-dessous :
Choisissez la couleur de fond dans Background colour. Avec un clic simple, vous pouvez entrer des valeurs numériques. Avec un clic sur le bouton droit, vous ferez ouvrir un sélecteur de couleur bien pratique. Dans le cas du triode, j’ai mis "FFFF5050" mais vous pouvez mettre ce que vous voulez et même jouer sur la transparence.
Rien ne se passe ? Normal. Enfin j’ignore pourquoi mais ce paramètre n’a pas l'effet souhaité. Je le configure tout de même.
Ensuite, d’un simple clic-gauche sur la valeur de Background colour, vous allez la sélectionner. Taper Ctrl+c pour copier cette valeur. Refaites un simple clic-gauche sur la valeur juste en dessous Background colour 1 et tapez Ctrl+v pour copier la valeur de Background colour ici. Tapez entrée et cette fois, votre fond a changé. Mais c’est un dégradé vers le blanc !
Ctrlr est très puissant. Vous pouvez même faire de jolis dégradés avec. Il est aussi possible de mettre une image en fond ainsi que des images à la place des divers boutons afin de ressembler de manière très précise à l’appareil original.
Pour un fond uni, ouvrez le menu déroulant Background gradient type juste en dessous de background colour 1 et choisissez none. Enfin, nous y sommes ! Nous obtenons ainsi un joli fond de couleur.
Un conseil, sauvegardez maintenant. Je ne le répéterai plus mais n’hésitez pas à sauvegarder le plus souvent possible. Ce n’est pas spécifique à Ctrlr d’ailleurs.
Séparons maintenant notre panneau en quatre groupes. Envelopes, Filter, Oscillators et LFO.
La capture d’écran suivante vous donne une idée de l’organisation du panneau. L’exemple n’est qu’à titre indicatif et devra être adapté à votre synthé. Pour l’instant, ne cherchez pas à être trop précis, ce n’est qu’une ébauche.
Pour obtenir les étiquettes ENVELOPES, FILTER, OSCILATORS et LFO, nous allons utiliser les uiLabel.
Placez le pointeur de souris dans le panneau, clic-droit ouvre le menu contextuel. Allez dans Static puis clic sur uiLabel. Vous venez de créer une étiquette noire avec texte blanc.
Maintenant, il vous faut la mettre en place. Pour la déplacer, un simple glissé-déposé à l’emplacement souhaité. Pour plus de précision, vous pouvez utiliser les flèches de votre clavier.
Redimensionnez l’étiquette en plaçant le pointeur sur le contour puis faites un glissé-déposé à la taille souhaitée.
Passons aux noms. Sélectionnez votre étiquette si ce nest pas le cas. Dans la partie droite de la fenêtre, dans Modulator, mettez ENVELOPES dans la case Name. Cette partie est surtout là pour l’organisation de votre panneau et pour accéder à tous les éléments depuis le langage LUA. Pour le cacher sur le panneau, allez dans Component generic et décochez la case Name label visible. Et hop, le nom de l’étiquette disparaît.
Ensuite, rendez-vous dans Component et inscrivez ENVELOPES dans la case Label text.
note
Ctrlr pourrait être amélioré sur plusieurs points dont celui d’avoir un nom de uiLabel qui peut être différent du nom affiché. Un seul aurait suffit. C’est le cas pour la grande majorité des éléments. Et pas uniquement pour les noms. Au début, cela entraîne certaines confusions. Faites-y bien attention.
Dernier point, mettons un peu de couleur. Dans Component, vous pouvez changer la couleur de fond Background colour et du texte Text colour. Choisissez, de préférence, des couleurs en harmonie avec votre synthé et surtout lisibles, bien contrastées.
Il ne vous reste plus qu’à copier votre première étiquette avec Ctrl+c et la coller avec Ctrl+v. Changez les noms comme ci-dessus. Faites en autant que nécessaire puis positionnez et redimensionnez-les, toujours de façon grossière pour l’instant.
Création de notre premier bouton de type potentiomètre
Pour ce faire, et comme pour les uiLabel, clic-droit sur le panneau pour ouvrir le menu contextuel, allez dans Sliders puis clic sur uiSlider. Votre premier bouton est créé.
Exactement comme pour le uiLabel, vous pouvez le déplacer et le redimensionner.
Changez quelques paramètres dans la partie droite (dorénavant, je vais juste indiquer les noms des paramètres) :
- Modulator -> Name -> amp-decay
- Component generic -> Visible name -> AMD DECAY
note
Bien que le paramètre Modulator Name soit peu utile pour une étiquette, il est très important ici. En particulier si vous envisagez d’employer le langage LUA. Ce nom est celui qui vous permettra de choisir ce bouton dans votre script.
Passons maintenant au plus important : contrôler notre synthé.
Toujours avec notre bouton sélectionné, dans la partie droite, section MIDI :
Choisissez CC dans MIDI message type.
Le canal MIDI dans MIDI Channel doit être celui que vous avez configuré au début de ce tuto. Mais vous pouvez contrôler plusieurs appareils avec un seul panneau. Chaque bouton peut envoyer / recevoir des informations sur un canal différent si besoin.
Dans MIDI controler number, indiquez le numéro de CC. Avec le triode, indiquons le numéro 55.
Bien, si vous avez respectés scrupuleusement les indications ci-dessus, le bouton doit contrôler le synthé.
Encore une petite étape avant d’essayer ce bouton. Changeons la couleur du bouton. Pour le triode, je mets :
- blanc (FFFFFFFF) à Component Rotary outline colour
- noir (FF000000) à Component Rotary fill colour
note
Si votre bouton doit avoir une valeur comprise entre -63 et 63 par exemple, vous devez modifier : Modulator -> Expression to evaluate when calculating MIDI message from the modulator value -> modulatorValue+64.
Component -> Minimum value à -63 et Maximum value à 63.
Component -> Minimum value à -63 et Maximum value à 63.
Essayons notre panneau
La première chose à faire, est de sortir du mode d’édition pour passer au mode "panneau". Dans le menu Panel, choisissez Panel mode. Le raccourcis Ctrl+e est bien pratique à retenir.
Désormais, vous pouvez faire tourner votre bouton et changer la valeur indiquée juste en dessous.
Si vous avez un synthé avec écran, vous devriez vous la valeur changer dessus aussi.
Si vous n’avez pas de synthé, ou s’il n’a pas d’écran, Ctrlr offre un utilitaire bien pratique : un moniteur MIDI. Dans le menu Tools, clic sur MIDI Monitor. Une nouvelle fenêtre vient de s’ouvrir. Pour activer la fonction de monitoring, dans le menu de cette fenêtre, View, clic sur Monitor Output va activer le moniteur de sortie MIDI.
Faites bouger votre bouton et vous verrez des indications dans la partie rouge, en haut de la fenêtre du moniteur.
Par exemple :
[22:11:11:000796]: Time(1.000000) [Controller] Ch:[ 1] No:[ 55] Val:[ 45] RAW:[b0 37 2d]
Ce qui nous intéresse commence à Controller, dont Ch, No et Val. Si les valeurs ne correspondent pas à ce que votre bouton est censé faire, c’est que vous avez fait une erreur ou un oubli dans le chapitre précédent. Dans ce cas, prenez le temps de le relire.
Dans notre cas, nous agissons bien sur le canal 1, avec le CC numéro 55. La valeur étant comprise entre 0 et 127, tout va bien.
Vous êtes maintenant en mesure de copier ce bouton autant de fois que nécessaire et de l’adapter.
Ci-dessous, une image du Triode avec tous ces boutons :
Petites modifications visuelles
Pour ne pas compliquer les choses dès le départ, nous avons laissé le texte au dessus des boutons. Sur notre triode, le texte est en dessous. Ctrlr permet de changer ça très facilement.
En mode Panel Edit, choisissez un bouton puis déplacez l’ascenseur de la partie de droite jusqu’à Component generic. Là, vous avez Name label position. Vous avez le choix entre none, top, bottom, left et right qui correspondent respectivement à aucun, haut, bas, gauche et droite. Dans le cas du triode, choisissez bottom.
Vous pouvez aussi choisir l’alignement du texte, sa taille et encore d’autres paramètres. Vous devriez commencer à être un peu plus autonome avec ce logiciel. Lâchez vous et essayez ! Vous voyez, au début Ctrlr paraît intimidant mais au final tout est assez clair.
Profitons-en pour changer les couleurs de la zone indiquant la valeur du paramètre, située au-dessous de nos boutons. Allez dans Component est cherchez Value text colour. Remplacez par la couleur de votre choix. J’ai choisi blanc pour le triode.
Changez aussi Value background colour, j’ai pris noir. Puis Value outline colour, transparent dans mon cas (00000000).
Création de nos interrupteurs à deux positions
D’un clic-droit sur le panneau, en mode d’édition, sélectionnez Add component -> Buttons -> uiButton. Placez-le à la bonne place et redimensionnez-le si besoin. Dans le cas du triode, à droite de FILTER DECAY dans la section ENVELOPES.
Nommez-le dans Modulator -> Name. env-sustain pour le triode.
Dans MIDI message type, choisissez CC puis indiquez le numéro de CC correspondant, 64 pour le triode dans MIDI Controller number.
Pour rester cohérent avec l’ensemble de notre panneau, choisissez bottom dans Component generic -> Name label position, puis SUSTAIN dans Visible name. Vous pouvez aussi modifier la police dans Name label font si besoin.
Allez dans Component, puis faites les réglages suivants :
- cochez Button is toggle button, ce qui permet de basculer entre les deux positions. Sinon vous devrez garder le clic pour activer,
- blanc (FFFFFFFF) à Button background colour (on),
- par défaut, Button values est à ON et OFF. Indiquez Inactif=0 et Actif=127 dessous.
Nous venons de créer notre premier interrupteur.
Vous pouvez maintenant le copier pour SUB OSC de la section OSCILLATORS.
Puis pour finir, copiez-le pour le bouton LFO DEST de la section LFO. Mais cette fois, indiquez OSC=0 et FILTER=127 dans Button values afin de faire apparaître la fonction sur le bouton lui-même. Changez les couleurs de ce texte si besoin dans Button text colour (on) et Button text colour (off).
Nos boutons supplémentaires
Il nous reste quelques boutons qui ne sont pas physiquement sur le synthé. Ils sont accessibles uniquement en MIDI.
Il y a 5 boutons de type potentiomètre. Vous pouvez simplement copier un bouton du même type existant et changer ses paramètres.
Pour des raisons d’espace, j’ai choisi un autre type de potentiomètre. Des linéaires au lieu des rotatifs. Pour ça, allez dans Component puis changez la valeur Slider style pour LinearHorizontal. Vous pouvez aussi essayer les autres types et choisir celui que vous préférez.
Il est temps d’ajouter les deux interrupteurs à deux positions. Mais ça, vous savez déjà le faire .
Le bouton spécial à trois positions
Cette étape est réservée aux plus téméraires n’ayant pas peur de LUA.
Ce bouton est spécifique au Triode. Il a trois positions mais 2 MIDI CC différents pour le contrôler. Habituellement, ce genre de bouton à trois positions ou plus ont un seul MIDI CC avec plusieurs valeurs (généralement 0, 1, 2, ...).
Ses trois positions sont:
- Square pour sélectionner l’onde carrée.
- PWM pour sélectionner l’onde de type impulsion à largeur variable.
- Saw pour l’onde triangulaire (ou en dent de scie).
Pour choisir Square, il faut envoyer un MIDI CC 66 (PWM Sweep) avec 0 (désactivé) en valeur et un MIDI CC 68 (sélecteur d’onde), là aussi avec 0 (square) en valeur.
Pour le PWM, il faut un MIDI CC 68 à 64 et un MIDI CC 66 à 127 (PWM sweep activé).
Enfin, pour le Saw, un MIDI CC 66 à 0 et un MIDI CC 68 à 127 (saw).
Créons le bouton. Choisissez cette fois uiCombo dans Buttons. Changez les couleurs et paramètres comme le nom, exactement comme pour les autres boutons.
C’est là où ça se complique un peu mais LUA nous vient en aide.
Pour créer un script LUA, il faut d’abord savoir à quel moment il doit intervenir. Ici, c’est lors de tous changements sur ce bouton. Dans Modulator -> Called when the modulator value change clic sur l’icône représentée par un rectangle et engrenage en haut à droite (Add new method dans les infobulles). L’éditeur de texte de Ctrlr va s’ouvrir avec une partie préremplie :
-- -- Called when a modulator value change -- @mod http://ctrlr.org/api/class_ctrlr_modulator.html -- @value new numeric value of the modulator
Les lignes commençant par des "--" sont des commentaires. Ils n’ont aucun impact sur le programme.
Ajoutez, à la suite, les lignes suivantes :
_t={66,68} -- 66 = PWM Sweep, 68 = sélecteur d’onde mySendMidiCC = function(--[[ CtrlrModulator --]] mod, --[[ number --]] value, --[[ number --]] source) if value == 0 then -- la première valeur du bouton = Square panel:sendMidiMessageNow(CtrlrMidiMessage({0xb0, _t[1], 0})) panel:sendMidiMessageNow(CtrlrMidiMessage({0xb0, _t[2], 0})) end if value == 1 then -- la seconde valeur = PWM panel:sendMidiMessageNow(CtrlrMidiMessage({0xb0, _t[2], 64})) panel:sendMidiMessageNow(CtrlrMidiMessage({0xb0, _t[1], 127})) end if value == 2 then -- la dernière = Saw panel:sendMidiMessageNow(CtrlrMidiMessage({0xb0, _t[1], 0})) panel:sendMidiMessageNow(CtrlrMidiMessage({0xb0, _t[2], 127})) end end
Il ne nous reste plus qu’à définir les trois positions qui seront affichés comme des valeurs dans un menu. Dans Component puis Combo contents, ajouter les trois lignes suivantes :
Square = 0 PWM = 1 Saw = 2
Ne tapez pas sur [ENTRÉE] à la dernière ligne sinon vous aurez une entrée vide dans votre menu.
Si tout va bien, nous avons un bouton de type menu avec trois lignes. Dans le MIDI Monitor, vous devriez voir 2 MIDI CC à chaque changement.
Conclusion
Nous avons terminé notre panneau. Si tout fonctionne correctement, n’oubliez pas de le numéroter en 1.0.
S’il peut servir à la communauté, vous pourriez aussi le publier sur le site officiel en suivant ce tuto .
Si vous souhaitez télécharger le panneau ayant servit dans le cadre de ce didacticiel, rdv sur le site officiel ici .