Page 1 sur 1

Est-ce possible de gérer la vélocité d'un trig ?

Publié : 11 août 2016, 00:40
par cereale
Bonjour, question bête
Est-ce possible de gérer la vélocité d'un trig ?
ce serait pour déclencher mon synare, lorsque l'on tape plus ou moins fort avec un piezo comme trig , on parvient à avoir des nuances , je souhaite faire la même chose avec du midi donc gérer la vélocité, en gros je souhaite une pulse avec une tension variable.(sans savoir si c'est possible)
pour le moment je parviens à déclencher par le biais du midi de l'arduino avec un code tout simple mais cela ne gère pas la vélocité...mais le trig à t-il une vélocité
si c'était le cas quel type de signal conviendrait?
et si oui, si quelqu'un a une astuce pour le code ou un example qui me permet d'apprendre, je n'ai besoin que d'un canal trig( y a t-il un montage particulier en lieu et place d'un simple contact avec le digital out de l'arduino), avec une note fixe de référence (C3 par exemple) :bravo:

cheers
cereale

Re: Est-ce possible de gérer la vélocité d'un trig ?

Publié : 11 août 2016, 01:08
par Christian
Tu cherches un truc du genre AKAI ME35T qui capte l'audio et le transforme en signal MIDI en tenant compte aussi de la vélocité.

Re: Est-ce possible de gérer la vélocité d'un trig ?

Publié : 11 août 2016, 03:56
par Notator
Non, si j'ai bien compris, cereale veut faire l'inverse.
Rentrer en Midi, et sortir des impulsions dont l'amplitude est dépendante de la vélocité, pour commander son Synare.

C'est possible, et ça s'est fait, chez Simmons (SDS8?), et d'autres...

Sinon, avec l'Arduino, décoder le premier octet Midi (note on), si ce n'est pas la note définie revenir au début, sinon continuer, et lire le 2ème octet (velocity), puis générer sur une sortie D/A une tension proportionnelle à la vélocité (avec une tempo pour qu'elle dure suffisamment) ; comme elle ne sera que de 5v maxi, mettre derrière un darlington pour l'étoffer en amplitude.

La détection de la note définie (premier octet) servira à générer une gate sur une sortie TTL (programmer une tempo pour qu'elle dure assez longtemps pour faire une impulsion suffisante en durée) et lui faire commander un inter (par exemple un 4066) qui va faire des fronts bien raides au créneau généré par la sortie D/A (il n'y a peut-être pas besoin, mais je ne sais pas si la sortie D/A a un temps de montée bien vif ; à voir).

S'il y a besoin d'une impulsion bien pointue, il est possible de faire une mise en forme avec un circuit RC tout simple (en sortie de l'inter, mettre un condensateur en série avec une résistance de 10 Kohms, dont l'autre patte est reliée à la masse, et prélever le signal qui ira au Synare aux bornes de la résistance), en rajoutant une diode sur le chemin (cathode côté Arduino, et reliée à la jonction R/C).

Pour la valeur de la capa, la choisir par essais, en s'aidant d'un oscilloscope, s'il y a moyen.

Voila l'idée générale. :wink:

Re: Est-ce possible de gérer la vélocité d'un trig ?

Publié : 11 août 2016, 09:25
par diplodocus303
C'est possible avec ça: http://burnit.co.uk/sdiy/index.php?page ... age=layout" onclick="window.open(this.href);return false;
En utilisant une des sorties variables pour trigger, peut-être?
Seulement j'ai un synare et le problème c'est qu'un synare pour sortir quelque chose de beau, il faut qu'il reçoive une brève impulsion de quelques mV. Et arriver à le déclencher avec un appareil externe c'est pas facile, j'ai essayé avec du trig roland (sortie de boite à rythme) comme l'impulsion a une tension électrique trop élevée, au lieu de jouer les notes programmées, ça fait qu'une note continuelle et complètement loFi... Alors que si on fait la même chose avec du tama, simmons, etc, ça fonctionne bien mieux.
J'ai essayé de séquencer le synare avec le gate out d'une TB303, ça fonctionne bien mieux qu'avec une trig roland normal, mais même avec le gate out c'est pas top, je trouve les notes trop appuyées et imprécises. Le problème c'est que j'envoie pas l'impulsion qu'il lui faut, j'ai essayé d'ajouter des petits circuits bricolés avec des diodes pour calmer le trig, mais je n'ai pas eu de bons résultats, du coup le synare m'a gonflé, je me suis dit que c'était pas vraiment fait pour être déclenché par un séquenceur externe et je l'ai donné à ma femme.

Re: Est-ce possible de gérer la vélocité d'un trig ?

Publié : 11 août 2016, 09:43
par Notator
Alors, si c'est si précis, il faut, à l'aide d'un oscilloscope à mémoire, observer les caractéristiques de l'impulsion de déclenchement, telle qu'elle se produit lors du fonctionnement 'normal' du Synare.
Une fois cela connu, ce ne serait pas bien difficile d'en générer une semblable en sortie d'interface Midi.

Re: Est-ce possible de gérer la vélocité d'un trig ?

Publié : 11 août 2016, 10:00
par yusynth
Sans passer par le MIDI un vieux montage d'Elektor : http://yusynth.net/archives/Elektor/Percutron-1982.pdf" onclick="window.open(this.href);return false;

Re: Est-ce possible de gérer la vélocité d'un trig ?

Publié : 11 août 2016, 13:46
par cereale
le problème c'est qu'un synare pour sortir quelque chose de beau, il faut qu'il reçoive une brève impulsion de quelques mV
je suis d'accord , cependant en réglant le thresold (j'ai déporté le pot sur la face avant) on peut arriver à régler un peu la sensibilité.

bon vu la complexité je vais peut être me passer de vélocité( j'ai envie de faire de la musique un jour... :palm: )

sur le premier code qui fonctionne, j'avais une variation sur l'intensité du signal, mais continue, pas du tout en corrélation avec les notes jouées sur le sequencer.
sur le second plus de variation, mais pas de vélocité non plus.
bon l'essentiel c'est que ça se déclenche.

merci pour vos réponses à tous , et si d'autres solutions vous viennent à l'esprit...

petite question supplémentaire:
quelle est la tension de sortie d'un piezo comme sur un coron ds7?

Re: Est-ce possible de gérer la vélocité d'un trig ?

Publié : 11 août 2016, 14:44
par diplodocus303
Oui comme je voulais le contrôler depuis un trig externe via un séquenceur, j'ai fais quelques tests pas vraiment concluant, du coup j'avais demandé à Marc Bareille qu'elle intensité il fallait pour déclencher il m'avait dit quelques mV et en plus il y a la durée dans le temps de l'impulsion électrique qui rentre en compte. Et j'avais fait comme disait notator, mesuré avec un oscillo qu'elle tension envoyait le piezzo à l'instant où il était frappé, pour avoir une idée de ce qu'un séquenceur devrait générer pour créer des notes comme il faut et effectivement c'était pas grand chose.
L'idéal serait d'avoir le séquenceur de star electronics, ils en avaient fait un, de le faire fonctionner et sonder ce qui sort en sortie la tension et les intervalles, pour savoir qu'est-ce qu'il faudrait donner comme genre de trig, au synare et autres clones, pour obtenir un déclenchement optimal.
Comme je l'ai précisé juste avant le synare est assez difficile en trig. Donc par exemple, quand je lui envoyais du trig out de 808, soit des pulsations de 5V et 10µs, alors qu'il lui faut que quelques mV et je ne sait PAS la période qu'il lui faut. Donc ça ne marchait pas. Par contre juste pour donner une exemple si j'essaye de déclencher une module de clone de 808 avec 3V et peut n'importe quoi comme période, ça déclenchera quand même comme il faut, un module sonore de 808 je pense que lui au contraire quelques mV ne suffirait pas à le déclencher, mais qu'il est beaucoup moins difficile que le synare. Les autres modules de batteries analogiques des années 80 sont aussi pas difficiles la plupart déclenchent avec un peu n'importe quoi, pas les synare. Mais il est possible d'obtenir quelque chose avec du gate out venant d'un synthé, mais c'est pas ça qu'il lui faut pour avoir un fonctionnement optimal.
J'avais fait quelques tests, je l'ai donné à ma femme, mais j'ai pas dit que j'ai abandonné. Plus tard, j'essayerai de nouveau.

Re: Est-ce possible de gérer la vélocité d'un trig ?

Publié : 11 août 2016, 14:59
par cereale
je l'ai donné à ma femme
ha, ça jamais! :grumpy:

pour moi ça fonctionne pas mal avec l'arduino je me suis inspiré de ça http://analog-monster.blogspot.fr/2013/ ... -font.html
j'ai modifié un peu le code avec mes modestes connaissances, mais bon j'aimerais bien pouvoir nuancer un peu...
dans le code il ignore la vélocité , il ne gère que le note on, et toutes les vélocités supérieures à zero émettent une impulsion, lorsque la vélocité est à 0 il ne joue pas.
du coup peut être qu'en retouchant un peu le code et si je comprends le fonctionnement peut-être que cela va marcher.

:nesaispo: ou pas

Re: Est-ce possible de gérer la vélocité d'un trig ?

Publié : 11 août 2016, 15:51
par baloran
Si vous voulez que la largeur d'impulsion dépende de la vélocité vous pouvez faire un truc de ce genre (sur la base du code dans le lien au dessus ) :

Ci-dessous, la durée de l'impulsion est égale à la vélocité en ms

void trig(byte channel, byte pitch, byte velocity)
{
uint8_t port;
if ( !velocity ) return;
switch(pitch)
{
case 36:
port = CH1; break;
case 38:
port = CH2; break;
case 40:
port = CH3; break;
case 41:
port = CH4; break;
default:
return; // si pas bonne note, pas d'impulsion
}
digitalWrite(port,HIGH); // Port haut
delay(velocity); // attente de n millisecondes
digitalWrite(port,LOW); // Port bas
}

Si 127ms c'est trop pour la velocité, on peut par exemple réduire la résolution de la vélocité.

delay( (velocity >> 2 ) );

Dans ce cas, l'impulsion passe de 0 à 31 ms. Il est possible que cette largeur d'impulsion variable donne de bons résultats sur le module de percussion.

Pour bosser en microsecondes, utilisez delayMicroseconds(...) à la place de delay(...)

Après, on peut aussi tester de mettre un réseau RC + diode derrière chaque port en calculant la constante RC pour que la charge du condo se fasse en 31 ms.... Dans ce cas, le front transmis au synthé de percussion sera moche mais le système fera bien une sorte de conversion "largeur d'impulsion -> tension" économique et peut être suffisante ?

Sinon pour avoir plusieurs sorties impulsions à amplitude variable il faut soit faire un peu de pwm + filtre sur chaque sortie, soit passer par un DAC sommaire (echelle de résistances sur quatre ports par exemple pour avoir 16 niveaux) plus portes (un CD4051 pourrait gérer 8 sorties avec 3 ports) pour rester dans le simple.

:wink:

Re: Est-ce possible de gérer la vélocité d'un trig ?

Publié : 11 août 2016, 16:27
par cereale
oh my god mon sauveur, je savais bien que certains maitrisaient l'arduino...hi ha, je dis ça j'ai pas encore tout lu :fou:

et si je veux une led qui indique l'activité midi pour le channel 1 par example, puis je utiliser la même sortie que celle du trigger?

et merci je vais essayer tout ça ce soir!
uint8_t port;
ça déclare quoi?
et est-ce que si je veux une seule entrée est ce que c'est correct?

void trig(byte channel, byte pitch, byte velocity)
{
uint8_t port;
if ( !velocity ) return;
switch(pitch)
{
case 36:
port = CH1; break;
default:
return; // si pas bonne note, pas d'impulsion
}
digitalWrite(port,HIGH); // Port haut
delay(velocity); // attente de n millisecondes
digitalWrite(port,LOW); // Port bas
}

Re: Est-ce possible de gérer la vélocité d'un trig ?

Publié : 16 août 2016, 12:27
par Portamento
Hi,
(Je profite d'une petite fenêtre dans un cybercafé)

Le module MIDI2CV te permet de faire tout cela à l'aide d'un DAC. Retranscrire la vélocité d'une note de la trame midi sur une sortie avec la tension proportionnelle à la vélocité selon une courbe établie.

Si tu compte gérer la tension de sortie que par la largeur de l'impulsion, je ne dirais pas mieux que les solutions de baloran.(une gestion du temps par le timer serai peut être mieux que la l'instruction delay). Cependant avec cette solution tu restes dépendant de ton système, est il serai mieux que tu imagines un DAC même rudimentaire qui serai bien plus efficace.

Re: Est-ce possible de gérer la vélocité d'un trig ?

Publié : 16 août 2016, 15:33
par cereale
j'ai décidé d'investir dans synare eurorack de ladik, mais le sujet reste intéressant....
cdlt
cereale