Auteur Sujet: ukulélé electronique  (Lu 8634 fois)

krodelabestiole

  • Administrator
  • Nyarlathotep Fongus
  • *
  • Messages: 1632
ukulélé electronique « le: décembre 02, 2009, 23:51:43 pm »
j'hésite entre ware dur et circuit bending mais comme ya plus de bidouilleurs par ici j'aurais peut-être plus de conseils vu que c'est un poil pointu :

je fabrique un instrument de musique
un genre de basse électronique percussive
[edit]non pas - il s'agit d'un tambourin-ukulélé wireless mec

je compte mettre 2 piezos (percussion main droite) et 3 capteurs de position (mélodie sur le manche, main gauche)

ça ferait 7 câbles à tirer jusqu'à l'arduino du coup (1 5v, 1 masse, 2 piezo et 3 cv)
ça fait un câble de + qu'un câble midi, dommage (j'avais prévu le coup comme ça à la base avec un boitier arduino + carte son externe)
je pensais utiliser 2 entrées de ma carte son pour les piezos et 3 analog in arduino pour les capteurs

traitement sonore dans max msp

l'alternative à laquelle je pense serait d'utiliser un arduino bluetooth intégré dans le corps de l'instrument
comme ça pas de galère de câble



quelqu'un à testé arduino bluetooth ?
temps de latence ?
stabilité ?
portée ?

du coup je connecterai logiquement mes piezos direct à l'arduino (et pas à la carte son)
mais les tests que j'ai effectués avec duemilanove donne pas grand chose via maxuino les valeur d'analog in sont justes étranges
je trouve pas trop d'info sur maxuino + piezo en fait

et physiquement c'est plus serré que ça en a l'air (j'ai dû trop poncer mon bout de bois)
je vais peut-être réduire mes ambitions et me contenter de 2 capteurs de position et d'un câble midi ça serait plus simple à tous les niveaux ...

si quelqu'un à une idée pour un câble à 7 broches qui conviendrait pour la scène ou n'importe quel autre renseignement, c'est merci

Jean Bender

  • Hastur Vomitron
  • *
  • Messages: 1157
ukulélé electronique « Réponse #1 le: décembre 03, 2009, 00:22:24 am »
ce bon vieux DIN 8 ???



tu dois pouvoir récupéer ça plutôt facilement à droite à gauche...

en même temps, deux piezzo, ça devrait pouvoir faire trois cables, vus qu'ils sont tous deux reliés à la masse... non ? tu gagnerais un cable et hop, ça fonctionne ??
l'autonomie sociale viendra quand notre défonce nous la gérerons nous même
------------
Low Tech / High Life

krodelabestiole

  • Administrator
  • Nyarlathotep Fongus
  • *
  • Messages: 1632
ukulélé electronique « Réponse #2 le: décembre 03, 2009, 00:58:08 am »
l'idée de base serait que l'arduino alimente mes capteur de position qui réagissent au final comme des résistances variables

donc un câble 5v, une masse, 2 câbles pour les piezzos
ça fait 4 + n pour n capteurs de position si j'ai bon

à moins que je mette une pile dans le corps peut-etre

et en fait je me suis planté un câble midi c'est un din 5 y a que 5 câbles donc  smiley7

je vais peut-être zieuté côté din 8 alors, et me fabriquer du câble spécifique  smiley4

je trouve aussi la solution bluetooth assez sexy, mais ça m'a l'air vachement plus compliqué à mettre en place et peut-être moins stable et éventuels problème de latences...
je vais glaner des avis sur le forum arduino

Lain

  • Hastur Vomitron
  • *
  • Messages: 974
ukulélé electronique « Réponse #3 le: décembre 03, 2009, 16:12:51 pm »
miam, joli projet, bien impatient d'entendre et de voir les résultats !!
Close the world, Op3n the n3xt

krodelabestiole

  • Administrator
  • Nyarlathotep Fongus
  • *
  • Messages: 1632
ukulélé electronique « Réponse #4 le: décembre 05, 2009, 03:14:37 am »
vouipe je pense que ça sera choete

j'ai fait la boiserie je réunis le matos
je vais commander cet arduino bluetooth c'est un poil cher 90€ mais ça permet d'aller aux chiottes en continuant son concert  smiley32

dwan

  • FTP echange
  • Radioactive ZOmbie
  • *
  • Messages: 235
ukulélé electronique « Réponse #5 le: décembre 06, 2009, 12:08:58 pm »
Faire un périphérique MIDI avec un arduino, c'est fastoooche. Ya une library exprès sur arduino.cc. Ton arduino traite les valeurs de tes capteurs, les transforme en MIDI et les envoie via un vrai câble MIDI.
Ça te permettrait de te brancher directement sur un synthé par exemple, sans passer par un putain de PC.

Bref, à mon avis, tu ferais mieux de faire un truc MIDI plutôt qu'un truc dépendant de Max/MSP et du Bluetooth. Après c'est sûr que jouer aux chiottes, ça n'a pas de prix...
Ascète en carton.

krodelabestiole

  • Administrator
  • Nyarlathotep Fongus
  • *
  • Messages: 1632
ukulélé electronique « Réponse #6 le: décembre 06, 2009, 15:39:11 pm »
hm

merci c'est une bonne idée à laquelle j'avais pas pensée
mais c'est pas tant le but en fait
le problème qui me saute aux yeux c'est la limitation sur 128 valeurs, les capteurs de position sont assez longs (50cm) et devraient balayer une large valeur de fréquence, du coup sur 128 valeurs on entendrait clairement le crénelage

et puis je suis pas près de me séparer de mon ordi pour liver de toute manière

dwan

  • FTP echange
  • Radioactive ZOmbie
  • *
  • Messages: 235
ukulélé electronique « Réponse #7 le: décembre 06, 2009, 16:29:21 pm »
smiley21

Les convertisseurs AN de l'arduino te donnent un chiffre entre 0 et 1023 inclus. Bien sûr, pour du midi, tu dois ré-échantillonner entre 0 et 127 mais tu peux utiliser la précision restante pour envoyer des messages pitch bend, peut-être.

Pour ce qui est du câblage, on trouve de l'USB de 5m à pas cher, mon arduino en est content.
Ascète en carton.

krodelabestiole

  • Administrator
  • Nyarlathotep Fongus
  • *
  • Messages: 1632
ukulélé electronique « Réponse #8 le: décembre 06, 2009, 22:43:47 pm »
Citation de: "dwan"
Pour ce qui est du câblage, on trouve de l'USB de 5m à pas cher, mon arduino en est content.


vouep effectivement.
le truc c'est que la fiche usb c'est vraiment pas terrible pour la scène
c'est un problème que je pourrais résoudre simplement j'imagine
(à la base j'avais pas choisi cette option parceque je comptais brancher les piezzos dans la carte son mais du coup en full arduino je vais me customiser un firmware vu que les signaux piezzo ont pas l'air de passer très bien via maxuino)

mais là ça ma fait envie un truc sans fil
j'ai vu aussi les modules xbee qui ont l'air très intéressant pour la communication sans fil

je reste quand même sur l'arduino bt puis je vous tiens au jus

dwan

  • FTP echange
  • Radioactive ZOmbie
  • *
  • Messages: 235
ukulélé electronique « Réponse #9 le: décembre 07, 2009, 21:34:13 pm »
Citation de: "krodelabestiole"
je comptais brancher les piezzos dans la carte son mais du coup en full arduino je vais me customiser un firmware vu que les signaux piezzo ont pas l'air de passer très bien via maxuino)


Ya un patch équivalent pour Pure data. Si c'est vraiment la même chose, c'est normal que ça ne transmette pas les signaux des piezos correctement. En fait, le patch se contente de demander tous les X ms à l'arduino l'état de ses entrées. Perso, je fais à chaque fois un programme arduino spécifique qui envoie des données uniquement en cas de besoin. Tu pourrais faire un prog arduino qui surveille très très fréquemment tes entrées et qui prévient le PC quand une entrée atteint une valeur intéressante, ça sera plus rapide que maxuino. Je suis sûr d'avoir vu qqpart sur le net un type qui s'est fait des pads midi avec des piezos et des tapis de souris, c'est à creuser.

Citation de: "krodelabestiole"
je reste quand même sur l'arduino bt puis je vous tiens au jus

 smiley14
Ascète en carton.

krodelabestiole

  • Administrator
  • Nyarlathotep Fongus
  • *
  • Messages: 1632
ukulélé electronique « Réponse #10 le: décembre 07, 2009, 22:26:36 pm »
Citation de: "dwan"
Ya un patch équivalent pour Pure data. Si c'est vraiment la même chose, c'est normal que ça ne transmette pas les signaux des piezos correctement.

c'est la même chose que pduino oui
Citation de: "dwan"
Tu pourrais faire un prog arduino qui surveille très très fréquemment tes entrées et qui prévient le PC quand une entrée atteint une valeur intéressante, ça sera plus rapide que maxuino.

c'est ce que je compte faire, oui
je pense que ça économise de la conso électrique via bluetooth en plus

merci pour les conseils

krodelabestiole

  • Administrator
  • Nyarlathotep Fongus
  • *
  • Messages: 1632
ukulélé electronique « Réponse #11 le: février 02, 2010, 13:43:41 pm »
ça y est j'ai tout construit
j'ai choisi l'arduino bt en fin de compte

je fais des essais depuis hier mais les piezos capteurs de chocs me donnent du fil à retordre.

schéma :


la vitesse de communication serial ne permet pas une analyse externe du signal, je loupe 3 knocks sur 4

j'ai trouvé deux sortes de codes pour gérer les piezo knock sensors

const int threshold = 100;  // threshold value to decide when the detected sound is a knock or not

 // these variables will change:
 int sensorReading = 0;      // variable to store the value read from the sensor pin
 int ledState = LOW;         // variable used to store the last LED status, to toggle the light

 void setup() {
  pinMode(ledPin, OUTPUT); // declare the ledPin as as OUTPUT
  Serial.begin(9600);       // use the serial port
 }

 void loop() {
   // read the sensor and store it in the variable sensorReading:
   sensorReading = analogRead(knockSensor);    

   // if the sensor reading is greater than the threshold:
   if (sensorReading >= threshold) {
     // toggle the status of the ledPin:
     ledState = !ledState;  
     // update the LED pin itself:        
     digitalWrite(ledPin, ledState);
     // send the string "Knock!" back to the computer, followed by newline
     Serial.println("Knock!");        
   }
   delay(100);  // delay to avoid overloading the serial port buffer
 }

http://arduino.cc/en/Tutorial/Knock
celui ci ne gère pas la vélocité

et

// deal with first piezo, this is kind of a hack
  val = analogRead(piezoAPin);
  if( val >= PIEZOTHRESHOLD ) {
    t=0;
    while(analogRead(piezoAPin) >= PIEZOTHRESHOLD/2) {
      t++;
    }
    noteOn(drumchan,note_hihatopen, t*2);
    delay(t);
    noteOff(drumchan,note_hihatopen,0);
  }

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

là il s'agit d'estimer la force de frappe en fonction du temps (t) que met l'onde à redescendre

ce que je trouve peu logique car on aura plutôt une notion de la fréquence que de la vélocité
d'ailleurs dans mes tests c'est vraiment pas convainquant

du coup je suis pour l'instant sur le premier système :
sensorReading_0 = analogRead(piezo_0);
if(sensorReading_0 >= threshold) {
  Serial.print("/piezo_0/");
  Serial.println(sensorReading_0);
  delay(60);
}

le plus simple possible en fin de compte
mais je crois que mon problème vient surtout d'un manque de sensibilité

sur le duemilanove en ne branchant qu'un piezo avec sa résistance les chocs électriques que j'envoie oscillent généralement entre 1 et 20 (sur 1024) et ça fonctionne relativement bien (c'est léger parce que je ne tape pas directement le buzzer mais la partie en bois sur laquelle il est collée)

mais sur le bluetooth j'ai l'impression que j'ai un gros buzz (même en débranchant les capteurs de positions)
en tout cas continuellement des valeurs entre 0 et 10 ce qui m'empêche de réduire le threshold en dessous de 10, du coup très peu de sensibilité
(pourtant en branchant en même temps le piezo à l'entrée de ma table de mix le buzz n'est pas si énorme, à moins qu'il ne soit pas dans les fréquences audibles)

je me demande si il y aurait un méthode pour réduire ce buzz que je n'ai pas sur le duemilanove
(par ex relier la masse qui alimente l'arduino avec celle que sort l'arduino serait une très mauvaise idée ? je m'y connais pas tant en électricité)

 :smiley47:

krodelabestiole

  • Administrator
  • Nyarlathotep Fongus
  • *
  • Messages: 1632
ukulélé electronique « Réponse #12 le: février 03, 2010, 04:00:16 am »
hu ya bien du buzz



un hit piezo noyé dans le fameux 50Hz

d'après mes test il est généré par l'arduino bluetooth lui même, même éteint
du coup la meilleure solution que je vois pour rester wireless serait de préamplifier les signaux des piezos

j'ai trouvé ça


je vais tenter le coup mais j'ai jamais fait ce genre de bricolage
je pense juste que ce qui marche pour un micro à electret devrait fonctionner pour un piezo

Jean Bender

  • Hastur Vomitron
  • *
  • Messages: 1157
ukulélé electronique « Réponse #13 le: février 03, 2010, 08:15:22 am »
fait gaffe, un micro electret a besoin d'être alimenté pour fonctionner, tandis qu'un piezo, non, là estl'une des différences majeures..

J'ai pas trop le temps de checker ça, mais si tu veux préamplifier tes piezzos, teste avec un cd4049, ça peut peut être faire l'affaire... C'est cheap, mais ça marche !

 smiley14
l'autonomie sociale viendra quand notre défonce nous la gérerons nous même
------------
Low Tech / High Life

krodelabestiole

  • Administrator
  • Nyarlathotep Fongus
  • *
  • Messages: 1632
ukulélé electronique « Réponse #14 le: février 03, 2010, 15:14:05 pm »
d'après un mec sur le forum arduino c'est r1 qui sert à alimenter l'electret donc c'est bon si je la vire

t'en pense quoi ?

ce circuit me plait bien parce que j'ai vraiment que dalle comme place