ExSitu

Recherche et expérimentation artistique

Outils pour utilisateurs

Outils du site


Panneau latéral

prod:recherches:explorations:midi-drum

Midi Drum

Deuxième session - dimanche 11-03-18 et samedi 12-03-18

Petite session, un peu pris de cours par les événements extérieurs mais on a quand même avancé!

Objectifs initiaux
  • Améliorer le système de captation
  • Régler des intervals entre les attaques et les notes MIDI
  • Déboguer les problèmes de vélocité - en cours de réflexion
  • Concevoir un système de connection (capteurs/câbles et câbles/piezos) solide et ergonomique - en attente de matos
  • Définir une interface ergonomique, simple d’utilisation et modulaire
  • Définir les standards
  • Point matos - commande
  • Option lumière
  • Réglage directe des seuils (via bouton et potentiomètre) - abandonné
  • Réglage directe des notes MIDI (via bouton et potentiomètre) - abandonné
  • Tester les 4 différents diamètres de capteur piezo sur la batterie et sur le cajun
  • Teste du SHIELD-MIDI de Olimex (solution n°2)

Améliorer le système de captation

Régler des intervals entre les attaques et les notes MIDI

Pour avoir une précision et une réaction plus fidèle il faut augmenter la taille du buffer (code).

//#define SIGNAL_BUFFER_SIZE 100//
#define SIGNAL_BUFFER_SIZE 300
#define PEAK_BUFFER_SIZE 40
#define MAX_TIME_BETWEEN_PEAKS 5
#define MIN_TIME_BETWEEN_NOTES 5

En pratique, le problème se pose à cause de la mémoire SRAM (Static Read Access Memory) du Arduino Nano qui n’est pas assez puissante. Il faudrait utiliser comme alternative un Arduino Mega pour passer de 2K à 8K

Arduino Mega

Déboguer les problèmes de vélocité - en cours de réflexion

Je pense pour l’instant laisser tomber les histoire de vélocitée qui me dépassent un peu… On va dire que ce sera pour la V2 quand on se sera fait un max de pognon avec la V1 quoi…

Concevoir un système de connection (capteurs/câbles et câbles/piezos) solide et ergonomique

Coté capteur, connecteur jack 3.5mm stéréo femelle

Coté interface, connecteur jack 3.5mm stéréo femelle pour boîtier

Entre l’interface, un cordon jack 3.5mm stéréo

Définir une interface ergonomique, simple d’utilisation et modulaire

Définir les standards

Concernant les connections nous utiliserons le format jack 3.5mm stéréo. Nous pourrions avoir recours à l’utilisation de câble mono mais je reste convaincu que le stéréo (un câble en plus) nous laisse davantage de liberté quant à la possibilité de faire évoluer nos petites machines. L’idée est de pouvoir utiliser entre l’interface du midi-drum et les capteur n’importe quel câble jack 3.5mm stéréo mâle/mâle.

Fil rouge = Connection avec le positif du piezo
Fil blanc = Non utilisé
Fil dénudé = Masse

Coté boitier, nous sommes tombé d’accord pour l’utilisation du standard Eurorack utilisé dans le monde des synthétiseurs modulaires. Pratique puisque… modulaires, alimentation simple et puis je viens de le découvrir, attention, retenez votre souffle… Le format Eurorack est Open-Source!

Eurorack modules sont communément reconnus comme l'utilisateur plus populaire construit format synthé modulaire. Eurorack est open source, ce qui signifie que n'importe qui peut utiliser le format de mesure pour créer leurs propres modules uniques. Ce format étiqueté comme espacement horizontal ou HP pour faire court. Cas Eurorack viennent dans des tailles variées de HP, vous permettant de créer votre propre sélection personnelle de modules.

Il reste pas mal de recherche à faire… Quelques infos : https://sdiy.info/wiki/Eurorack

Point matos - commande

Côté boîtier:

  • 1 arduino mega
  • 5 connecteurs femelle 3.5mm jack stéréo à monter sur boitier -0,65 pièce-
  • 1 connecteur DIN 5 pin (MIDI) à monter sur boitier -4.10 pièce-
  • 5 diodes en stock à l’atelier
  • 5 résistances (pour les piezo) en stock à l’atelier
  • 3 sélecteurs rotatif 12 positions -5,24 pièce -
  • 6 résistances 220 en stock à l’atelier
  • 5 led en stock à l’atelier

Côté capteur :

  • 5 piezos en stock à l’atelier
  • 5 connecteurs femelle 3.5mm jack stéréo -0,40 pièce-

Câbles :

  • Liste à puce5 câbles jack 3.5mm mâle/mâle coudé d’un coté - 6,85 pièce-

Option lumière

Première session - samedi 03-02-18

objectifs :

  • Construire sur bread-board un circuit comprenant 5 entrées pour les piezos
  • Lire les entrées analogiques de l’arduino nano
  • Etablir la communication MIDI entre notre arduino et le Korg-Minilogue
  • Tester le code arduino
  • Connecter les piezo de la batterie au MIDI Drum
  • Tester le dispositif
  • Proposer une séance d’écoute publique le dimanche 04-02-18

Construire sur bread-board un circuit comprenant 5 entrées pour les piezos:

Les 5 résistances connectées aux piezos ont une valeur d’1MΩ Les 2 résistances du connecteur MIDI on une valeur de 220Ω Les diodes sont du type zener 5.1V

Tester et lire les entrées analogiques de l’arduino nano (code)

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue2 = analogRead(A2);
  int sensorValue3 = analogRead(A3);
  int sensorValue4 = analogRead(A4);
  int sensorValue5 = analogRead(A5);
  int sensorValue6 = analogRead(A6);
  // print out the value you read:
  Serial.println(sensorValue2);
  Serial.println(sensorValue3);
  Serial.println(sensorValue4);
  Serial.println(sensorValue5);
  Serial.println(sensorValue6);
// delay in between reads for stability
  delay(10);
}

Etablir la communication MIDI entre notre arduino et le Korg-Minilogue Utilisation du canal n°1, vérifier sur le Minilogue que le canal 1 est sélectionné

Test du code arduino (code)

Le sketch d’Evan Kale fonctionne plutôt bien: https://github.com/evankale/ArduinoMidiDrums/blob/master/ArduinoMidiDrums.ino

  • Réglage des seuils (THRESHOLD) possible
  • Réglage des notes MIDI possible
  • Réglage de la taille du buffer possible
  • Réglage de l’interval entre les attaques possible
  • Réglage de l’interval entre les notes possible
  • La vélocité reste un point d'interrogation

Un Autre code incluant la vélocité (à tester): https://beammyselfintothefuture.wordpress.com/2015/01/28/sensing-hit-velocity-and-quick-subsequent-hits-of-a-piezo-with-an-arduino-teensy/

Connecter les piezo de la batterie au MIDI Drum

Nous avons connecté les piezos à l'arrache avec du chatterton, en comparaison aux efforts fournis pour cette étape les résultats sont plutôt satisfaisants. Les piezos sont connectés aux entrées analogiques (A2-A3-A4-A5-A6) du arduino via des câbles (de mauvaise qualité - à changer) et pinces crocodil

Tester le dispositif pour ensuite définir les modification et améliorations à effectuer sur le dispositif.

  1. Réglage directe des seuils (via bouton et potentiomètre)
  2. Réglage directe des notes MIDI (via bouton et potentiomètre)
  3. Déboguer les problèmes de vélocité
  4. Réglage des intervals entre les attaques et les notes MIDI
  5. Tester les 4 différents diamètres de capteur piezo
  6. Améliorer (mousse) et protéger les capteurs piezo (résine)
  7. Concevoir un système de connection (capteurs/câbles et câbles/piezos) solide et ergonomique

Proposer une séance d’écoute publique le dimanche 04-02-18 à la baleine

Extrait de la séance d’écoute. Merci Gwendal!! https://soundcloud.com/gwendalbriec/klen-datu-improvisation-au-petit-dejeuner-sonore-de-la-baleine

MATOS

1) Shield Midi DEV-12898 de Sparkfun (commande passée)

https://www.gotronic.fr/art-shield-midi-dev-12898-24817.htm

Prix: 20.90€

Avantage: très bien documenté (https://learn.sparkfun.com/tutorials/midi-shield-hookup-guide) - 2 potentiomètres et trois boutons permettent certains controles en temps réel - entré + sorti midi - chainable (possibilitée d'utiliser plusieur interfaces dans le même système)

Inconvénient: seulement 3 entrées analogique disponible et donc trois piezos…

2) SHIELD-MIDI de Olimex (commande passée)

https://www.olimex.com/Products/Duino/Shields/SHIELD-MIDI/open-source-hardware

Prix: 14.90€

Avantage: Comporte 5 entrées configurée pour recevoir du piezo - une entré pour y connecter une série de bouton poussoir (sélection de presets par exemple) - Entré + sortie Midi + Midi thru - chainable (possibilité d'utiliser plusieurs interfaces dans le même système)

Inconvénient: Très peu de documentation technique

3) Drum Kit Kit de SpikenzieLab

https://www.spikenzielabs.com/Catalog/index.php?main_page=index&cPath=17&zenid=9d68b285f5449c7bec539c87c6a48d70

Prix: de 49.95$ à 69.95$ Avantage: Plug&Play - Plusieurs solutions Inconvénient: Prix abusé (de mon point de vu) - Besoin d'un adaptateur USB-FTDI pour reprogrammer la carte - un seul connecteur midi out

4) MIDI Drum made in Home (commande passée)

Prix: Variable à partir de 12 euros (5 piezo compris)

Des exemples et il y en a plein d'autres:

https://todbot.com/blog/2006/10/29/spooky-arduino-projects-4-and-musical-arduino/

http://www.beginnertopro.in/post/318

Avantage: On peut faire un peu ce qu'on veux (ajouter d'autres capteurs) - système sur mesure - prix - bonne documentation - ajout de potentiomètres de réglage de la sensibilité

Inconvénient: temps de développement - un seul connecteur midi out (même si une entrée midi reste possible mais c'est plus chiant)

TOTAL commande

(Gotronic 68,55€) + (Olimex 21,41€) = 89,96 €

Korg-Minilogue
prod/recherches/explorations/midi-drum.txt · Dernière modification: 17 12 2019 (modification externe)