Tever
FR

Tutoriel · Labo DIY

Faire de la musique avec Arduino : du buzzer au MIDI

Comment faire sonner un Arduino, d'un buzzer avec tone() à la transformation de capteurs en contrôleurs. Un parcours pratique, sans matériel coûteux.

Arduino UNO connecté en USB à un ordinateur portable ; capteur ultrasonique HC-SR04 avec une main au-dessus le contrôlant ; à l'écran, un éditeur de code avec une forme d'onde et des notes de musique

Faire de la musique avec du code est satisfaisant, mais la faire avec un gadget que l’on tient dans la main l’est encore plus. Arduino est un outil qui comble bien cet écart : une carte bon marché, un environnement simple et la possibilité de passer du « hello world » à quelque chose qui sonne en une après-midi. Je décris ici les trois niveaux qu’il vaut la peine de gravir, du plus simple au plus avancé.

Niveau 1 : son direct avec tone()

Le premier son sort d’un buzzer piézoélectrique — un composant qui coûte quelques centimes — et d’une seule fonction : tone(). On lui passe la broche à laquelle le buzzer est connecté et une fréquence en hertz, et la carte génère une onde carrée à cette fréquence. 440 Hz est le la de référence ; augmenter le nombre fait monter la note.

tone(8, 440);   // commence à jouer le la sur la broche 8
delay(500);     // une demi-seconde
noTone(8);      // silence

En enchaînant fréquences et silences avec delay() on obtient déjà une mélodie. C’est rudimentaire — onde carrée, une seule tonalité à la fois — mais c’est de la vraie musique qui sort de son code. Le premier « ta-da » accroche.

Niveau 2 : laisser le monde physique commander

Un Arduino qui ne fait que reproduire une mélodie fixe est une boîte à musique. La magie arrive quand il lit des capteurs et laisse l’environnement contrôler le son. C’est là que la carte gagne sa place dans le laboratoire.

Le cas le plus simple est un potentiomètre : on le lit avec analogRead(), qui renvoie un nombre, et on convertit ce nombre en fréquence. Tourner le bouton change la note en temps réel. À partir de là, tout consiste à changer de capteur :

  • Un capteur de distance à ultrasons transforme le geste d’approcher ou d’éloigner la main en hauteur de son : un instrument sans contact, comparable dans l’idée à un theremine fait maison.
  • Un capteur de lumière (une LDR) fait en sorte que l’ombre module le son.
  • Un accéléromètre transforme le mouvement de la carte en musique.

Le schéma est toujours le même : lire une grandeur physique, la projeter sur un paramètre musical, produire du son. Cette traduction est, en miniature, de l’informatique musicale mise entre les mains : lire le monde physique et le convertir en instructions MIDI.

Niveau 3 : parler MIDI

Le buzzer a ses limites : une onde laide et une seule voix. Le bond qualitatif consiste à ne plus générer le son sur la carte et à transformer Arduino en contrôleur : il lit les capteurs et, au lieu de faire du bruit, envoie des messages MIDI à un ordinateur, où un synthétiseur digne de ce nom fournit le timbre.

L’idée s’inscrit naturellement dans ce qu’on a vu sur MIDI : l’Arduino n’envoie pas d’audio, seulement des instructions — « commence cette note, à cette vélocité ». Le capteur décide quelle note ; l’ordinateur décide comment elle sonne. On sépare le geste du timbre, et soudain votre gadget à quelques euros contrôle n’importe quel instrument virtuel.

Les trois niveaux en un coup d’œil

NiveauMatérielTechniqueSortie
1Buzzer piézoélectriquetone() + delay()Mélodie monophonique
2Capteur (potentiomètre, ultrasons, LDR)analogRead() + projectionContrôle en temps réel
3Sans haut-parleur (USB ou série)Protocole MIDISynthétiseur externe

Par où commencer

Il n’est pas nécessaire d’acheter quoi que ce soit de coûteux pour la première étape : une carte, un buzzer, un câble et l’éditeur officiel suffisent pour le niveau 1. Le niveau 2 nécessite un capteur bon marché. Le niveau 3 demande, avant tout, de bien comprendre ce qu’est MIDI avant de l’implémenter.

Chaque niveau fonctionne de manière autonome. Inutile d’atteindre le MIDI pour en profiter : avec un buzzer et vingt lignes de code, on fait déjà de la musique avec ses mains.

Références

Les références sur lesquelles s’appuie cet article, et par où poursuivre la lecture :

Questions fréquentes

  • ¿Qué Arduino es mejor para empezar con proyectos de música?

    La elección depende de lo que quieras hacer.

    Arduino UNO es el punto de entrada recomendado para nivel 1 y 2: generar tonos con un zumbador piezoeléctrico, leer potenciómetros y sensores, y controlar un servo o un LED con la música. Es barato, tiene documentación abundante y los errores son fáciles de depurar.

    Arduino Leonardo o Arduino Micro son la siguiente escala si quieres enviar mensajes MIDI por USB sin adaptadores. Estos modelos incorporan un chip ATmega32u4 capaz de emular un dispositivo USB-HID —teclado, ratón o controlador MIDI— directamente. Eso significa que el ordenador los reconoce como un instrumento MIDI sin instalar drivers ni usar conversores DIN a USB.

    Para proyectos con MIDI 5-pin tradicional (conector DIN), cualquier Arduino con UART sirve; solo necesitas un circuito optoacoplador estándar. Lo explico con esquemas en Arduino y música: del zumbador al MIDI.

  • ¿Necesito saber música para hacer proyectos de sonido con Arduino?

    No es imprescindible. El nivel de entrada es un zumbador piezoeléctrico conectado a un pin digital: le pasas una frecuencia en Hz y genera un tono. Eso no requiere leer partituras ni saber teoría musical. A medida que avanzas —escalas, melodías, MIDI— el conocimiento musical empieza a tener valor, pero el punto de partida es puramente electrónico. Lo cuento paso a paso en Arduino y música: del zumbador al MIDI.