Raspberry Pi Music Box – mon propre projet

IMG_20160530_175921

Depuis longtemps, je voulais faire un projet qui impliquait deux de mes passions: le Raspberry Pi et la musique. J’ai vu plusieurs projets qui l’ont géré avec succès, en particulier le Joytone qui utilisait beaucoup de joysticks pour créer de la musique. Plus récemment, Calvin Cherry a créé un instrument de musique avec des capteurs attachés à son corps qui produit un son basé sur le mouvement et la position.

Mon effort est illustré ci-dessus. C’est juste appelé La boîte à musique – Je l’ai appelé ainsi pendant si longtemps que, malgré la demande de suggestions sur Twitter, le nom est resté.

Si vous voulez regarder une vidéo plutôt que lire mes divagations, dirigez-vous vers le bas de la page.

Matériel

La boîte à musique est une boîte en bois (achetée à l’endroit magique connu sous le nom d’eBay) équipée de boutons sur le dessus et à l’arrière, trois Potentiomètres 10K (avec des boutons colorés qui font tout la différence, bien sûr) et une LED obligatoire (violette!) à l’avant. A l’intérieur, il est bourré de tout le câblage nécessaire pour connecter les boutons, potentiomètres et LED à un Raspberry Pi 2 via un CHAPEAU Adafruit Proto Pi planche. J’ai utilisé un MCP3008 Puce de conversion analogique-numérique pour prendre les lectures du potentiomètre.

1597068010 480 Raspberry Pi Music Box mon propre projetJ’avais initialement utilisé un ProtoPal de l’homme moyen mais je l’ai foiré. Je voulais juste crier à propos de la planche car elle aurait fait le travail un peu mieux que l’Adafruit. Je vais le réutiliser à un moment donné mais je dois sortir ma ventouse et la nettoyer un peu!

La boîte contient également circuits d’alimentation, un amplificateur, deux haut-parleurs et un Batterie LIPO (J’ai aussi un petit chargeur microUSB pour le LIPO). Les boutons sur le dessus (les deux Jaune et blanc) et la plupart des autres composants (y compris le joli Lunette LED sur le devant) venait de Makersify, qui est un fantastique magasin de fabricants basé au Royaume-Uni qui vend la majeure partie du stock d’Adafruit et peut commander tout ce qui n’est pas en stock.

Oh, quelque chose que j’ai appris en assemblant The Music Box: les potentiomètres 1K ne pas fait le travail. Le MCP3008 agit comme si rien n’était connecté. Un potentiomètre 10K, cependant, fonctionnera très bien. Grand merci à Alex Eames et d’autres sur Twitter qui m’ont aidé à diagnostiquer cela. Une fois de plus, la précieuse communauté Raspberry Pi arrive! Si quelqu’un sait Pourquoi c’est, par tous les moyens, laissez un commentaire!

Voici une photographie de l’intérieur de la boîte à musique. Je m’excuse que ce ne soit pas plus détaillé – il n’y a que jusqu’à présent que je puisse ouvrir la boîte sans que les entrailles ne tombent! Vous pouvez en voir plus dans la vidéo en bas.

IMG_20160530_183751

Logiciel

Le logiciel est un mélange de GPIO zéro, Python standard et le Bibliothèque pyFluidSynth qui communique avec FluidSynth, un synthétiseur qui lit les polices sonores. J’ai chargé trente-deux polices sonores différentes et il sera assez facile d’en ajouter d’autres car je peux simplement les déposer dans le dossier et le logiciel les chargera automatiquement.

Le programme importe les bibliothèques nécessaires, charge les fichiers de polices sonores, puis utilise GPIO Zero pour détecter les événements when_pressed et when_released. Lorsque ces événements sont détectés, les échantillons sonores sont démarrés ou arrêtés en conséquence. GPIO Zero est intrinsèquement multithread, ce qui signifie que je peux appuyer sur plus d’un bouton à la fois pour former des accords. Le code lit également un échantillon et allume la LED lorsque le programme est prêt à être utilisé.

Les trois potentiomètres contrôlent divers aspects de la lecture. Le potentiomètre rouge contrôle le volume auquel les échantillons sont joués. Le potentiomètre vert contrôle laquelle des trente-deux polices sonores est utilisée, c’est-à-dire quel instrument est reproduit. Le pot bleu contrôle l’ensemble des notes jouables sur les sept boutons. En tournant le potentiomètre vers la gauche, les notes les plus basses sont jouées tandis que le tournant vers la droite augmente la hauteur.

Merci à Ben Nuttall pour son aide au début pour comprendre le fonctionnement des gestionnaires d’événements. Merci aussi à Pimoroni qui a écrit le code du Pi Piano et m’a permis de démarrer. Je n’ai pas fini par le faire de cette façon à la fin, mais le code Pi Piano m’a aidé à trouver comment charger des fichiers non répertoriés à partir d’un répertoire.

Tout le code est disponible sur GitHub pour que vous puissiez inspecter! Des questions, laissez un commentaire!

Manifestation

Voici une vidéo de cinq minutes que j’ai faite de The Music Box. Dans celui-ci, je décris le matériel et le logiciel, je l’allume et je joue quelques sons.

YouTube video

J’espère que ce ne sera pas le dernier projet de musique / technologie que je fais car je l’ai trouvé vraiment épanouissant. C’était formidable d’utiliser autant de pièces différentes et de les rassembler pour créer quelque chose à la fois portable et, surtout, utilisable.

Pour toute question sur le matériel ou le logiciel, n’hésitez pas à laisser un commentaire ou à me contacter.