Table des matières:
- Étape 1: Dépendances
- Étape 2: Configurer les valeurs d'entrée Midi
- Étape 3: ajouter des dossiers supplémentaires avec des exemples
- Étape 4: ajouter et configurer des échantillons supplémentaires dans de nouveaux dossiers
- Étape 5: Référence du pavé numérique
Vidéo: Boîte à rythmes Raspberry Pi : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Exemple de séquenceur, via un Raspberry Pi + Python.
Le séquenceur a 4 polyphonies et permet à l'utilisateur de stocker et de sélectionner 6 séquences différentes qu'il peut alterner en temps réel, et prend en charge la possibilité de changer entre différents échantillons.
J'ai écrit le script d'une manière totalement utilisable avec n'importe quel contrôleur et son MIDI. J'utilise 18 banques de sons différentes, 16 échantillons chacune, mais ajouter ou soustraire des banques et des échantillons est facile et ne nécessite pas beaucoup de modifications. Si vous avez des problèmes, envoyez-moi un email: [email protected]
Trouvez le code sur GitHub à l'adresse:
N'hésitez pas à me dire si vous l'utilisez, et surtout si vous faites une vidéo avec !
Étape 1: Dépendances
Ce programme nécessite les modules Python (non intégrés) suivants:
mido
pygame
numpy
Cependant, Mido pose quelques complications car Mido lui-même nécessite quelques dépendances. Afin de vous assurer qu'ils sont tous installés, tapez simplement les commandes suivantes dans le terminal de votre Raspberry Pi (en omettant le '$') et tout ira bien. Les autres modules peuvent être installés normalement.
$ sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install libasound-dev ou libasound2-dev
$ sudo apt-get install libjack0
$ sudo apt-get install libjack-dev
$ sudo apt-get install python-pip
$ sudo apt-get install python-dev
$ sudo pip installer python-rtmidi
$ sudo pip installer mido
Étape 2: Configurer les valeurs d'entrée Midi
Dans le script Python principal, il existe un tableau appelé noteList qui est composé de 16 entiers (ligne 165.) Ce sont les valeurs de note MIDI que notre contrôleur envoie au Pi pour déclencher les sons. Cependant, chaque contrôleur midi est différent, donc à moins que vous n'ayez également un Akai LPD8, vous devrez probablement modifier ces valeurs pour qu'elles correspondent à votre appareil.
Le référentiel Github comprend également un autre script appelé "midihelp.py" spécialement conçu à cet effet ! Tout ce qu'il fait est d'imprimer les valeurs d'entrée du premier contrôleur MIDI reconnu par l'ordinateur sur la console. Tout ce que vous aurez à faire est de remplacer ces valeurs dans le tableau si elles diffèrent de celles incluses dans noteList.
L'ordre des notes est également en corrélation avec l'effet sonore joué par dossier, alors gardez cela à l'esprit également.
Étape 3: ajouter des dossiers supplémentaires avec des exemples
Les kits d'échantillons dans le script sont stockés via des dossiers dans le même répertoire, configurés exactement comme le kit 808 se trouve dans le fichier GitHub. De cette façon, je peux avoir toutes sortes d'ensembles d'échantillons différents stockés dans des dossiers qui sont facilement organisés et remplacés.
La seule chose à changer dans le script lui-même est la variable foldNum qui indique simplement au script combien de dossiers d'échantillons il y a. Actuellement, le script a foldNum défini sur un car il n'y a qu'un seul sous-dossier dans le même répertoire (le kit 808.) Le maximum de dossiers que le script peut gérer pour le moment est de 18, c'est le nombre que j'utilise, mais c'est assez trivial à modifiez cela, faites-moi savoir si vous avez besoin d'aide.
Les noms des dossiers n'ont pas vraiment d'importance (tant qu'ils sont tous différents) car le script lit simplement le nombre de dossiers dans le même répertoire et saisit les chemins de cette façon. Les noms des fichiers eux-mêmes sont cependant importants, plus à ce sujet à l'étape suivante.
Étape 4: ajouter et configurer des échantillons supplémentaires dans de nouveaux dossiers
Les sons sont chargés dans l'échantillonneur via des dossiers dans le même répertoire contenant des fichiers.wav avec des noms numérotés entre 0 et 15. Voir le dossier 808 inclus pour un exemple de ceci. CHAQUE sous-dossier contenant des échantillons doit être identique les uns aux autres.
L'index des entrées MIDI dans le tableau noteList correspond exactement au nom du fichier.wav.
Par exemple:
- lorsque vous déclenchez la note MIDI stockée dans noteList[0], le fichier wav 0.wav est lu.
- lorsque vous déclenchez la note MIDI stockée dans noteList[8], le fichier wav 8.wav est lu.
J'ai fait cela en partie pour que chaque contrôleur MIDI puisse être configuré facilement pour fonctionner avec le script, et aussi pour que je puisse facilement étendre ou limiter le nombre d'échantillons et d'entrées, ainsi que pour organiser les fichiers et le script de manière à ce que la grosse caisse les sons, par exemple, seraient toujours sauvegardés en tant que 0.wav et seraient déclenchés par la première note MIDI.
J'ai choisi 16 valeurs un peu arbitrairement pour correspondre aux 16 entrées de mon contrôleur, donc si vous préférez faire un séquenceur avec seulement 1 échantillon, ou avec beaucoup plus, tout ce que vous auriez à faire est de numéroter les fichiers audio en conséquence et soustrayez ou ajoutez les nombres stockés dans le tableau noteList pour qu'ils correspondent.
Si le kit 808 inclus fonctionne correctement mais que vous avez des problèmes avec vos propres échantillons, la solution serait très probablement de modifier la fréquence d'échantillonnage des fichiers pour qu'elle corresponde à la fréquence d'échantillonnage de 22 050 kHz et à la profondeur de 16 bits de PyGame. Vous pouvez le faire dans Audacity ou tout autre logiciel d'édition audio. Ils devraient fonctionner parfaitement à partir de là !
Étape 5: Référence du pavé numérique
D'accord, il se passe beaucoup de choses dans le séquenceur, plus que ce que j'avais en tête au départ, alors je me suis entassé un peu sur un pavé numérique pour correspondre à la fonctionnalité accrue. Ceci en tête, l'Astérisque* et le Point. les deux fonctionnent comme des touches de fonction.
RÉFÉRENCE
FONCTIONS PRINCIPALES
[8] - Activer et désactiver le métronome
[9] - Activer et désactiver le mode d'enregistrement
[Entrée] - Séquence Lecture/Pause
[0] - Supprimer la note actuelle dans la séquence
[Num Lock et *] - Arrêter
[Note MIDI et.] - Ne pas quantifier sur des nombres pairs
FONCTIONS TEMPO
[+] - Accélération du cours BPM
[-] - Course Ralentir BPM
[+ et *] - Accélérer rapidement le BPM
[- et *] - Ralentissement rapide du BPM
[+ et.] - Accélération fine du BPM
[- et.] - Fin ralentir BPM
FONCTIONS DE SÉQUENCE
[1-6] Séquence de rappel 1-6
[1-6 et.] Mémoriser la séquence 1-6
[0 et.] Effacer la séquence actuelle
CHANGEMENT DE DOSSIERS D'ÉCHANTILLONS
[1-9 et *] - Passer au pack d'échantillons dans les dossiers 1-9
[1-9 et * et.] - Passer au pack d'échantillons dans les dossiers 10-18
CONSEILS POUR LA SÉQUENCE:
-Effacez la séquence actuelle [0 et.] et stockez-la dans toutes les séquences que vous souhaitez effacer de la mémoire.
-Rappeler une séquence et la stocker sous un numéro différent pour la copier.
Conseillé:
Boîte à rythmes simple avec Arduino Uno et Mozzi : 4 étapes
Boîte à rythmes simple avec Arduino Uno et Mozzi : Vivre en Argentine signifie que le courrier international sera volé ou bloqué à la douane. Ajoutez la quarantaine Coronavirus et votre prochain projet est limité à une ancienne carte Arduino Uno. Bonnes nouvelles? Comme le dit le grand poète des Rolling Stones « Time is on m
Makey Makey Tambours électriques / Boîte à rythmes : 8 étapes
Makey Makey Electric Drums / Drum Machine: Ce tutoriel sur la façon de construire un ensemble de tambours électriques est une entrée dans le concours Makey Makey. Le matériel variera en fonction de la disponibilité et des choix personnels. Le carton peut être remplacé par des matériaux plus durables et superposés. avec mousse/ autre pour tex
HX1-DM - la boîte à rythmes DIY alimentée par Arduino DUE (fabriquée avec un Dead Maschine MK2) : 4 étapes
HX1-DM - la boîte à rythmes DIY alimentée par Arduino DUE recyclée (fabriquée avec un Dead Maschine MK2) : la spécification. Contrôleur Midi hybride / boîte à rythmes : alimenté par Arduino DUE ! 16 pads de détection de vélocité avec une latence très faible 1>ms 8 boutons assignables par l'utilisateur à n'importe quelle commande Midi #CC Séquenceur intégré 16 canaux (aucun ordinateur nécessaire !!) Fonction MIDI in/out/thru
Une boîte à rythmes indésirable alimentée par Raspberry Pi : 15 étapes (avec photos)
Une boîte à rythmes indésirable alimentée par Raspberry Pi : ce Instructable vous montrera comment faire une boîte à rythmes robotique alimentée par Raspberry Pi. C'est vraiment un projet amusant, créatif et interactif. Je vais vous montrer comment faire le fonctionnement interne, mais c'est à vous de décider de la batterie, de vous donner le
Boîte à rythmes servo Arduino : 4 étapes
Boîte à rythmes à servomoteur Arduino : il s'agit d'une simple boîte à rythmes ou d'un robot contrôlé par deux micro-servos et Arduino Uno. Les servos sont montés sur un support en bois en forme de L qui est maintenu à la caisse claire avec 4 aimants puissants. Les bras de servo sont boulonnés à deux baguettes qui servent de