Jump to content

Comment faire un clavier maître avec la mb?


julestriko
 Share

Recommended Posts

Bonjour,

Je cherche à fabriquer un clavier maitre afin de tester une nouvelle configuration de touches (un peu celle du clavier droit de l'accordéon, mais pas tout à fait). C'est une disposition originale qui n'existe pas dans le commerce, et qui permet de faciliter l'apprentissage de l'impro jazz et la compréhension des règles harmoniques en général.

Chaque touche (ronde de 15 mm de diamètre environ) commande une notes (64 en tout) mais une même note peut être commandée par deux touches différentes. Ce clavier étant destiné à jouer de la musique, il est important qu'il y est de la vélocité (si j'appuie fort, le son sort fort). Et puis une course compris entre 2 et 4 mm, ce serait bien.

Pour cela, je sais que j'ai besoin du core et de modules ain, mais j'ai aussi besoin de boutons et d'un circuit qui me fournissent une tension proportionnelle à la force avec laquelle j'appuie, ainsi qu'un programme qui fasse bien interpréter le pitch et l'amplitude par le pic.

Pourriez-vous m'aider?

mugenply m'a déjà filé un lien vers des capteurs piezzo mais ce n'est pas tout à fait ça dont j'ai besoin, mais plus d'une course mécanique.

merci

Link to comment
Share on other sites

Bonjour,

c'est intéressant ce projet.

Certains claviers MIDI utilise normalement deux contacts pour détecter la vélocité. Un contact se fait avant l'autre, et le délai mesuré entre les deux déterminent la vélocité.

Pour utiliser cette méthode il faut un DINX4 et un moyen d'avoir 64 paires qui ont la même distance entre chaque boutons.

Les claviers que j'ai ouverts utilisaient une membrane et un circuit imprimé, comme une télécommande. Pas tout à fait simple...

Mais, un interrupteur SPDT pourrait être utilisé. Il faudrait utiliser un modèle qui débranche un pôle avant de connecter l'autre. Il y a moyen de mesurer le délai pendant lequel il n'y a pas de contact de cette façon.

Est-ce que la pression doit aussi être reconnue (Une fois la touche enfoncée, être capable de détecter la pression) ou seulement savoir la vitesse d'attaque? (La pression individuelle sur chaque note n'a jamais existée jusqu'à récemment.)

Sinon, il y a moyen d'utiliser l'effet hall, des senseurs optiques, etc. Il y a quelques idées ici pour différentes façons de reproduire la vélocité :

http://www.midibox.org/forum/index.php?topic=3088.0

http://www.midibox.org/forum/index.php?topic=1233.0

Dans un des sujets quelqu'un parle de senseurs Tactex, qui détectent la pression et la force en continu. Ça semble intéressant, mais à $100 USD / 6 senseurs, c'est un peu cher...

http://www.tactex.com/

http://www.tactex.com/files/Tactex_Product_List.pdf

Je vois très bien un senseur placé sous une touche qui aurait son propre ressort (Pour avoir la course nécessaire) la compagnie fait aussi des interfaces pour convertir le signal optique à analogique, alors pas de problèmes avec des modules AIN. Reste à programmer le logiciel.

Je viens d'envoyer un message à Tactex, pour voir si ça fonctionnerait et savoir si ça couterait pas trop cher 64 senseurs + modules optiques->analogue. En tout cas, j'ai vu sur leur site que le MiniMoog Voyager utilisent leur senseurs.

Bon, il y a tellement de moyens de faire un bouton avec détection de vélocité, mais en même temps, pas un seul de simple...

Personnellement j'oublierais les interrupteurs à potentiomètres, c'est pas très précis et il faudrait calibrer chaque notes différemment. L'effet hall est un peu trop compliqué, et le Tactex coûte une fortune.

Enfin, la méthode avec interrupteur SPDT serait probablement la méthode la moins compliquée et la plus économique selon moi, et le DINX4 avec ses 128 entrées serait parfait pour cela. Il faudrait par contre trouver quel interrupteur serait utilisable : Certains modèles n'ouvrent et ferment pas nécessairement le contact au même endroit, et d'autres changent d'un contact à l'autre à la même vitesse peu importe la vitesse d'appui. Si la pression est absolument nécessaire, on peut toujours voir ce qu'il ont comme solution chez Tactex si on reste dans l'abordable!

Link to comment
Share on other sites

Au fait:

http://www.midibox.org/forum/index.php?topic=5835.0

Le logiciel est déjà fait, il manque les interrupteurs maintenant... (J'ai envoyé un e-mail à une autre compagnie pour savoir qu'est-ce qu'ils auraient comme interrupteur. Le problème c'est qu'il faut un interrupteur SPDT ou ON-(ON), mais pas un "snap action", et pas un modèle interrupteur qui risque d'avoir des points de contacts à des endroits différents entre chacune des 64 notes.)

Link to comment
Share on other sites

Merci beaucoup pour cette petite enquête, je pense que je vais suivre vos conclusions, d'autant plus que j'ai déjà fait une première version en membrane+circuit et ça m'a coûté bien cher en circuit et les membranes ne sont pas faciles à trouver, et puis, après avoir refait mes calculs j'ai besoin de 108 touches commandant 63 notes donc il faut laisser tomber les senceurs, la vélocité fera l'affaire.

Avez-vous eu une réponses pour les interrupteurs spdt?

pour la course, finalement, il serait mieux d'avoir plutôt 5 mm (conseil d'accordéoniste), je précise aussi que les boutons feront 15 mm de diamètre se seront distant chacun de 1 mm.

si je résume, en plus des interrupteurs, j'ai besoin:

d'un core, de 8 DINx4 (reliés en série), d'un peu de câble, d'une fiche midi pour la sortie, et c'est tout, c'est bien ça?

et après il faut que je suive les explications de thorsen pour programmer la puce, et ça, ça peut se faire à partir de mon mac à travers la prise midi et une interface midi/usb?

merci encore,

jules

Link to comment
Share on other sites

Avez-vous eu une réponses pour les interrupteurs spdt?

Leur adresse courriel ne fonctionnait pas, j'ai envoyé un message au webmestre, et rien depuis...

de 8 DINx4 (reliés en série),

Peut-être qu'une matrice devra être utilisée (comme plusieurs claviers électroniques)

étant donné qu'il faut deux contacts par notes -> 216 contacts (les MIDIbox supportent jusqu'à 128 entrées)

Ça ferait des interrupteurs arrangés en 12 x 9 (2 contacts = 12 x 18) donc avec un DINX4 ou X2 et un DOUTX2 ou X4 ça fonctionnerait. La matrice peut être arrangée de plusieurs façons, il s'agit de la faire fonctionner avec le placement des boutons. Il n'y a pas de logiciel MIDIbox pour une matrice avec vélocité par contre... Deux modules core et huit DINX4 devraient être à envisager alors. De toute façon, ce qui importe le plus pour le moment, c'est de trouver des interrupteurs : La MIDIbox peut être arrangée de plusieurs façons pour réussir à avoir les 108 touches.

d'un peu de câble,

Je dirais pas mal de câble... (Si les interrupteurs sont sur une rangée, il y a presque 2 mètres de boutons à relier à deux modules.)

d'une fiche midi pour la sortie, et c'est tout, c'est bien ça?

Il faudrait aussi des boutons sur les interrupteurs pour obtenir la surface de 15mm

et après il faut que je suive les explications de thorsen pour programmer la puce, et ça, ça peut se faire à partir de mon mac à travers la prise midi et une interface midi/usb?

Seulement si le PIC est préprogrammé avec le bootloader, donc il faut l'acheter chez quelqu'un qui vend des PCB pour modules MIDIbox.

http://ucapps.de/mios_bootstrap_newbies_fr.html

J'ai trouvé quelques interrupteurs, il faudrait pourvoir obtenir des échantillons par contre, il y en a qui sont pas si mal sur papier mais on ne sait pas comment ils sont physiquement.

Un lien ici:

http://www3.alps.co.jp/WebObjects/catalog.woa/PDF/E/Switch/Push/SPED2/SPED2.PDF

À 100 interrupteurs et plus, vous pouvez acheter les interrupteurs directement des manufacturiers, et certaines compagnies acceptent même d'en fabriquer sur mesure à cette quantité, le seul hic étant d'avoir des pièces de remplacement.

Il faudrait avoir quelques spécifications par contre :

- Est-ce qu'il faut ressentir et/ou entendre un clic en appuyant sur les boutons?

- Comment est-ce que les boutons sont disposés? (Pour pouvoir dire quels modules utiliser et sur quoi monter les interrupteurs.)

les boutons feront 15 mm de diamètre se seront distant chacun de 1 mm.

Est-ce qu'il y aura un panneau? Je doute qu'il puisse passer entre les boutons... (Il faut dire qu'il n'y a rien entre les touches d'un clavier normalement)

Link to comment
Share on other sites

D'abord, juste une précision, je n'ai que 63 notes à commander donc un seul core suffit, ma note do, par exemple, est commandée par deux touches différentes qu'il suffira de relier au même pole du DIN correspondants à ce do.

En ce qui concerne les boutons, j'ai des adresses dans le 2ème, il suffira de les coller sur l'interrupteur.

Pour les interrupteurs, je vais passer à nation cette semaine voir ce qu'ils ont comme "spdt" ou "on-on" mais pas "snap action", et sans "clic" surtout, ce serait insupportable.

Sinon, j'ai pensé à un système, car j'ai bien peur que quelque soit l'interrupteur vendu dans le commerce, il y ait du jeu et il n'y a rien de plus agaçant que des touches qui gigotent. Je compte donc gérer moi-même le coulissage grâce à deux cylindres de laiton très serrés.

Est-ce que ce genre de montage pourrais fonctionner à votre avis?

shéma touche dualo.pdf

shéma touche dualo.pdf

Link to comment
Share on other sites

Sinon, j'ai pensé à un système, car j'ai bien peur que quelque soit l'interrupteur vendu dans le commerce, il y ait du jeu et il n'y a rien de plus agaçant que des touches qui gigotent.

Effectivement, je ne connais pas beaucoup d'interrupteurs qui n'ont pas de jeu, surtout pas un On-(On) à poussoir.

Je compte donc gérer moi-même le coulissage grâce à deux cylindres de laiton très serrés.

Est-ce que ce genre de montage pourrais fonctionner à votre avis?

Bonne idée! Par contre, je metterais peut-être un interrupteur à la place des contacts sous le bouton.

Si vous trouvez pas grand chose, l'interrupteur ALPS de 4.5mm de course avec un grand titre de "Smooth and linear operation feeling." devrait fonctionner alors

http://www3.alps.co.jp/WebObjects/catalog.woa/PDF/E/Switch/Push/SPED2/SPED2.PDF

Ils coûtent pas très cher non plus :

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=140154951809 (Je ne vois pas comment les pins sont montées sur ce modèle là, il y a un autre modèle pour circuits imprimés.)

Deux choses m'inquiètent :

-La force nécessaire pour l'appuyer.

-Il est testé seulement pour une durée de vie de 30 000 cycles.

D'abord, juste une précision, je n'ai que 63 notes à commander donc un seul core suffit, ma note do, par exemple, est commandée par deux touches différentes qu'il suffira de relier au même pole du DIN correspondants à ce do.

Sur un SPDT On-(On), quand la touche n'est pas appuyée, il y a un contact. Le logiciel serait confus quand il verra que sur la même note il y a un On et un (On), ça serait possible de faire fonctionner cela, mais sans vélocité.

Sur le forum en anglais, on m'a pointé sur un lien avec une MIDIbox qui utilise une matrice avec un clavier standard,

http://www.midibox.org/forum/index.php?topic=6386.0

mais le code est fait pour un clavier à membrane et donc deux "interrupteurs" Off-(On) avec des délais différents.

Apparament que le logiciel ne voit pas toujours les note-off et les interrupteurs ne sont pas des SPDT, donc, sans gros travail sur le logiciel (Je connais zéro assembleur ou C), impossible de faire quelque chose.

Ici, selon moi, la solution la plus simple (et coûteuse...) resterait deux cores et huit DINX4, comme il y a déjà un logiciel existant et seulement un peu de code à modifier.

Link to comment
Share on other sites

  • 4 weeks later...

Bon alors, j'ai fait ma petite enquête auprès des boutiques d'électronique et je me suis rendu compte que tout les touchers étaient vraiment dur et que de plus les inverseurs ont tendance à basculer d'un pôle à l'autre instantanément (enfin, je ne sais pas).

Les interrupteurs dont vous m'avez parlé sont trop gros, en effet mes touches sont disposées tout les 16 mm, car c'est assez grand pour qu'on puisse y mettre les doigts et assez réduit pour que l'on puisse effectuer des accords à 4 sons (les fameux accords 7 jazzy) avec seulement deux doigts, ce qui est une particularité intéressante de mon concept.

Donc, j'ai construit un prototype de touche, dont voici un schéma en pièce jointe, en gardant la même idée, sauf que là, j'ai relié tous mes ressorts à la masse, puisque la masse reste la même pour tous les DIN (n'est-ce pas?), qui eux-même sont reliés aux rivets qui vont faire contact en 1, puis en 2, avec 5 mm entre mes deux plaques de plexi, c'est à dire que j'aurai ainsi une plus grande souplesse, je pense, pour paramétrer la vélocité. Autre avantage, la place, tout ceci tient dans 5mm d'épaisseur.

J'ai construit ainsi une dizaine de touche, j'ai soudé les fils, et j'ai testé à l'ampermètre et ça marche.

On est bien d'accord qu'on doit avoir au repos un contact sur une première borne, puis coupure du contact, puis un second contact sur une autre borne?

Voilà, maintenant j'ai commandé les 2 core et les 8 DIN, et je vais commencer mon montage et dès que j'ai du nouveau, je relaisserai un post.

jules

schéma touche dualo 1.pdf

schéma touche dualo 1.pdf

Link to comment
Share on other sites

Il ne semble pas y avoir de problème.

Par contre, il serait peut-être bien de tester les touches avant d'en construire plus, pour voir si le contrôle de vélocité parvient à bien fonctionner, ou si la course est trop grande entre les deux contacts (la vélocité deviendrait nulle à une moindre hésitation des doigts, mais je ne n'ai pas essayé le prototype physiquement  ;) pour savoir si ça serait un problème ou non)

Link to comment
Share on other sites

  • 1 month later...

Bon, voici quelques nouvelles de mon projet.

J'ai commencé à fabriquer mon petit système de bouton manufacturé, ce fut une vraie mission de trouver les pièces (ressorts, rivets creux...), mais j'ai finalement trouvé.

Ceci dit, monter tout ça s'avère très fastidieux, beaucoup de câble, de perçage, de soudure, pour un résultat au niveau du toucher pas génial génial, car j'ai toujours un jeu dans mon mécanisme et les ressorts, c'est un peu moyen.

Et je commence à repenser un peu à cette idée de capteur pression:

http://www.conrad.fr/webapp/wcs/stores/servlet/ProductDisplay?catalogId=10001&storeId=10001&langId=-2&partNumber=1110313&ItemHighLightId=117744&ns_campagne=&ns_mchannel=hurra&ns_source=positionning&ns_linkname=keywords&ns_fee=0

Je me dis que cette solution et certes onéreuse mais le résultat serait peut être très intéressant, un toucher pression et non plus vélocité, donc plus proche de l'effet recherché, une mécanique solide, une fabrication beaucoup plus simple, moins d'espace et un toucher original peut-être même confortable.

Apparemment, on doit faire circuler du courant et fait varier la résistance en appuyant dessus.

Pensez-vous qu'avec des modules AINX4 on pourrais gérer ce genre de boutons, et récupérer de la "vélocité"?

Et puis question intéressante aussi: moins cher que conrad, ça se trouve, non?

Pour résumer mon projet (pour ceux qui suivent): il s'agit de deux claviers de 62 notes chacun, relié entre eux, chaque bouton mesure 16mm de diamètre et sont proches les uns des autres, disposés en alvéole (un peu comme le clavier droit de l'accodéon), et ce qui m'intéresse c'est d'avoir de la vélocité. Un clavier maitre en somme.

Link to comment
Share on other sites

Apparemment, on doit faire circuler du courant et fait varier la résistance en appuyant dessus.

En fait, c'est simplement un potentiomètre. On connecte 0v d'un côté, 5v de l'autre, et un voltage de 0 à 5v va sortir au milieu, c'est parfaitement adaptable au AINX4. En plus, contrairement à la solution numérique "on/off" qui, je crois, pouvait faire des erreurs à cause du timing de la matrice, il n'y aura pas de problème de ce côté la.

Et puis question intéressante aussi: moins cher que conrad, ça se trouve, non?

Probablement, et à cette quantité, il serait intéressant de voir avec le manufacturier. Sinon, je ne connais pas trop les magasins qui se trouvent en Europe.

Link to comment
Share on other sites

ah, salut maître dragon.

le problème, c'est que sur la photo, je ne vois que deux fils, et je trouve que 2 Mohms, c'est énorme.

mon idée c'est que, si un module AIN est bien un truc qui mesure une tension, on pourrais faire comme ça:

S'il n'y a pas de signal (résistance calée à 2 Mohms), pas de son. Quand on appuie, si la tension franchi un seuil de 1V par exemple, on attends 10ms par exemple pour mesurer la nouvelle tension, si on a appuyé fort, la tension sera forte, car on aura baissé la valeur de la résistance et si on a appuyé tout doucement, la tension sera faible car on aura pas baissé beaucoup la valeur de la résistance.

A moins que ça déchire encore plus et qu'on puisse renvoyer un signal midi qui varie continuellement avec la tension, et dans ce cas, on aura une sorte d'after touch, et un toucher révolutionnaire!

Je pense tout de même qu'il serait mieux d'avoir une tension seuil avant de déclencher le signal pour que le musicien puisse positionner ses doigts sur les touches sans faire de son.

Ça commence à bien m'exciter cet histoire de capteur pression, mais il faudrait qu'un spécialiste comme toi me dise si c'est aussi simple que ça ou pas.

et pourquoi on ne voit que 2 fils sur la photo.

Sinon, pour les capteurs, je me demande si des collègues à vous n'en utiliserait pas pour faire des e-drums midibox. J'ai cherché sur le forum francophone mais ils ne parlaient pas des capteurs.

1110313_p_g_thumb.jpg

2114_1110313_p_g_jpg6d54c5a18394ff77ada1

Link to comment
Share on other sites

J'ai trouvé un fabricant:

http://www.alcyonelectronique.fr/produits5_3.htm

apparemment, ce produit a été conçu pour des interface musicale à la base, et l'utilisation matricielle est recommandée, ce me permettra d'utiliser un minimum de module (n'est-ce pas?)

Donc, ça m'a l'air pas mal du tout, robuste, assez simple, léger, je sais pas ce que tu en penses.

par contre, vu que je ne sais pas trop comment marche le module AIN, je ne vois encore vraiment comment concevoir les connections.

Link to comment
Share on other sites

le principe intéressant est plutôt: plus tu appuies fort, plus le volume du son (ou la dynamique) est fort.

??? c'est bien ça oui, en fait je disais que l'application partait du constat que lorsque des touches sont enfoncés avec plus de force, le temps mesuré pendant lequel le bouton restait enfoncé était plus long. Il s'agit de centième ou de millième de secondes de différence, qui n'ont pas d'influence sur le jeu à proprement parlé (tu n'est pas obligé de tenir plus tes notes pour quelles soient plus fortes), à moins que tu ne prévoient de jouer des solos endiablés au 1/128 de temps...

sinon il me semble bien que j'ai par là une version de la matrice de boutons en 16*16 qui gèrent la vélocité sur ce principe, je cherche ça ce soir..

Link to comment
Share on other sites

Donc, nous sommes d'accords.

Notre ami québéquois m'a dit qu'apparement personne n'avait encore de solution viable pour matricer des DIN, donc vas-y balance, ça va surement en intéresser quelque uns.

Sinon, le fabricant des capteurs pression (FSR), m'a laissé un message, il a l'air intéressé, j'en saurai plus demain.

En tout cas si ça marche, ce sera 1 core+1module AIN (si on peut le faire en matrice) et 1000€ de capteurs!

Entre nous, mon instrument est conçu pour jouer plus vite que Luky Luke, il ne s'agit pas d'un clavier piano mais d'une dispositions originale des touches, inspirées par des théories purement harmoniques, et qui marche: je l'ai déjà tester sur un proto à vélocité justement, et j'arrive à jouer du bach à toute berzingue. Je vous enverrai un mp3 dès que j'arriverai à être carré!

Et c'est pour ça qu'un toucher avec un capteur FSR, ça peut être sympa, originalité oblige. J'espère que ça réagit aussi bien que la vélocité.

Le souci c'est que j'ai pas encore bien pigé comment on branche un dipôle en matrice sur un ain.

Samedi prochain, j'irai au rendez-vous "gump", peut-être qu'ils m'expliqueront.

jules

Link to comment
Share on other sites

Bonjour,

le module AIN est déjà en quelque sorte une matrice, chaque module utilise 4 des 8 "ADC" intégrés au PICmicro et le logiciel balaie entre les 8 entrées des multiplexeurs pour faire 32 entrées par module. Il faudrait deux modules.

Sinon, il y aurait possibilité de connecter les FSR en matrice avec un convertisseur binaire à décimal ( http://pdf1.alldatasheet.com/datasheet-pdf/view/26863/TI/CD4028.html ) connecté directement au PIC qui donnerait du voltage à la ligne à balayer, et les sorties seraient connectées aux huit entrées analogues du PIC. Seul hic, les données seraient peut-être faussées par cette solution étant donné qu'on travaille avec de l'analogue et qu'il y a des pics dans le voltage lorsque un contact est fermé et ouvert (par le CD4028 en occurrence)

Donc, donner un voltage continu aux FSR et utiliser des multiplexeurs (modules AIN) serait la meilleure solution (mais plus chère aussi). Si ça peut être utile d'ailleurs, les circuits intégrés "4051" devraient se trouver dans n'importe quel magasin d'électronique et les installer sur un veroboard ne devrait pas être très compliqué.

Le souci c'est que j'ai pas encore bien pigé comment on branche un dipôle en matrice sur un ain.

Avec le FSR branché entre l'ADC et le 5V, puis avec une résistance "drop-down" entre l'ADC et la masse, je crois que ça fonctionne. Par contre, il faudrait faire un petit calcul pour savoir quelle résistance mettre pour avoir ~0v à 5v à la sortie, mais ça va dépendre du module et des senseurs.

Aussi, s'il n'y a aucune chance d'appuyer sur les deux FSR ayant une note commune en même temps, les deux FSR pourraient probablement êtres connectés en parallèle.

Link to comment
Share on other sites

Notre ami québéquois m'a dit qu'apparement personne n'avait encore de solution viable pour matricer des DIN, donc vas-y balance, ça va surement en intéresser quelque uns.

la matrice de boutons du SEQv3 marche très bien!

celle que j'ai est celle de Qbas

http://www.soundandbreakfast.org/divers/sm_16x16_vel.zip

http://www.soundandbreakfast.org/divers/sm_example2_v1_16x16_vel.tar.gz

j'ai un projet un peu similaire sous la main, car j'ai pu récupérer la partie clavier version "accordéon" d'un synthé GEM, et je pensait en faire un clavier avec d'un côté tous les accords, de l'autre mettre par ligne de touches des notes seules réorganisées par gamme, histoire de pouvoir jouer come Hiromi Uheara avec deux doigts, et sans jamais se tromper! ça m'interesse bien de voir ton approche du truc..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...