Skip to main content

6 - Le MIDI


[Abandonné] Cherche séquenceur MIDI à motif/boucle utilisable avec une pédale (motif suivant/précédent)

France
Bonjour,

Je viens de chambouler mes vieilles habitudes et reprendre la musique en main.
Je joue du cajón et j'aimerai "piloter" un séquenceur MIDI (qui pilote un synthé modulaire) avec une pédale (type bouton de pédale de guitare) pour choisir le motif à jouer.

Hydrogen fait ça très bien mais pas de piste de mélodie...

HarmonySeq aussi mais le piano roll n'a que six lignes (on choisit la note pour chaque ligne). Je ne comprend pas la logique. Six notes sur une mesure, ça peut passer mais pas plus.

sequencer64seq66 ne savent pas faire ça. On peut, via MIDI, choisir une "song" de la liste de lecture mais ça ne correspond pas à ce que je cherche. Il y a peut être quelque chose qui m'échappe.

Synergy fait tout ce dont j'ai besoin. Seulement son interface est très particulière. Ce n'est pas le fait que ce soit un tracker (ça je connais un peu) mais l'ensemble est vraiment inhabituel et je n'arrive pas à grand chose avec.

Non-Sequencer ne semble pas pouvoir faire ça non plus. Encore une fois, peut être que quelque chose m'échappe...

La majorité des séquenceurs logiciels se basent sur la ligne du temps. Je pourrais faire des backing track mais le but est vraiment de pouvoir agir en direct sur le jeu au cajón et sur la séquence.

À l'inverse, la plupart des séquenceurs matériels font ça très bien. Le Pyramid des français de Squarp Instruments fait même mieux, il a un connecteur pour pédale double, justement pour passer au motif suivant/précédent. Exactement ce que je veux mais le prix... Si c'est la seule solution viable, j'y réfléchirai.

Au début, je pensai bêtement faire ça avec une raspberry sans écran et composer sur le PC (ou rpi + écran).

Pourtant, cette technique peut être très pratique rien que pour l’entraînement. Laisser un motif en boucle tant que l'on veut puis passer à une autre sans regarder d'écran et surtout sans les mains.

Je n'ai pas encore chercher au niveau des STANs comme ardour et Qtractor, ni même Rosegarden mais ils me paraissent bien "gros" pour mon petit besoin et surtout typés "linéaire".

Toutes options / pistes / conseils sont les bienvenus.
France
bda écrit:
Hydrogen fait ça très bien mais pas de piste de mélodie...


Que veux-tu dire par "piste de mélodie" ?

Peut être que ce que tu cherches est ceci ? Hydro Bda
France
Merci Olinuxx. Je viens de prendre une grande claque 😀

Je connaissais le piano roll, je m'en sers pour faire varier la sonorité des frappes histoire de donner un groove moins robotique, en plus d'un très léger décalage temporel.
Mais je n'avais jamais vu (lu?) que l'on pouvait avoir autre chose que des déclencheurs (trig) typique des boîtes à rythme. Les notes sur une durée variable, je ne savais vraiment pas!

Et dire que j'ai souvent utilisé hydrogen, quand je faisais de l'acid par exemple, avec un second séquenceur pour les lignes de basses...

Je vais mettre ça sur le dos de cette fichue fatigue pandémique, car il faut bien un coupable 😉
Salut,

Je travaille depuis un certain temps sur un sequenceur de boucle midi.

Je ne sais pas si il peut intéresser mais il est assez léger et pilotable en midi (Note CC et program).

J'ai laisser un version compiler via ubuntu 20.04 (en 64bits) mais malheuresement pour les autres environnement ou distribution une compilation peut être nécessaire.

https://github.com/supergilbert/midilooper

https://github.com/supergilbert/midilooper/releases

Son fonctionnement est similaire à seq24, il lui manque encore quelque caractéristique mais il est tout à fait utilisable.
France
Salut @GilbAIR,

Je viens d'essayer, c'est sympa. Bon début.

Mais il ne fait pas non plus ce que je cherche.

En fait pour être précis, j'ai un modulaire qui peut recevoir 4 pistes MIDI. J'ai donc besoin d'un séquenceur qui puisse lire 4 pistes en boucles, puis passer, via un bouton, à 4 autres pistes, en fin de mesure. Un second bouton pour revenir en AR.
Les 4 pistes en question ne contrôlent qu'un seul synthé. Chaque note étant convertie en CV et la durée en gate. Je peux utiliser une piste pour la hauteur (donc la note), une autre pour la fréquence du filtre, etc.

Hydrogen a quelques limites mais il convient très bien. Pour l'instant c'est le seul qui correspond.

Merci pour l'info. Il pourra peut être me servir pour un autre projet.
France
Je viens de supprimer le "Résolu"...

Hydrogen peut avancer ou reculer dans la liste de lecture, mais avec une petite pause (temps de chargement) entre chaque morceau. Il peut aussi avancer ou reculer d'une mesure mais ça ne résous pas mon problème.
France
Je trouve pas de solution simple.
HarmonySEQ fait ça mais c'est assez contraignant. Il faut une touche du clavier ou un message MIDI spécifique pour chaque partie d'un morceau (ex: a pour l'intro, b pour le couplet, ...).
Synergy a une interface bien trop déroutante, en plus d'être développé par une seule personne.

Je baisse les bras. Je vais m'orienter vers un séquenceur matériel, sous forme de module ou autonome.
C'est dommage , je pense que t'aurais pu t'en sortir avec seq 64 et peut êtres encore plus avec non séquenceur .
Non séquenceur on peut démarrer et arrêter les séquence en midi mais il faut aussi lancer "osc vers midi" qui fait parti de la suite non .
Après c'est sur que n'importe qu'elle vielle grouve-box fait ça simplement .
A+
France
Merci de te soucier de mon problème.
Je n'ai pas trouvé, ni avec seqXX, ni avec non-seq comment activer plusieurs "pattern" par l'envoi d'un message MIDI.
Mais je suis peut être passé à coté de quelque chose. Si tu as une piste, je veux bien. 😊
Je vais tester ce soir avec non sequenceur il y aura peut être une astuce .

Tu devrait par contre essayé b sequenceur , celui là il est fait pour composer une patern constituer de 4 canal midi et d'après ce que j'ai compris ensuite tu constitue une "track" en enchainant les paterns que tu doit pouvoir copier colé et modifié pour les faire évolué , je ne sais pas si on peut contrôler en midi le fait de passer d'une patern à la suivante mais je pense que oui , c'est une piste a tester .

Sinon t'as renoise qui fonctionne comme ça :
tu crés une patern constitué de x canal midi , tu la copie cole sur la suivante pour la faire évolé et soit tu les enchaine automatiquement en les chainant dans l'ordre ou dans le désordre soit tu peux les enchainer manuellement , encore une fois est ce que cette fonction est contrôlable en midi , oui mais je ne l'ai pas utiliser comme ça et je n'ai plus renoise depuis que je suis passer sous lzk 3 .

Il doit aussi y avoir une astuce avec des greffons midi à intercaler entre l'arrivé de ton contrôleur midi et l'entré de contrôle d'un séquenceur midi quelconque qui permet d'envoyer avec une pression 4 contrôle différent , je vais tester ça aussi et je te dirais .

A+
France
B.SEQencer est sympa mais limité à 32 pas. Son fonctionnement est assez proche de mon besoin. Par contre aucun contrôle MIDI. Apparemment on peut le contrôler en LV2, avec Bipscript par exemple.
Sa limite de 4 pistes n'est pas idéale non plus. Il est possible que j'ajoute une piste ou deux (dont une rythmique).

Renoise, non. Pas libre et incompatible ARM (je vais prendre une raspberry pi). Si c'est pour du non libre, je préfère largement investir dans un séquenceur matériel comme le Pyramid.

Merci pour ton aide 😊
Aller une petite astuce que j'ai tester à l'instant ça pourra peut êtres te servir en attendant d'avoir un pyramid sous la main .

Avec qmidiroute tu peux créer des règles pour filtrer les contrôles , j'ai réussi a envoyer en même temps plusieurs contrôles on off différent qui permettes du coup de déclencher plusieurs pistes midi en mêmes temps et à les muter aussi en même temps en appuyant sur une seule touche de mon contrôleur midi :
capture d'écran pour la règle n°1 a reproduire dans les autres règles en changeant le n° de contrôles cotés sortie passer a 1 puis 2 ...
Capture Du 2021 05 03 23 18 37
( sur le coté entrés j'ai choisi le n°65 car le bouton que j'ai utilisé pour faire ce test envoie le contrôle 65 )

J’aie testé cette astuce avec qtractor le plus petit des gros séquenceur , la tu créer tes piste midi et tu connectes la sortie de qmidiroute sur l'entré contrôle de qtractor .
Ensuite tu fait clic droit sur le mute de la piste et onglet contrôleur midi et tu sélectionne manuellement un des n° que t'as définit dans qmidiroute .
Tu fait ça sur autant de piste que tu veux .
tu peut le faire tourner en boucle , tu peut utiliser le même canal sur plusieurs pistes et donc créer des groupes de pistes à déclencher par 5 ou 6 ou plus .
ça va juste vite faire beaucoup de pistes , mais par contre il est assez commode pour enregistrer du midi créer des pistes rapidement et vas trés bien pour le live je m'en suis souvent servi pour ça .
Normalement ça doit aussi pouvoir fonctionner avec n'importe quel séquenceur capable de recevoir des contrôles on off pour le déclenchement des pistes .

C'est du bidouillage mais je suis sur qu'avec un gestionnaire de session ça peut fonctionner .

A+
France
Je te remercie.
Malheureusement ça ne m'aide pas beaucoup. Là il me faudrait un bouton pour l'intro, un pour le couplet, un pour le refrain, un pour le solo, ...
Je peux utiliser une souris ou un écran tactile entre deux morceaux mais pas pendant le jeu.

Il n'y a vraiment qu'harmonyseq qui fasse ça. Dommage qu'il soit si limité...
Hydrogen pourrait le faire aussi. Je vais peut être demander aux dev si c'est difficile d'ajouter ça (à première vue non). Ou me plonger dans son code (long pour moi).

A+
Je déterre un peu le sujet: si tu parviens à envoyer des messages OSC avec ton pédalier (avec mididings par exemple), j'ai développé un reboot de seq24 très orienté vers le live qui pourrait t'intéresser : https://github.com/jean-emmanuel/seq192
France
Mon pédalier n'est toujours pas fabriqué. Mais comme il est sur base arduino, je peux lui faire envoyer n'importe quoi. J'ai aussi le projet de le faire directement via les GPIO des raspberry.
Sinon, sympa ce petit seq192. Mais je ne vois pas comment je pourrai résoudre mon problème avec. 😑
L'idée est de sélectionner différentes séquences quand tu appuies sur un bouton avec des messages osc, quelque chose comme
Copy to clipboard
/sequence solo a1 a2 a3

activerait les sequences a1, a2 et a3 tout en désactivant les autres sequences précedemment activées.
Copy to clipboard
/sequence/trig solo a1 a2 a3

ferait la même chose mais replacerait la tête de lecture en début de mesure au passage, ce qui peut être assez pratique quand on joue d'un instrument en même temps.
Le gros du boulot sera en fait de coder le fonctionnement de ton pédalier pour envoyer les bons messages en fonction du contexte.
Ce que je décris est en fait déjà possible avec seq24 et seq66, mais avec du midi au lieu de l'osc.
coder le fonctionnement de ton pédalier pour envoyer les bons messages en fonction du contexte.


Pour moi, l'approche la plus saine consiste à garder le fonctionnement du pédalier au plus simple : qu'il n'envoie que des messages très basiques indiquant quel bouton est appuyé, tout le reste pouvant être géré avec un script python par exemple.
France
Oui, mais l'idéal serait de n'avoir que trois boutons. Un lecture/stop, un suivant et un précédent. Tout comme sur le séquenceur Pyramid.
Là, si j'ai dix groupes de séquences, il me faut 10 boutons.
C'est une fonction des trackers par exemple mais utilisable à la souris.
France
jean-emmanuel écrit:
Pour moi, l'approche la plus saine consiste à garder le fonctionnement du pédalier au plus simple : qu'il n'envoie que des messages très basiques indiquant quel bouton est appuyé, tout le reste pouvant être géré avec un script python par exemple.

Nos messages se sont croisés...
Oui, je pourrais faire un script. Mais bonjour la complexité! Les séquenceurs matériels font ça facilement (ok, pas tous) depuis 40 ans.
Et à chaque nouvelle composition je devrais aussi modifier le script. Et si j'ajoute des voix sur le modulaire (et augmente le nombre de pistes MIDI), je devrais encore modifier le script.

En tous cas, merci pour ton aide et pour seq192 que je commence à essayer pour un autre projet (acid).
Tu peux tout à fait le faire avec trois boutons, voilà un petit example en python (3), en partant du principe que ton pédalier envoie les messages osc /button_1, /button_2 et /button_3 sur le port 10000, et que seq192 écoute sur le port 12000. L'idée ici est d'organiser tes sequences dans seq192 en colonnes : une colonne par partie.

Copy to clipboard
import liblo import time osc_in_port = 10000 seq192_port = 12000 play_state = True num_part = 0 def play_part(): # active toutes les sequences de la colonne correspondant à la partie en cours # (partie 1 = colonne 0) server.send(seq192_port, '/sequence', 'solo', num_part - 1) def receive_osc(path, args): # routing des messages osc envoyés par le pédalier global num_part, play_state if path == '/button_1': play_state = not play_state server.send(seq192_port, '/play' if play_state else '/stop') elif path == '/button_2': num_part = num_part - 1 play_part() elif path == '/button_3': num_part = num_part + 1 play_part() # on crée le server osc et on traite les messages entrants server = liblo.Server(osc_in_port) server.add_method(None, None, receive_osc) print('Listening on port %i... Hit ctrl+c to stop' % (osc_in_port)) while True: server.recv(0) time.sleep(0.01)


De prime abord c'est pas évident, mais en pratique ça permet de faire des choses assez complexes. Là c'est un exemple assez basique mais quand ça se complique ça peut être malin de séparer en plusieurs fichiers pour avoir une partie "moteur" et une partie "conduite". L'avantage de cette approche c'est qu'en utilisant la logique des colonnes de seq192 tu peux déjà faire plusieurs morceaux sans trop changer le code, il suffit changer de page ("screenset") dans seq192 (il faudra alors remettre la variable "num_part" à zero par contre).

Edit: le script ci-dessus nécessite la librairie python "liblo" (paquet python3-liblo sous debian).
France
Bien vu! Ça change tout!
Je pourrais même ajouter un quatrième bouton pour screenset + et en profiter pour mettre num_part à 0.

Je vais étudier ça de près. Merci mille fois 😊.