[projet] MIDIfication d'un orgue analogique

vohu:
Bon, alors ce sont des claviers 60 notes :stuck_out_tongue: (ce qui est bien rare dans un orgue)

La matrice clavier est assez complexe. il y a donc 61 fils jaunes par claviers (http://vohu.free.fr/c180/claviercircuit1.jpg) par claviers plus 3 x 12 suplémentaires (verts et rouges) (http://vohu.free.fr/c180/sousclavier7.jpg)

Concernant l'éléctronique sur laquelle tout ça est branché, j'y comprends rien :
http://vohu.free.fr/c180/sousclavier8.jpg

voilà, ensuite pour le reste, (y a beaucoup de flou) http://vohu.free.fr/c180/

Je sais pas trop ce qui est récupérable la dedans....

Au final, tant que je ne sais pas à quoi servent ces fils rouges et verts, et en partant sur la base d'un fil par note. j'en suis déjà à 120 fils claviers + 30 fils pédalier plus les masses.

Bonjour
Ouf
Joli
"ça Madame, c'est de l'ana de chez ana, entièrement fait à la main :grin: "
et vu le marquage de certains compos ça à largement plus de 20 ans (conception et construction)
à l’œil je dirais une tranche ana integratrice RLC par demi ou quart d'octave.
un bon début avant de s'engager sur du retrofit lourd , bien nettoyer/aspirer, tester le bon contact de chaque touche et reporter ça sur papier.
ensuite viendra la phase de réflexion sur comment faire au mieu pour réutiliser/midifié les claviers/pédaliers

question urgente...

L'instrument est impossible à monter dans mon appartement dans l'état...
il est dans une pièce commune en bas...

qu'est ce que je peux déjà enlever afin de l'alléger ?

La leslie ? le gros transfo du bas, les 3 circuits sur la porte latérale droite ?
qui sont de droite à gauche , la reverbe, au milieu je sais pas, et les circuits pour chaque note de pédale (je ne sais pas à quoi ils servent)
et les 3 gros HP

Personnelement, la leslie ne m'interesse pas, meme si je sais que certaines personnes sont fan...
J'ai juste besoin d'un instrument pour bosser mon répertoire. et là, c'est trop lourd pour chez moi (80kg minimum)

Bonjour
Au début, tu parles de 56 touches, sur les photos, on en voit 61, donc 5 octaves +Do mais tu parles ensuite de 61 fils donc: OK
Tu dis vouloir un instrument pour répéter, mais as-tu besoin d'un clavier piano de 88 notes?
Si un clavier de 61 notes te suffit, ou même 2 claviers plus pédalier, mais à traiter séparément, alors, tu as çà: MIDI Keyboard Encoder!
http://tomscarff.110mb.com/midi_8x9_keys/midi_8x9_keys.htm
Matrice à diodes, possibilité de 72 notes avec un Atméga 168 ou 328.
Donc, c'est possible avec un Arduino, mais si tu veux 88 notes, il faut passer en Méga, ou chainer 2 Arduinos je pense.
Sortie MIDI, il faut un Expandeur (générateur de sons) un petit ampli, et çà roule...
Soit tu achètes, soit tu programmes ton Arduino; Je ne suis pas arrivé a trouver un code, et je n'ai pas les compétences pour le faire, mais tu (on)devrais(t)trouver de l'aide sur le Forom. Tu peux faire chauffer le fer , et commencer à dissocier un clavier, bon courage.
Papyduino

oupppss, ça part en live.

Je réexplique.

je suis organiste, mon but est bien de garder cet orgue en tant qu'orgue.

Je veux midifier les 2 claviers et le pédalier (pour travailler mon répertoire d'orgue)
La partie génération des sons ne sera pas produite par de l’électronique, mais par un logiciel de virtualisation d'orgue qui attend les claviers et le pédalier sur 3 canaux différents de la même prise MIDI.

Sur le site que tu m'as donné : http://tomscarff.110mb.com/midi_8x9_keys/keys_8x9_switches.gif
ilil me faudra de toute façon 3 arduinos, un par clavier, et un pour le pédalier. a moins de démultiplexer ???
Il faut absolument que le tout sorte sur une seule prise MIDI
Est ce que le MEGA a assez de port pour gérer 61+61+30 notes avec un câblage de ce genre ?

Je ne veux absolument pas désolidariser un clavier de l'autre. Au pire, séparer le bloc clavierS complet pour le poser sur une table et le pédalier serai poser sous cette table (ce qui sera bien plus transportable)

Les orgues standards ont des claviers de 56 notes, l'orgue était coincé dans une voiture tout le WE, je ne pouvais pas trop aller voir. Et je me suis retrompé sur le compte de touches, j'ai juste fait 12x5 octaves sans compter le dernier DO. Effectivement, ça fait un clavier de 61 notes

Donc 62 fils par claviers (je me suis pas amusé à compter les fils un par un, puisque l'orgue est déposé dans le couloir en bas... le temps que je trouve une solution pour l'alléger et le monter dans mon appart.
SUr une des photos on voit sur la matrice clavier au niveau des 12 premières notes 3 séries de fils supplémentaires. 2 rouges, et une verte. Mais au pire, si je ne m'en sert pas, c'est pas grave. J'ai juste besoin d'avoir un signal ON et OFF (j'appuie ou j'appuye pas) en tenant compte de pouvoir jouer la meme note sur 2 claviers ou pédalier en meme temps etc)

Il pèse au moins 80kg et ne passe pas l'escalier étroit du 2ème étage de mon immeuble. D'ou, sans doute, de devoir le découper le plus vite possible, et donc de voir ce que je dois garder ou pas dans les pièces disponibles.

Personnellement, je préférerais me débarrasser de tout ce qu'il y a dedans et en rester au stricte minimum, et donc utiliser uniquement le câblage des claviers (avec la matrice) pour midifier à partir de là.

Il n'y a apparemment dans cet orgue aucun circuit intégré.

J'ai jusque samedi pour débarrasser le couloir :(. Je me sens un peu tendu dans le sens où je n'ai pas trop le temps de ne pas faire quelque chose que je regretterais.
C'est pour cela que j'ai besoin de vos conseils :blush: :blush:
Mais je ne peux pas faire les choses dans l'ordre qu'on me le demande pour l'instant.

Re
Tu dis:

Personnellement, je préférerais me débarrasser de tout ce qu'il y a dedans et en rester au stricte minimum, et donc utiliser uniquement le câblage des claviers (avec la matrice) pour midifier à partir de là.

Donc, fer à souder!
si tu ne veux conserver que les claviers. Mais si le meuble ne passe pas...

Il n'y a apparemment dans cet orgue aucun circuit intégré.

Tu as 12 oscillateurs "maître" dont on voit les bobines sous capot alu, et tu dois avoir quelque part une platine avec les diviseurs de fréquence pour les octaves inférieures. Des AY.... quelque chose ou autre reférence suivant le fabriquant, qui ne sont plus fabriqués et hors de prix.
De toute façon, si tu veux le Midifier, tu n'as besoin que des claviers avec leurs contacts, mais tu peux les laisser dans le meuble... qui ne passe pas! On tourne en rond

La partie génération des sons ne sera pas produite par de l’électronique, mais par un logiciel de virtualisation d'orgue qui attend les claviers et le pédalier sur 3 canaux différents de la même prise MIDI.

Donc, tu as la partie générateur de son; on ne peut pas deviner.

D'après ce que tu me dis, il me faudra de toute façon 3 arduinos, un par clavier, et un pour le pédalier. a moins de démultiplexer ???
Il faut absolument que le tout sorte sur une seule prise MIDI

Tu ne peux pas multiplexer si tu veux 3 canaux Midi différents.
Il te faut 3 Arduinos, chacun sur un clavier, et programmés chacun sur un canal Midi, donc 3 Midi OUT que tu branches sur un "Mergeur Midi" ou "Midi merge" pour n'avoir qu'une seule liaison Midi vers ton interface Midi.
Papyduino

vohu:
J'ai jusque samedi pour débarrasser le couloir :(. Je me sens un peu tendu dans le sens où je n'ai pas trop le temps de ne pas faire quelque chose que je regretterais.
C'est pour cela que j'ai besoin de vos conseils :blush: :blush:
Mais je ne peux pas faire les choses dans l'ordre qu'on me le demande pour l'instant.

Alors tu vire tout ce qui est lourd, la Leslie, les HP, le transfo, les tranches, l'ampli,la reverb et tu coupe au plus long possible tous les câbles qui sont connectés sur les touches/claviers/pedalier. pour faire court tu garde seulement la plus grande longueur possible de connexion en sortie de touche.
en gros tout ce qui arrive des torons et qui est connecté sur les tranches

OK, donc,

je vais scier le bloc supérieur de la console.

Il y a possibilité de débrancher la leslie et tout le reste très proprement.

Vu que certains composants sont chers et apparemment très recherchés, je vous propose de vous les laisser, si ça vous interesse :blush: contre un peu d'aide ou de temps :blush:

Salut,
Si tu n'as pas la vélocité à gérer ça me parait pas trop compliqué.
Ce qui demande un peu de réflexion c'est la partie multiplexage des touches. C'est exactement ce sur quoi je réfléchi pour mon projet en ce moment, et j'ai trouvé une superbe documentation ici : Input Matrix Scanning | Open Music Labs. Il y a plein de méthode pour multeplixer des bouttons (switch). Ici il y a même un exemple avec un clavier : XMEM matrix scanning | Open Music Labs.
En utilisant ces méthode un arduino uno sera suffisant pour le nombre de touches. Après je pense qu'en terme de latence ça devrait aller aussi.
Et pour ce qui est de 3 canaux sur une seule sortie midi c'est tout à fait possible. Si je me trompe pas quand tu envoie un message midi tu spécifie un canal.

J'ai commandé un uno32 : http://www.lextronic.fr/P22485-module-chipkit-uno32.html

Niveau rapidité 80Mhz, je pense que ça va le faire :slight_smile:
Pour 22€, c'est pas cher, et j'aurai la possibilité d'ajouter plein de commandes par la suite vu le nombre d'entrées/sorties

En espérant que la lib MIDI est bien compatible :blush:

Oui enfin envoyer un message midi, même sans la lib c'est pas très compliqué.
Des infos sur le midi : http://www.tigoe.net/pcomp/code/communication/midi http://itp.nyu.edu/physcomp/Labs/MIDIOutput

Hello!
Pour le multiplexage des touche tu peu aussi jeter un œil à ce lien :
http://www.dribin.org/dave/keyboard/one_html/
C'est très bien expliqué. Je réfléchi moi aussi à ce type de solution dans le but de modifier une vielle console lumière pour l'interfacer avec White cat ( http://www.le-chat-noir-numerique.fr/ )

Bon, j'ai bidouillé un fichier pour le schémas.

est ce qu'avec ce câblage, différencier la même note du clavier I ou II ?
http://vohu.free.fr/matriceorgue.jpg
Par contre, je n'arrive pas à comprendre ce qui est en entrée ou sortie sur ce 4051 :blush:
(source : Arduino Playground - 4051)

ou alors faire 3 fois ça :
http://tomscarff.110mb.com/midi_8x9_keys/keys_8x9_switches.gif

Hello

ou alors faire 3 fois ça :
http://tomscarff.110mb.com/midi_8x9_keys/keys_8x9_switches.gif

Tiens, finalement, je vois que tu reconsidères ma suggestion? donc, ce n'était pas aussi "live" que çà.
Pour 64 notes, il te faut 16 entrées ( 8x8) donc, pas besoin de multiplexage, une matrice à diodes suffit.
Tu en fais 3 et c'est joué; pour le pédalier, c'est plus simple.
Papyduino

ben disons que je sais que je vais pouvoir le déplacer demain, donc oui, j'ai l'esprit plus libre pour voir comment câbler.

J'ai des multiplexeurs, et 200 diodes 4051. je peux faire les 2 systèmes.

A la différence que pour les multiplexeurs, il faudra que je fasse un circuit imprimé, alors que les diodes, je devrais pouvoir les ajouter à la matrice existante.

Je cherche la solution la plus propre, et qui pourrait me permettre plus de flexibilité par la suite.

J'essaye de comprendre les 2 fonctionnements, c'est vachement interessant :stuck_out_tongue:

Très intéressant en effet!
j'ai essayé hier soir d'écrire un sketch pour lire une matrice à diodes, mais pour l'instant ça ne fonctionne pas. Je pense que mon erreur vient de l'initialisation des I/O. Qu'en pensez-vous ?

//matrice de nXn interupteurs = nXn valeurs écrites sur le port série
//n+n pins utilisé ;)

//collones :
const int premiereColonne = 2;    
const int derniereColonne = 9;

//rangées :
const int premiereRangee =  10;
const int derniereRangee =  17;


byte range[derniereRangee-premiereRangee+1]; // le nombre de rangées


/////////////////initialisation/////////////////////////////

void setup() {
  
  Serial.begin(9600);
   // initialisation des collones en output:
  for (int i=premiereColonne;i<derniereColonne+1;i++){
  pinMode(i, OUTPUT);
  }
  
  // initialisation des rangées en entrées:
  for(int i=premiereRangee; i<derniereRangee+1; i++){
  pinMode(i,INPUT);
  digitalWrite(i, HIGH); //turn on internal pullup
  }
////signature
Serial.println();
Serial.print("test_matrix_nXn");
Serial.println();
}

/////////////boucle principale///////////////////////////////

void loop(){
  
  for (int i=premiereColonne;i<derniereColonne+1;i++){
 collone(i);
  }
  

  Serial.println();
  
}

//////////fonction de lecture d'une collone////////////

int collone(int pin)  {
  
  digitalWrite(pin, HIGH);
 for(int i=premiereRangee;i<derniereRangee+1;i++)
{
    range[i]= digitalRead(i);
 
  
if (range[i]== HIGH)
{
  Serial.print("0,");
}
  
else
{
  Serial.print("1,");
}
  digitalWrite(pin, LOW);
}
}

Re
Il y a çà pour clavier matriciel 4x3
http://www.arduino.cc/playground/Main/KeypadTutorial
A adapter pour 8x8 et Midi
On avance...
Ici un lien sur quelqu'un qui a le même problème que toi, mais inactif depuis un moment, je ne sais pas s'il a avancé.

Papyduino

Ce We je vais souder les diodes sur le pédalier (ca sera plus simple pour commencer, plutot que les claviers)

histoire que je puisse voir le code plus concrêtement.

j'ai réussi à faire quelque chose sur les 8 premières notes du pédalier... sauf que tout est à l'envers...

c'est à dire que j'ai un 1 quand je fais rien, et un 0 quand j'appuye sur la touche...

J'aime pas trop ça

J'arrive un peu tard, mais c'est une jolie bêbête que tu as là!

J'en avais récupéré un de chez Yamaha, mais la grosse diff, c'est que le mien est à clavier matricé, le tien, on dirait qu'il y a un oscillateur par touche, donc ça va être plus dur à modifier ou midifier... Tu vas avoir tu pain sur la planche!

Pourquoi ne pas acheter un clavier maître? on en trouve des vraiment pas chers aujourd'hui... (désolé pour l'idée inutile)

Bonjour,
tu as raison.
Midifier ces claviers était trop lourd... sans compter l'encombrement du meuble....
Il aurai fallu que je vire le circuit des claviers pour en faire un autre et c'est pas possible pour mes finances.

Sur le pédalier, j'ai déjà du grater le cuivre commun pour découper en sections de 8 touches, je n'aurai pas pu faire parreil sur les claviers, puisque le contact commun passait par la barre qui axe les touches :smiley:

Donc, j'ai commandé 2 claviers 61 touches MIDI.

Le pédalier fonctionne, j'ai quelques "cornements" il faut que je trouve comment envoyer le signal "stop all" parce que ma fonction panic()que j'execute des qu'aucune touche n'est enfoncée ne semble pas fonctionner

void noteOn(int cmd, int pitch, int velocity) {
  Serial.write(cmd);
  Serial.write(pitch);
  Serial.write(velocity);
}
void panic()
{
  noteOn(123,0,0);
}