Table des matières:

Station de boucle MIDI multipiste Arduino : 6 étapes
Station de boucle MIDI multipiste Arduino : 6 étapes

Vidéo: Station de boucle MIDI multipiste Arduino : 6 étapes

Vidéo: Station de boucle MIDI multipiste Arduino : 6 étapes
Vidéo: Сведение с Робом. Эп.1: настройки Ardor, маршрутизация и измерение | Многодорожечные сессии 2024, Juillet
Anonim
Station de boucle MIDI multipiste Arduino
Station de boucle MIDI multipiste Arduino
Station de boucle MIDI multipiste Arduino
Station de boucle MIDI multipiste Arduino
Station de boucle MIDI multipiste Arduino
Station de boucle MIDI multipiste Arduino

Une loop station, ou looper, est essentiellement un outil pour lire en temps réel vos riffs instrumentaux (boucles). Il ne s'agit pas d'un support d'enregistrement, mais d'un instrument pour façonner l'inspiration sans distraction (et éventuellement jouer en direct…).

Il existe de nombreuses boucles d'enregistrement audio, à la fois sous forme de matériel dédié (presque chaque fabricant de pédales de guitare a son propre produit) ou de logiciels (l'excellent Linux Sooper Looper ou Windows Mobius, pour citer les plus connus). Je n'ai pu trouver que quelques projets sur des loopers DIY non audio mais MIDI, c'est-à-dire un outil pour enregistrer des événements MIDI et les lire immédiatement en boucle; la plupart de ces projets (tous, devrais-je dire) sont abandonnés ou perdus… eh bien, nous voici avec un projet complet pour tout le monde !

Cette station de boucle MIDI Arduino garde simplement une trace des événements MIDI entrants et les rejoue. Il vous suffit d'appuyer sur la pédale d'enregistrement, de créer votre meilleur riff et d'arrêter l'enregistrement en appuyant à nouveau sur la pédale. Super facile:)

Ce projet est basé sur du matériel ouvert facile à trouver (Arduino DUE), un logiciel (mon propre firmware et Arduino IDE) et peut être personnalisé pour refléter vos préférences.

Faisons le!

PS: oui, c'est super pas cher !

Étape 1: Limites

Avant de commencer à acquérir des pièces matérielles pour le projet, laissez-moi vous dire quelles sont ses limites afin que vous puissiez décider d'aller de l'avant ou de vous arrêter ici.

- en raison des limites matérielles (mémoire Aduino DUE essentiellement), la durée maximale par défaut de la phrase que vous pouvez enregistrer est limitée à 46 secondes.

- les boucles ne peuvent pas être stockées et lues après l'arrêt. Vous pouvez cependant les envoyer sur un PC et les enregistrer.

- il n'y a pas de quantification des notes.

- L'horloge MIDI est prise en charge, mais à un stade préliminaire pour le moment.

- Les messages MIDI enregistrés sont note on, note off, control changes et pitch bend; les autres messages MIDI tels que l'after touch, le changement de programme, SysEx, etc. ne sont pas pris en compte.

- la polyphonie maximale est définie sur 10 par défaut (encore une fois, les limites de mémoire d'Aduino DUE).

Du côté positif, les flux MIDI de plusieurs instruments différents, chacun transmettant sur son propre canal, sont pris en charge; cela signifie que vous pouvez enregistrer plusieurs instruments MIDI à la fois, superposés ou avec leur propre piste (plus de pros à l'étape suivante;)).

Si vivre avec ces limitations semble raisonnable (et ça l'est pour moi), vous passerez un très bon moment avec ce truc;)

Étape 2: Comment ça marche

La boucle MIDI station ici est très simple à utiliser. Il fonctionne d'une manière similaire à ces stations de boucle audio matérielles que chaque fabricant de pédales de guitare a dans son propre catalogue.

1) Sélectionnez la piste sur laquelle vous souhaitez enregistrer votre séquence MIDI. Par défaut, la piste "une" est choisie, mais vous pouvez la changer en appuyant sur l'un des boutons de pistes (un pour chaque piste).

2) Lorsque vous appuyez pour la première fois sur le commutateur/pédale "REC", le looper est engagé. La LED verte s'allume. Il attendra jusqu'à ce que votre première note soit reçue avant de commencer à enregistrer la séquence/le riff réel.

3) Lorsque vous avez terminé votre séquence, appuyez à nouveau sur le commutateur/pédale "REC" pour définir la durée réelle du riff. La LED verte s'éteint. Le looper commencera à reproduire votre séquence MIDI immédiatement. Si vous atteignez le temps maximum, l'enregistrement s'arrêtera automatiquement et la séquence commencera à être reproduite en boucle.

4) Maintenant, vous pouvez décider de superposer votre séquence sur la piste en cours ou de sélectionner une nouvelle piste et d'enregistrer dessus, en appuyant sur le commutateur/pédale "REC". Dans les deux cas la LED jaune s'allumera, même si la nouvelle piste est vide, car il s'agit d'une piste « esclave » (asservie à la toute première piste enregistrée). Appuyez à nouveau pour arrêter l'overdub (la LED jaune s'éteint).

Pour ceux d'entre vous à l'aise avec les stations de bouclage audio, cette progression MIDI s'appelle "REC/PLAY/OVERDUB" et est la seule prise en charge.

Si à tout moment vous sentez que votre dernier overdub n'est pas correct, vous pouvez le supprimer en appuyant sur le commutateur/pédale "undo". Vous pouvez effacer toute la piste en cours en maintenant la pédale "REC" enfoncée pendant plus de 3 secondes; vous pouvez réinitialiser le looper (réinitialisation logicielle) en appuyant sur les trois premiers boutons de piste en même temps ou en effaçant toutes les pistes utilisées.

Vous pouvez activer/désactiver le son d'une piste en appuyant sur le bouton de piste de la piste en cours.

Vous pouvez envoyer une PANIQUE ! message en appuyant sur le bouton panique. Vous pouvez même envoyer une PANIQUE ! message en appuyant simultanément sur les deux premiers boutons de pistes.

Le looper a un métronome simple intégré: un message de note sur MIDI pour le numéro de note "64" est envoyé à 100 BPM sur le canal 10 (le canal que vous écoutez probablement votre boîte à rythmes). Vous pouvez augmenter ou diminuer le tempo en tournant l'encodeur optique; en appuyant sur l'interrupteur de l'encodeur optique, vous pouvez activer/désactiver le métronome. Notez que votre boîte à rythmes doit être réglée pour jouer un son (caisse claire, basse ou tout autre son que vous préférez) lors de la réception de la note MIDI "64" ou le métronome sera coupé.

Une version barebone de cette loopstation MIDI pourrait être composée d'un seul commutateur au pied pour démarrer et arrêter l'enregistrement. Maintenir le commutateur enfoncé pendant plus de 3 secondes réinitialise la station de boucle.

Si vous souhaitez investir un peu plus de temps dans le développement du matériel, l'ajout de commutateurs et de boutons rendra la station de boucle plus flexible. L'image montre comment j'ai configuré mes quatre pistes (jusqu'à cinq sont prises en charge) une station de boucle complète.

REMARQUE IMPORTANTE: le matériel sur mes photos est un prototype. J'ai utilisé plus de prises jack que nécessaire mais seulement quatre boutons pour les pistes. C'est parce que lorsque j'ai commencé le projet, je n'étais pas tout à fait sûr des exigences finales.

Les boutons et les pédales sont électroniquement équivalents et vous pouvez utiliser l'un à la place de l'autre; pour mes besoins, étant donné qu'il y a toujours trop peu d'espace au sol (putains de belles pédales d'effet;)), j'ai contraint les pédales à la fonction REC unique.

Étape 3: Matériel

Matériel
Matériel
Matériel
Matériel
Matériel
Matériel
Matériel
Matériel

Nomenclature:

Station de boucle MIDI 5 pistes complète

1x Arduino DUE

7x boutons poussoirs momentanés

1x boîtier en plastique (j'ai utilisé un boîtier de 150 x 110 x 70 mm)

2x connecteur de prise MIDI femelle DIN 5 broches à montage sur panneau

1x prise jack 6,3 mm pour montage sur panneau

1x panneau perforé 50x70 mm double face

5x 3 mm LED (vert)

1x 3 mm LED (jaune)

1x encodeur optique

1x optocoupleur H11L1

1x diode 1N4148

3 résistances de 1000 ohms

3 résistances 220 ohms

10 résistances de 470 ohms

Du fil à souder, des câbles, une station de soudure… et du temps libre:)

Temps requis pour terminer le projet: 6-9 heures

Pourquoi pas une ONU ?

Les premiers tests (et un code de travail de départ) ont été écrits sur une carte arduino UNO "normale". Cette carte a des limites de RAM qui m'ont obligé à réduire la polyphonie à "4", une longueur max à moins de 4 secondes et une résolution de 40 ms au max. Ceci sans gestion multicanal. En supprimant également le suivi de la vitesse, j'ai pu augmenter le temps d'enregistrement jusqu'à 7 secondes.

Avec un UNO on peut alors réaliser une loop station MIDI "fonctionnelle", mais très limitée.

Étape 4: Logiciel

Le logiciel s'appuie fortement sur la bibliothèque MIDI FortySevenEffects. Cette bibliothèque est géniale et rend ce genre de projets faisable même pour les geeks non codeurs comme moi.

Arduino IDE et sa communauté sont une autre partie importante de ce "succès".

Je n'entrerai pas dans les détails sur la façon de télécharger le croquis sur votre arduino DUE. S'il s'agit de votre première expérience avec arduino IDE, veuillez d'abord lire ceci.

J'ai écrit deux versions différentes du code, basées sur deux approches complètement différentes.

Le principe de fonctionnement de la version 1 est que pendant l'enregistrement ou la superposition, Arduino DUE vérifie et stocke dans sa mémoire (volatile) les événements MIDI pris en charge (note on, note off, control change et pitch bend); l'axe du temps est quantifié par pas de 20 ms et les messages reçus sont stockés dans ces créneaux en conséquence. Pendant la lecture, les messages MIDI stockés sont renvoyés au synthé en respectant la quantification temporelle.

Le principe de fonctionnement de la version 2, à la place, est d'enregistrer "simplement" l'événement midi et l'heure à laquelle l'événement doit être déclenché. La version 2 a des limites différentes de celles de la version 1 (énumérées à une étape précédente). essayez-les tous les deux et utilisez celui qui vous convient le mieux.

Il existe également une gestion préliminaire de l'horloge, mais elle nécessitera quelques ajustements pour fonctionner comme il se doit. Le code suppose que vous enregistrez une boucle 4/4 - 4 mesures (16 temps).

Vous pouvez désactiver l'horloge externe en maintenant enfoncé le bouton "panique" lors de l'allumage du looper.

Les codes sont téléchargés ICI. Des commentaires sont placés dessus, afin que vous puissiez plier ces firmwares à votre guise;)

Étape 5: Câblages

Câblages
Câblages
Câblages
Câblages
Câblages
Câblages

Les circuits MIDI IN et MIDI OUT sont signalés dans les photos ci-jointes. Notez que TX1 et RX1 sont utilisés, pas TX0 et RX0.

Les broches d'entrée Arduino DUE ne peuvent pas gérer 5 V, mais 3,3 V; c'est pourquoi un optocoupleur H11L1 est utilisé à la place d'un 6N138 plus courant. J'ai des preuves que l'utilisation d'un 6N138 couplé à un diviseur de tension pour réduire la tension du signal allant à TX1, comme dans mon premier prototipe, pourrait fonctionner de manière erratique dans certaines configurations.

Les LED sont connectées aux broches de sortie Arduino DUE via des résistances de 470 Ohm. Vous pouvez utiliser des résistances jusqu'à 1K ohm pour réduire le courant allant aux LED et réduire leur luminosité.

Les boutons/interrupteurs/prises sont directement connectés aux broches d'entrée Arduino grâce à des résistances pullup d'entrée, activées dans le croquis. Il n'y a pas besoin de résistances externes (pulldown).

L'encodeur optique est connecté à GND et +5V. Il va aux broches d'entrée Arduino passant par 2 résistances de 480 ohms, une pour chaque sortie de données optique.

Arduino DUE est alimenté directement à partir de la broche 5V et de la masse via un concentrateur +5V DC.

Tous les terrains sont liés entre eux.

Ci-joint une table avec les connexions des broches arduino au périphérique IN/OUT. Les numéros de broche Arduino reflètent ceux de mon matériel de proptotype et pourraient sembler (ils sont en quelque sorte…) aléatoires. Vous pouvez facilement modifier l'emplacement de la broche dans le croquis à votre guise;)

Étape 6: Que faire si j'ai plus d'une source MIDI ?

Que faire si j'ai plus d'une source MIDI ?
Que faire si j'ai plus d'une source MIDI ?

Après une brève recherche d'une fusion MIDI, j'ai trouvé que la solution la plus pratique (et pas chère) était un mélangeur MIDI.

Un sélecteur MIDI est un appareil passif qui active une source MIDI et désactive toutes les autres sources. Aussi simple que cela.

Le cœur d'un sélecteur MIDI est un sélecteur multi-positions (le mien est à 6 positions), 2 pôles. Il est très important que le nombre de pôles soit "2" car chaque prise MIDI doit être complètement coupée si non sélectionnée et non en communication avec les autres. Ci-joint une photo de celui que j'ai réalisé pour mon propre usage.

À CE LIEN un schéma.

Conseillé: