Table des matières:
- Étape 1: La pédale
- Étape 2: Arduino
- Étape 3: L'interface MIDI
- Étape 4: L'interface audio
- Étape 5: Mobius
- Étape 6: Scripts Mobius et liaisons MIDI
- Étape 7: Version 1.5
Vidéo: DIY Chewie Monsta Looper (basé sur Ed Sheeran's): 7 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
J'avais donc entendu parler d'Ed Sheeran depuis quelques années maintenant et je ne lui avais jamais vraiment prêté attention. J'ai aimé certaines de ces chansons à la radio, mais je pensais qu'il n'était qu'un autre artiste pop jusqu'à ce que je lui dise d'interpréter "Shape of You" aux Grammys 2017. J'étais ébloui! Je n'ai même pas vraiment aimé la chanson, mais le regarder l'interpréter en direct avec sa pédale de boucle était fascinant. J'ai parcouru Internet à la recherche d'informations sur cette pédale et j'ai découvert qu'il n'y en avait pas beaucoup. J'ai finalement trouvé un article disant qu'il avait été construit sur mesure par Ed et son technicien de guitare, ce qui m'a déçu jusqu'à ce que je tombe enfin sur Instructable par "edsutcliffe" (https://www.instructables.com/id/DIY-Chewie-Monst…) qui avait la "sauce secrète" sur exactement comment cela fonctionnait. J'étais excité et je me suis mis au travail. Cependant, tout en travaillant sur l'instructable, j'ai rencontré plusieurs « pièges » en cours de route, c'est pourquoi j'ai écrit cette instructable. La page d'edsutcliffe fait un excellent travail pour décrire les pièces et comment elles vont ensemble. Mon intention ici est de combler certaines des lacunes qui m'ont rendu fou et m'ont coûté des heures, voire des jours, à essayer de résoudre des problèmes. Ainsi, même si je ne vais pas vous expliquer étape par étape comment construire la pédale de boucle (dont la plupart sont disponibles sur la page d'edsutcliffe), je vais vous expliquer les principaux problèmes d'intégration qui me tourmentent.
Étape 1: La pédale
Tout en semblant être la pièce la plus critique, la pédale elle-même est la partie la plus simple et la plus directe du projet. Mon conseil ici est de commencer lentement et de commencer par construire une maquette approximative et de l'expérimenter. J'ai trouvé que jusqu'à ce que vous commenciez à l'utiliser, il est difficile de savoir ce que vous voulez. Vous pensez peut-être que trois pistes suffisent, mais après avoir joué un peu, vous constaterez peut-être que vous aimeriez vraiment une quatrième piste. Le changer plus tard n'est pas la chose la plus facile à faire. Même pendant que je construisais ma deuxième version de la pédale, j'ai fait des allers-retours pour ajouter un bouton pour "UNDO", mais j'ai décidé de ne pas le faire. J'ai trouvé plus tard qu'il nous était vraiment utile mais je n'ai pas laissé assez d'espace pour cela. J'ai fini par devoir prendre le chemin des "programmeurs" et effectuer plusieurs tâches à la fois sur le bouton CLEAR. Maintenant, je l'ai pour qu'un appui court déclenche UNDO et qu'un appui long déclenche CLEAR.
Au-delà de cela, la seule autre considération ici est de savoir si vous souhaitez utiliser des pédales ou des commutateurs au pied. Au départ, j'ai opté pour des commutateurs au pied juste pour le coût, mais j'ai récemment construit une deuxième carte à l'aide de pédales et je les ai trouvées beaucoup plus faciles à utiliser.
Il existe de nombreuses options sur Amazon, mais celles que j'ai utilisées sont ci-dessous.
- Interrupteur au pied
- Protège-ongles
Pédale
Étape 2: Arduino
Dans l'instructable, plutôt que de vous dire de simplement utiliser une carte Arduino fabriquée, il répertorie chaque composant et vous permet de créer le vôtre. À mon avis, c'est ridicule étant donné qu'un tableau mfg coûte environ 10 $ sur Internet, alors faites-vous une faveur et allez-y.
www.amazon.com/Elegoo-EL-CB-001-ATmega328P…
Passons maintenant à mon premier "gotcha". Un élément important qui n'est discuté nulle part est de savoir comment créer l'esquisse (code) pour l'Arduino, ce qui est assez critique car les boutons ne feront rien sans cela. Je vous propose donc mon code. Encore une fois, je ne vais pas vous expliquer étape par étape comment programmer l'Arduino. Si vous allez sur leur page d'accueil, ils ont beaucoup de tutoriels sur la façon de le faire. Si vous êtes suffisamment averti, n'hésitez pas à le modifier, mais cela fonctionne le mieux pour vous.
Les bases
- La pédale a 8 boutons et 2 LED
- Une pression sur un bouton envoie un message de commande MIDI de l'Arduino
- Boutons (Pendant que je décris la fonction de chaque bouton, le code Arduino lui-même ne fait qu'envoyer une commande MIDI. la commande MIDI doit être liée à un script dans Mobius qui sera traité plus tard)
-
Les boutons se composent de deux groupes
- Global = Envoie la même commande MIDI quel que soit le mode
- Basé sur le mode = Envoie différentes commandes MIDI en fonction du mode
-
Basé sur le mode:
-
MODE = ce bouton change le "mode" de la pédale (Record / Play / Volume Control)
- Appuyez brièvement pour basculer entre le mode d'enregistrement et le mode de lecture
- Un appui long (plus d'une seconde) passe en mode de contrôle du volume.
-
ENREGISTRER/LECTURE
- En mode REC = En mode RESET, il démarrera la boucle et fermera la boucle lors de la prochaine pression et passera en mode Overdub. Après cela, il bascule entre Play et Overdub de la piste en cours.
- En mode PLAY = Rétablit et redémarre toutes les pistes
-
X / ARRÊTER
- En mode REC = Applique la fonction "multiplication instantanée" à la piste actuelle.
- En mode PLAY = Mute et Pause de toutes les pistes
-
PISTE 1/2/3
- En mode REC = En mode RESET, il démarrera la boucle et fermera la boucle lors de la prochaine pression et passera en mode Play. Après cela, il bascule entre Play et Overdub de la piste sélectionnée.
- En mode PLAY = Basculer entre Mute et Play
- En mode Contrôle du volume = la piste 2 parcourt les pistes, la piste 1 réduit le niveau de sortie (volume) de la piste actuelle de 5, la piste 3 augmente le niveau de sortie de la piste actuelle de 5.
-
-
Global
- RESET = applique la fonction "Global Reset"
-
DÉGAGER
- Un appui court (<1000ms) applique la fonction "UNDO" à la piste actuelle
- Un appui long (>=1000ms) applique la fonction "CLEAR" à la piste actuelle
-
LED
- LED REC = Rouge, allumée en mode Enregistrement.
- LED VOL = bleue, allumée en mode de contrôle du volume.
-
Épingles
- REC/PLAY = broche 3
- RÉINITIALISATION = broche 4
- X/STOP = broche 5
- EFFACER = broche 6
- PISTE 1 = broche 7
- PISTE 2 = broche 8
- PISTE 3 = broche 9
- MODE = broche 10
- LED REC = broche 11
- LED VOL = broche 12
Remarque: Un ami de la communauté, Claudio, a apporté quelques améliorations au croquis et l'a partagé avec nous. Merci Claudio !
Étape 3: L'interface MIDI
Il s'agit d'un domaine que je pense n'était pas couvert très clairement dans l'autre instructable. Fondamentalement, comme indiqué dans la section Arduino, la pédale et Arduino génèrent simplement une commande MIDI basée sur le bouton enfoncé. Pour être utilisé, vous devez envoyer le MIDI au PC exécutant Mobius. J'ai trouvé 3 façons de le faire et cela dépend du type d'interface audio que vous achetez (d'autres à venir).
- Option 1 - Selon l'interface audio que vous achetez, certains ont des ports d'entrée/sortie MIDI intégrés. Si tel est le cas, vous pouvez simplement suivre l'instruction et retirer le canal série sur l'Arduino et le connecter au port MIDI In. Vous pourrez ensuite le sélectionner comme source de contrôleur MIDI plus tard lors de la configuration de Mobius.
- Option 2 - Mon interface audio n'avait pas de port MIDI intégré, ce qui représentait un défi. J'ai donc initialement retiré le canal série comme dans l'option 1 et acheté un adaptateur MIDI vers USB séparé. Bien que cela ait fonctionné, je l'ai trouvé maladroit et peu fiable. De plus, j'étais frustré car il s'agirait d'une troisième connexion USB et mon PC n'en avait que deux. Je pouvais déconnecter le câble de l'Arduino que j'utilisais pour l'alimentation et le débogage, mais cela signifiait que j'aurais besoin d'une alimentation externe pour cela.
-
Option 3 - Je ne comprenais pas pourquoi je ne pouvais pas obtenir les commandes MIDI via la connexion USB et avoir la même puissance de connexion que l'Arduino. Je savais qu'il devait y avoir un moyen. Après de nombreuses recherches sur Internet, j'ai finalement trouvé un moyen d'utiliser deux applications gratuites.
- loopMIDI - Ironiquement nommée, cette application gratuite vous permet de créer un port MIDI "virtuel" sur votre PC. Tout ce que vous avez à faire est de l'installer et de définir un port de sortie MIDI virtuel et c'est tout. Il s'exécutera automatiquement au démarrage.
- Hairless MIDI - Ce programme vous permet de créer un "pont série" afin que vous puissiez mapper le port COM série utilisé pour programmer votre Arduino au port MIDI virtuel que vous venez de créer avec loopMIDI. Et Whalla ! Vous n'avez maintenant besoin que d'une seule connexion USB du PC à l'Arduino.
- REMARQUE: Si vous choisissez d'utiliser l'option 3, vous devez vous assurer que le code Arduino a le débit en bauds du canal série défini sur 38400 au lieu du 31250 standard utilisé par MIDI.
- // Définir le débit en bauds MIDI:
- //Serial.begin(31250);
- // Définir le débit en bauds à 38400 pour Hairless MIDI
- Serial.begin(38400)
Étape 4: L'interface audio
C'est donc probablement le composant le plus important que vous devrez sélectionner. Étant donné que le faible coût était un facteur clé pour moi, j'ai cherché une interface audio bon marché. J'ai fini par m'installer sur le BEHRINGER U-PHORIA UM2 (https://www.amazon.com/Behringer-UM2-BEHRINGER-UP…) car il était bon marché et avait 2 canaux d'entrée et 2 canaux de sortie, ce dont j'avais besoin. Il existe de nombreuses options, mais cela pourrait légèrement modifier la configuration de Mobius plus tard.
S'il vous plaît, comprenez que vous obtenez ce pour quoi vous payez. Bien que l'UM2 fasse un excellent travail pour son prix, je rencontre parfois des problèmes tels qu'un son "pop" aléatoire si je superpose trop de couches ou si je deviens parfois statique et que je dois redémarrer l'interface. Donc, si vous voulez vraiment jouer avec cette pédale, optez pour une interface audio de meilleure qualité.
Je pensais vraiment que ce serait simple, mais cela a fini par être le problème le plus difficile à résoudre pour moi et m'a presque conduit à abandonner le projet. Lorsque vous le branchez pour la première fois sur votre PC, Windows installe automatiquement un pilote et vous pensez que vous êtes prêt, n'est-ce pas ? Tort. Après l'avoir configuré pour la première fois et commencé à enregistrer des pistes, j'ai trouvé que la latence était si mauvaise (plus d'une seconde) que la pédale était fondamentalement inutilisable. Je devais faire quelque chose de mal. Encore une fois, après une tonne de recherche sur Internet, j'ai trouvé le problème. Windows installera un pilote MME par défaut pour l'interface audio. Les pilotes MME ont une latence très élevée et ne conviennent pas à l'enregistrement en temps réel. J'ai dû aller sur le site Web de Behringer et trouver le pilote ASIO pour mon interface spécifique. Les pilotes ASIO sont spécialement conçus pour minimiser la latence, ce dont vous avez besoin ici. Après l'installation de ce pilote, la latence d'enregistrement n'était même pas détectable par l'oreille humaine. Donc, ce qu'il faut retenir ici, c'est que quelle que soit l'interface audio que vous utilisez, assurez-vous d'obtenir le pilote ASIO du fabricant et évitez les maux de tête que j'ai rencontrés.
Étape 5: Mobius
Avouons-le, sans Mobius, tout ce que nous avons jusqu'à présent est un pédalier de contrôleur MIDI. Mobius est un logiciel gratuit créé par Circular Labs (https://www.circularlabs.com/) qui effectue tout l'enregistrement et le bouclage. C'est vraiment un programme incroyable. Cela étant dit, la documentation de Circular Lab que j'ai trouvée très insuffisante. Après l'installation, vous obtenez une fenêtre avec 8 pistes et des tonnes de boutons, de compteurs et de compteurs. Il m'a fallu un certain temps pour comprendre comment naviguer dans l'interface graphique et la configurer selon mes besoins. Heureusement, j'ai trouvé une vidéo youtube publiée par edsutcliffe qui vous explique pas à pas la configuration.
Après cela, la seule partie de la configuration avec laquelle j'ai eu des problèmes était de mapper un certain canal d'entrée sur une certaine piste. Dans la vidéo, ils utilisent une interface à 4 canaux et chaque canal apparaît indépendamment dans Mobius. L'interface UM2 que j'ai utilisée utilise en fait un seul canal stéréo et utilise indépendamment les canaux droit et gauche. Je ne vois donc qu'un seul "canal" dans mobius mais je peux mapper un seul canal en déplaçant le paramètre "Pan" complètement vers la gauche ou vers la droite. J'ai donc les pistes 1 et 2 avec un panoramique complètement à droite de sorte que seul le canal 2 (instrument) soit enregistré. Ensuite, pour la piste 3, j'ai laissé le panoramique au milieu pour pouvoir enregistrer le micro ou la guitare dessus. Si je veux uniquement enregistrer le micro, je ferais un panoramique jusqu'au canal gauche.
Étape 6: Scripts Mobius et liaisons MIDI
La dernière pièce du puzzle est constituée des scripts Mobius et des liaisons MIDI. Même si je suis très familier avec la programmation informatique, j'ai trouvé le langage de script Mobius un peu déroutant et pas bien documenté. Il m'a fallu beaucoup de temps et beaucoup d'ajustements pour les obtenir comme je le voulais, mais au final, ils fonctionnent pour ce dont j'ai besoin. Les étapes pour lier les scripts aux commandes MIDI dans Mobius sont décrites en détail dans la vidéo youtube à l'étape 5.
Eh bien c'est ça. J'espère que ces conseils vous aideront dans votre construction et que vous pourrez éviter les frustrations que j'ai rencontrées.
Étape 7: Version 1.5
Donc, après avoir utilisé ma pédale pendant près de deux ans, j'ai décidé que je voulais apporter un léger changement à son fonctionnement. J'ai rencontré des cas où la fonction "PLAY ALL" a compliqué les choses. Souvent, j'avais une piste en sourdine et je voulais arrêter toutes les pistes et simplement redémarrer les deux pistes en cours de lecture. Avec l'opération actuelle, les trois pistes redémarreraient et je devrais rapidement couper la piste indésirable. Malheureusement, je n'ai pas pu trouver un bon moyen de le faire dans Mobius. Pour ce faire, je devais le faire dans le code Arduino. Rappelez-vous que la pédale et le code Arduino étaient à peu près "idiots". Il n'envoyait une commande MIDI que lorsqu'une pédale était enfoncée et les scripts Mobius faisaient tout le reste. Avec ce changement, j'ai essentiellement déplacé toute l'intelligence de lecture dans le code Arduino et suivi les états de chaque piste individuelle. Cela a donc fini par être une réécriture presque complète du code Arduino. J'ai même fini par construire un petit pédalier de débogage pour développer et tester le nouveau code. Si vous êtes intéressé par ma nouvelle méthode, lisez la suite, sinon les fonctions décrites ci-dessus fonctionneront très bien.
Afin de faire fonctionner le "PLAY ALL" comme je le voulais, j'ai dû ajouter un nouvel état à chaque piste avec que j'appelle "ARM". Avant, en mode PLAY, appuyer sur la pédale de piste faisait basculer entre MUTE et PLAY. Maintenant, une pression sur la pédale ira de PLAY à MUTE mais basculera ensuite entre ARM et MUTE. Une piste ne sera pas rétablie tant qu'elle n'est pas dans l'état ARM et qu'ensuite la pédale PLAY est enfoncée. Lorsque la pédale STOP est enfoncée, toutes les pistes de PLAY sont mises en ARM et seules elles seront redémarrées lorsque PLAY est enfoncé. Le problème est qu'il n'y a aucune indication dans Mobius par rapport à l'état ARM. Donc, pour résoudre ce problème, j'ai ajouté une LED tricolore à chaque piste où MUTE est désactivé, PLAY est vert, REC/OVERDUB est rouge et ARM est orange.
Maintenant, j'ai fait une erreur de "tête d'os" en faisant cela. Mon Arduino UNO n'avait pas assez d'E/S numériques pour piloter les nouvelles LED, j'ai donc mis à niveau vers l'Arduino Mega (https://www.amazon.com/gp/product/B01H4ZLZLQ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1). Ainsi, le code publié utilise la disposition des broches au lieu de l'ONU. J'ai réalisé plus tard que j'aurais pu déplacer 6 des pédales vers les entrées analogiques, puis utiliser les numériques pour piloter les LED. Mon code peut facilement être modifié pour fonctionner de cette façon et s'il y a suffisamment d'intérêt, je le ferai même moi-même et le posterai. Cependant, le Mega ne coûte qu'environ 5 $ de plus que l'UNO et vous donne 32 E/S de plus, donc je ne pense pas que ce soit un gros problème.
La dernière chose dont je veux parler, ce sont les LED de piste elles-mêmes. Je les ai utilisés sur Amazon (https://www.amazon.com/gp/product/B077XBMJFZ/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1). Je les ai appelés LED "tricolores" mais si vous les recherchez, elles seront sous "bicolores". En effet, ils ne contiennent que deux LED, une verte et une rouge. Cependant, en les allumant tous les deux en même temps, vous obtenez de l'ambre. Gardez également à l'esprit que puisqu'il s'agit d'une "anode commune" et que vous appliquez 5V à la broche commune et devez connecter la broche Arduino à la cathode. Cela rend les LED "actives basses" afin qu'elles soient éteintes lorsque la broche Arduino est haute et allumée lorsqu'elle est basse. Si vous achetez différentes LED qui ne sont pas des anodes communes, le code Arduino ne fonctionnera pas tel qu'il est écrit mais peut facilement être adapté. Enfin, j'ai passé beaucoup de temps à peaufiner les valeurs de résistance jusqu'à ce que je puisse obtenir la couleur ambre que je voulais. Le vert est plus brillant que le rouge, j'ai donc utilisé une résistance de 1K ohm pour réduire sa luminosité. Une autre option consiste à connecter les LED aux canaux numériques PWM et à contrôler la luminosité de la fonction analogWrite (pin, value).
Pour info - apparemment, Instructables.com ne permet plus aux utilisateurs de télécharger des fichiers.zip, j'ai donc mis tous les scripts et le code aurduino dans github. Veuillez y accéder ici.
github.com/mjoseph81/loop_pedal_public
Eh bien, j'espère que vous avez apprécié cette instructable. Faites-moi savoir si vous avez des questions et bonne boucle.
Conseillé:
Système de présence basé sur les empreintes digitales et RFID utilisant Raspberry Pi et la base de données MySQL : 5 étapes
Système de présence basé sur les empreintes digitales et RFID utilisant Raspberry Pi et la base de données MySQL : vidéo de ce projet
Notions de base sur les transistors - Tutoriel sur les transistors de puissance BD139 et BD140 : 7 étapes
Notions de base sur les transistors | Tutoriel sur les transistors de puissance BD139 et BD140 : Hé, quoi de neuf, les gars ! Akarsh ici de CETech.Aujourd'hui, nous allons acquérir des connaissances sur la centrale des circuits de transistors de petite taille mais beaucoup plus gros dans le travail.Fondamentalement, nous allons discuter de quelques bases liées aux transistors et
Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): 4 étapes (avec images)
Générateur de musique basé sur la météo (Générateur Midi basé sur ESP8266): Bonjour, aujourd'hui, je vais vous expliquer comment créer votre propre petit générateur de musique basé sur la météo. Il est basé sur un ESP8266, qui ressemble un peu à un Arduino, et il réagit à la température, à la pluie et l'intensité lumineuse. Ne vous attendez pas à ce qu'il fasse des chansons entières ou un programme d'accords
Moniteur météorologique M5Stack M5stick C basé sur ESP32 avec DHT11 - Surveiller la température, l'humidité et l'indice de chaleur sur le M5stick-C avec DHT11 : 6 étapes
Moniteur météorologique M5Stack M5stick C basé sur ESP32 avec DHT11 | Surveiller l'indice d'humidité et de chaleur de la température sur M5stick-C avec DHT11 : Salut les gars, dans ces instructables, nous apprendrons comment interfacer le capteur de température DHT11 avec m5stick-C (une carte de développement par m5stack) et l'afficher sur l'écran de m5stick-C. Donc, dans ce tutoriel, nous allons lire la température, l'humidité & chauffer je
Comment contrôler le commutateur intelligent de base Sonoff basé sur ESP8266 avec un smartphone : 4 étapes (avec photos)
Comment contrôler le commutateur intelligent de base Sonoff basé sur ESP8266 avec un smartphone : Sonoff est une gamme d'appareils pour Smart Home développée par ITEAD. L'un des appareils les plus flexibles et les moins chers de cette gamme est le Sonoff Basic. Il s'agit d'un commutateur compatible Wi-Fi basé sur une excellente puce, ESP8266. Cet article décrit comment configurer le Cl