Old 03-19-2017, 02:42 PM   #1
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Mars
Posts: 7,356
Default JS aftertouch sample mute Reasamplomatic

Amis codeur, je cherche à faire fonctionner l'aftertouch disponible sur les eCymbales, les pads cymbales electronique, qui, par pression coupe le son, le sample emis. je voudrais faire çà avec Reasamplomatic, mais sans JS c'est impossible.
J'ai essayé par modulation de paramètre avec 'obey note offs"; sans succés car pour être effectif la case doit etre coché avant le déclenchement du sample. Etrangement ça marche presque sur un pad, c'est aléatoire... et mysterieux.
J'ai cru y arriver en utilisant ReacontrolMidi par modulation de parametre avec les variations de valeur de sustain de RSM5K, mais quand je lache le pad, le sample reprend où il fut arrété.
....je câle donc.
ReaSamplomatic manque cruellement d'option, ne serai ce qu'une option pédale hold et de mute group. Mute groupe possible seulement si "Obey note offs" est coché, très moyen sur des samples de batterie. Un Programmeur Français avait remédié au manque de pédale sustain avec un JS qui simule cette pédale. J'ai cru un moment trouvé une solution en détournant ce JS mais j'ai un peu oublié que c'est l'inverse qu'il me fallait. Bref HEEEELP !
__________________
Vincent
http://www.tchackpoum.fr
Vincent Sermonne is offline   Reply With Quote
Old 03-19-2017, 03:51 PM   #2
sardonicus
Human being with feelings
 
sardonicus's Avatar
 
Join Date: Jan 2010
Posts: 8,215
Default

Si je te suis bien, tu veux étouffer une crash, c'est ça? Y a pas moyen de faire le même merdier qu'avec HH open close en mettant un sample vide sur une note alakon qui serait déclenché par ton aftertouch et qui du coup couperait ta cymbale?
__________________
"Votre vote m'oblige". Menteur n'a qu'un œil.
sardonicus is offline   Reply With Quote
Old 03-19-2017, 04:04 PM   #3
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Mars
Posts: 7,356
Default

oui le mute groupe comme sur le hihat en re-utilisant le js de Jeffos, j'y ai pensé mais je cherchais une autre voix plus simple avec un seul JS, mais je vais m'y repencher. Je ne sais même plus comment j'ai réussi à faire fonctionner cette usine à gaz ! c'est chaud bouillant, tu touches un truc et tout se casse la gueule.
edit: ben non l'aftertouch n'est pas dispo dans les controleurs du JS
__________________
Vincent
http://www.tchackpoum.fr
Vincent Sermonne is offline   Reply With Quote
Old 03-20-2017, 02:22 AM   #4
Tonton Darmon
Human being with feelings
 
Tonton Darmon's Avatar
 
Join Date: Sep 2013
Location: Les Corbières - Aude
Posts: 613
Default

Salut Vincent,

A froid et rapidos, j'imagine un JS avec dans le @block :

- test tous les messages midi entrants (midirecv).
- si msg1== $xA0 (1010 0000 : aftertouch canal0)
- alors envoi d'un message midi note off
- sinon envoi du message midi 'entrant' (on laisse passer)

Sinon, désolé, j'ai rien compris à ce que tu cherches à faire.
__________________
La musique creuse le ciel (Charles Baudelaire)
Tonton Darmon is offline   Reply With Quote
Old 03-20-2017, 03:13 AM   #5
sardonicus
Human being with feelings
 
sardonicus's Avatar
 
Join Date: Jan 2010
Posts: 8,215
Default

Ce qui est surtout chiant (enfin de ce que j'en ai vu quand j'ai passé mon kit en R5K) c'est l'emplacement du JS dans la suite de plug. Si tu le mets pas au bon endroit, ça merdaille sec.
__________________
"Votre vote m'oblige". Menteur n'a qu'un œil.
sardonicus is offline   Reply With Quote
Old 03-20-2017, 04:26 AM   #6
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Mars
Posts: 7,356
Default

Quote:
Originally Posted by sardonicus View Post
Ce qui est surtout chiant (enfin de ce que j'en ai vu quand j'ai passé mon kit en R5K) c'est l'emplacement du JS dans la suite de plug. Si tu le mets pas au bon endroit, ça merdaille sec.
oui le js il faut le mettre en tête de chaine au dessus des instances Reasamplomatic.
Tonton je te remercie mais pourrais tu le mettre en forme ? apres ton message j'imagine bien mais je suis incapable de transcrire en code.
Mon but est simple mais comme je suis bavard je n'ai pas due être clair.
L'aftertouch doit stopper le jeux du sample.
__________________
Vincent
http://www.tchackpoum.fr

Last edited by Vincent Sermonne; 03-20-2017 at 09:51 AM.
Vincent Sermonne is offline   Reply With Quote
Old 03-20-2017, 10:28 AM   #7
Tonton Darmon
Human being with feelings
 
Tonton Darmon's Avatar
 
Join Date: Sep 2013
Location: Les Corbières - Aude
Posts: 613
Default

Voila Monseigneur
Un truc dans le genre...
Code:
@block

while (midirecv(offset,msg1,msg2,msg3))    // reception des messages midi
  (
  msg1 == $xA1 ?    // aftertouch sur canal 1 ?
    (
    msg1 = $x81;    // oui : force note off sur canal 1
    );
  midisend(offset,msg1,msg2,msg3);  // envoi message midi
  );
Désolé, je ne peux pas le tester, j'ai pas de hard midi avec aftertouch...
Bon test et A+tard
__________________
La musique creuse le ciel (Charles Baudelaire)
Tonton Darmon is offline   Reply With Quote
Old 03-20-2017, 02:43 PM   #8
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Mars
Posts: 7,356
Default

Merci Tonton, c'est super sympa !!!! Mais...ça marche très moyen, un coup sur dix.
Je vois par le monitor d'activité du Reacontrolmidi que c'est un signal note off qui est envoyé. J'avais essayé avec un paramètre de modulation de l'aftertouch avec la case "obey note offs" et j'avais eu à peu près ce genre de réaction aléatoire... Je me demande si ce n'est pas ReaSamplomatic le problême.
edit: Encore plus étrange; la coupure se fait (mal, aléatoirement) avec l'aftertouch même sans le js... ????
__________________
Vincent
http://www.tchackpoum.fr

Last edited by Vincent Sermonne; 03-20-2017 at 02:57 PM.
Vincent Sermonne is offline   Reply With Quote
Old 03-20-2017, 03:05 PM   #9
sardonicus
Human being with feelings
 
sardonicus's Avatar
 
Join Date: Jan 2010
Posts: 8,215
Default

Quote:
Originally Posted by Vincent Sermonne View Post
Je me demande si ce n'est pas ReaSamplomatic le problême.
Monte manuellement la polyphonie de chaque instance R5K à 64. Le bouton ne va que jusque 16, saisis directement 64 au clavier.
__________________
"Votre vote m'oblige". Menteur n'a qu'un œil.
sardonicus is offline   Reply With Quote
Old 03-20-2017, 03:24 PM   #10
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Mars
Posts: 7,356
Default

Quote:
Originally Posted by sardonicus View Post
Monte manuellement la polyphonie de chaque instance R5K à 64. Le bouton ne va que jusque 16, saisis directement 64 au clavier.
Je vais essayer mais explique moi quel rapport il peut y avoir ?
Edit: en effet avec 64 je n'ai plus les mute aléatoire, j'en ai plus du tout, même avec le JS de Tonton.
re-Edit: l'aftertouch bouffe 5 à 6 voies de polyphonie, d'ou les coupures. J'ai éssayé de lier l'aftertouch à la réduction au minimum de polyphonie mais c'est tout autant merdique. Merci Sardonicus !
__________________
Vincent
http://www.tchackpoum.fr

Last edited by Vincent Sermonne; 03-20-2017 at 03:38 PM.
Vincent Sermonne is offline   Reply With Quote
Old 03-21-2017, 02:47 AM   #11
Tonton Darmon
Human being with feelings
 
Tonton Darmon's Avatar
 
Join Date: Sep 2013
Location: Les Corbières - Aude
Posts: 613
Default

Quote:
Originally Posted by Vincent Sermonne View Post
edit: Encore plus étrange; la coupure se fait (mal, aléatoirement) avec l'aftertouch même sans le js... ????
Surement "interprété naturellement" par l'environnement ?

Si tu as un peu de temps, envoie moi une copie du log du ReacontrolMidi.
(une séquence si possible, genre : 1 coup cymbale pur, 1 coup cymbale avec after touch, 1 coup cymbale pur).

Le message midi 1010 (A en hexa) correspond à "polyphonic after touch". Problème, c'est qu'il génère beaucoup d'info midi... c'est ce que j'ai lu.
Tu pourrais essayer de tester le message midi 1101 (D en hexa) qui correspond à "after touch" mais qui affecte tout le canal. Lu aussi.

Pour le test, juste modifier la ligne :
msg1 == $xA1 ? // aftertouch sur canal 1 ?
par :
msg1 == $xD1 ? // aftertouch sur canal 1 ?
On change juste le A par un D.
Mais sans garantie du résultat, c'est juste pour tester les 2 possibilités des messages midi after touch, car je ne connais pas le message midi statut envoyé par ta e-drum en cas d'after touch.

Ce soir, je prends le temps de simuler l'after touch sur mon vieux clavier midi.
__________________
La musique creuse le ciel (Charles Baudelaire)
Tonton Darmon is offline   Reply With Quote
Old 03-21-2017, 03:57 AM   #12
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Mars
Posts: 7,356
Default

Quote:
Originally Posted by Tonton Darmon View Post
Surement "interprété naturellement" par l'environnement ?

Si tu as un peu de temps, envoie moi une copie du log du ReacontrolMidi.
(une séquence si possible, genre : 1 coup cymbale pur, 1 coup cymbale avec after touch, 1 coup cymbale pur).

Le message midi 1010 (A en hexa) correspond à "polyphonic after touch". Problème, c'est qu'il génère beaucoup d'info midi... c'est ce que j'ai lu.
Tu pourrais essayer de tester le message midi 1101 (D en hexa) qui correspond à "after touch" mais qui affecte tout le canal. Lu aussi.

Pour le test, juste modifier la ligne :
msg1 == $xA1 ? // aftertouch sur canal 1 ?
par :
msg1 == $xD1 ? // aftertouch sur canal 1 ?
On change juste le A par un D.
Mais sans garantie du résultat, c'est juste pour tester les 2 possibilités des messages midi after touch, car je ne connais pas le message midi statut envoyé par ta e-drum en cas d'after touch.

Ce soir, je prends le temps de simuler l'after touch sur mon vieux clavier midi.
Merci Tonton je vais essayer çà !
La coupure était du au nombre de polyphonie au nombre de 4 sur mon Reasamplomatic de test et elle ne se faisait plus dés que j'ai élévé son nombre comme l'a suggéré Sardonicus. Par contre avec mon kit ReaperDrummer il y a une cymbale et seulement un des deux capteurs qui fonctionne au "obey note offs" en lien avec l'aftertouch de la cymbale.
Je te fait un petit midifile si tu veux ? ou le log te suffit ?
__________________
Vincent
http://www.tchackpoum.fr
Vincent Sermonne is offline   Reply With Quote
Old 03-21-2017, 05:50 AM   #13
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Mars
Posts: 7,356
Default

ReaControlMidi Log:

Code:
0: 99 33 6C [Note On] chan 10 note 51 vel 108
1: 89 33 40 [Note Off] chan 10 note 51 offvel 64
2: 99 33 6D [Note On] chan 10 note 51 vel 109
3: 89 33 40 [Note Off] chan 10 note 51 offvel 64
4: 99 33 15 [Note On] chan 10 note 51 vel 21
5: 89 33 40 [Note Off] chan 10 note 51 offvel 64
6: A9 31 7F [Aftertouch] chan 10 note 49 val 127
7: A9 3B 7F [Aftertouch] chan 10 note 59 val 127
8: A9 33 7F [Aftertouch] chan 10 note 51 val 127
9: A9 35 7F [Aftertouch] chan 10 note 53 val 127
10: A9 33 00 [Aftertouch] chan 10 note 51 val 0
11: A9 35 00 [Aftertouch] chan 10 note 53 val 0
12: A9 31 00 [Aftertouch] chan 10 note 49 val 0
13: A9 3B 00 [Aftertouch] chan 10 note 59 val 0
14: 99 33 06 [Note On] chan 10 note 51 vel 6
15: 89 33 40 [Note Off] chan 10 note 51 offvel 64
16: 99 3B 7F [Note On] chan 10 note 59 vel 127
17: 89 3B 40 [Note Off] chan 10 note 59 offvel 64
18: 99 33 03 [Note On] chan 10 note 51 vel 3
19: 89 33 40 [Note Off] chan 10 note 51 offvel 64
20: 99 3B 7F [Note On] chan 10 note 59 vel 127
21: 89 3B 40 [Note Off] chan 10 note 59 offvel 64
22: 99 33 06 [Note On] chan 10 note 51 vel 6
23: 89 33 40 [Note Off] chan 10 note 51 offvel 64
24: 99 33 09 [Note On] chan 10 note 51 vel 9
25: 89 33 40 [Note Off] chan 10 note 51 offvel 64
26: 99 33 0E [Note On] chan 10 note 51 vel 14
27: A9 31 7F [Aftertouch] chan 10 note 49 val 127
28: A9 3B 7F [Aftertouch] chan 10 note 59 val 127
29: 89 33 40 [Note Off] chan 10 note 51 offvel 64
30: A9 33 7F [Aftertouch] chan 10 note 51 val 127
31: A9 35 7F [Aftertouch] chan 10 note 53 val 127
32: A9 33 00 [Aftertouch] chan 10 note 51 val 0
33: A9 35 00 [Aftertouch] chan 10 note 53 val 0
34: A9 31 00 [Aftertouch] chan 10 note 49 val 0
35: A9 3B 00 [Aftertouch] chan 10 note 59 val 0
Avec ton JS modifié: (qui ne fonctionne pas)

- 1er coup: Corps de la eCymbale (ride) note 51 sans étouffement.
- 2eme coup: Corps de la eCymbales note 51 avec etouffement
- 3eme coup: Bord de la eCymbales note 59 sans etouffement
- 4eme coup Bord " " " " " " " " " " " " avec étouffement

Ce que je remarque sur cette cymbale c'est qu'elle déclenche des aftertouch sur la note 49 qui correspond au hihat... Le 53 c'est sa troisieme note, la ride bell. C'est une eCymbale tri-zone.
Les messages diffèrent, sans la note 49, avec une autre cymbale du même type mais pas connecté en tri-zone.

Trigger eCymbale: Roland CY-15R sur le Trigger midi converter Roland TMC-6.
l'implémentation midi du TMC-6, concernant l'aftertouch est:

__________________
Vincent
http://www.tchackpoum.fr
Vincent Sermonne is offline   Reply With Quote
Old 03-21-2017, 08:26 AM   #14
Tonton Darmon
Human being with feelings
 
Tonton Darmon's Avatar
 
Join Date: Sep 2013
Location: Les Corbières - Aude
Posts: 613
Default

Ouais, la modif ne risque pas de fonctionner, car dans ce cas de figure, c'est bien du "polyphonic after touch" que ton e-drum génère.

Sur les lignes aftertouch du log, on voit au début de la ligne data, l'hexa A9, qui correspond à :
A : message polyphonic after touch
9 : numero du canal (donc 10, puisqu'on part de 0)
Après tu as la note et enfin la "pression" de l'aftertouch d'une valeur 127 (valeur maxi) ou 0 (valeur mini).

Ce que je remarque c'est que l'aftertouch c'est du "on/off", c'est soit 127 (tu choke la cymbale) ou soit 0 (tu relâches la cymbale).

Si j'ai bien compris, concernant la cymbale tri-zones qu'on peut choker, les notes associées que tu as paramétré dans la Roland TMC-6 sont : 51, 53 et 59 (cloche, corps et bord) ?
Mais que vient foutre le charlo, note 49, dans le log ?

J'ai l'impression, arrêtes-moi si je me trompe, mais que lorsque tu "choke" une cymbale, ça les choke toutes (les 3 cymbales sont choke avec le charlo en sus).
Selon la doc, tu dois pouvoir aussi choker le charlo (c'est p'têt pour cela qu'il apparaît lui aussi dans le log).

La fonction aftertouch de Roland serait globale et non associée à chaque élément de l'e-drum ? C'est louche...

Cela peut-être ennuyeux si tu frappes plusieurs cymbales et en choke seulement une... elle vont toutes choker ! (et on peut rajouter : c'est choquant ! ).

Bon, je te bricole un truc ce soir.
A+tard

PS : si tu as encore un peu de temps, tu remets le JS dans sa forme initiale (donc tu transformes seulement le D en A) et stp tu régénères un log via Reacontrolmidi.
__________________
La musique creuse le ciel (Charles Baudelaire)
Tonton Darmon is offline   Reply With Quote
Old 03-21-2017, 09:21 AM   #15
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Mars
Posts: 7,356
Default

Quote:
Originally Posted by Tonton Darmon View Post
Ouais, la modif ne risque pas de fonctionner, car dans ce cas de figure, c'est bien du "polyphonic after touch" que ton e-drum génère.

Sur les lignes aftertouch du log, on voit au début de la ligne data, l'hexa A9, qui correspond à :
A : message polyphonic after touch
9 : numero du canal (donc 10, puisqu'on part de 0)
Après tu as la note et enfin la "pression" de l'aftertouch d'une valeur 127 (valeur maxi) ou 0 (valeur mini).

Ce que je remarque c'est que l'aftertouch c'est du "on/off", c'est soit 127 (tu choke la cymbale) ou soit 0 (tu relâches la cymbale).

Si j'ai bien compris, concernant la cymbale tri-zones qu'on peut choker, les notes associées que tu as paramétré dans la Roland TMC-6 sont : 51, 53 et 59 (cloche, corps et bord) ?
Mais que vient foutre le charlo, note 49, dans le log ?

J'ai l'impression, arrêtes-moi si je me trompe, mais que lorsque tu "choke" une cymbale, ça les choke toutes (les 3 cymbales sont choke avec le charlo en sus).
Selon la doc, tu dois pouvoir aussi choker le charlo (c'est p'têt pour cela qu'il apparaît lui aussi dans le log).

La fonction aftertouch de Roland serait globale et non associée à chaque élément de l'e-drum ? C'est louche...

Cela peut-être ennuyeux si tu frappes plusieurs cymbales et en choke seulement une... elle vont toutes choker ! (et on peut rajouter : c'est choquant ! ).

Bon, je te bricole un truc ce soir.
A+tard

PS : si tu as encore un peu de temps, tu remets le JS dans sa forme initiale (donc tu transformes seulement le D en A) et stp tu régénères un log via Reacontrolmidi.
Mais j'ai à fond du temp, et je te remercie du temps que toi tu y mets.
Oui c'est en effet logique que seule la cymbale étouffée soit... etouffée
Je vois un asterix dans la fiche midi du TMC que le 49 est compris mais je ne retrouve pas de signal d'aftertouch de ce 49 sur une autre cymbale connecté aussi sur ce TMC. Mais celle ci n'est pas connecté en tri-zone, seulement 2 (bow et edge).
Je revien avec des nouvelles dans une petite heure.
__________________
Vincent
http://www.tchackpoum.fr
Vincent Sermonne is offline   Reply With Quote
Old 03-21-2017, 09:38 AM   #16
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Mars
Posts: 7,356
Default

Code:
0: 99 3D 52 [Note On] chan 10 note 61 vel 82
1: 89 3D 40 [Note Off] chan 10 note 61 offvel 64
2: 89 38 40 [Note Off] chan 10 note 56 offvel 64
3: 99 3D 5F [Note On] chan 10 note 61 vel 95
4: 89 3D 40 [Note Off] chan 10 note 61 offvel 64
5: 99 38 11 [Note On] chan 10 note 56 vel 17
6: 89 38 40 [Note Off] chan 10 note 56 offvel 64
7: A9 38 7F [Aftertouch] chan 10 note 56 val 127
8: A9 3D 7F [Aftertouch] chan 10 note 61 val 127
9: A9 38 00 [Aftertouch] chan 10 note 56 val 0
10: A9 3D 00 [Aftertouch] chan 10 note 61 val 0
11: 89 38 40 [Note Off] chan 10 note 56 offvel 64
12: 99 38 56 [Note On] chan 10 note 56 vel 86
13: 89 38 40 [Note Off] chan 10 note 56 offvel 64
14: 89 38 40 [Note Off] chan 10 note 56 offvel 64
15: 99 38 10 [Note On] chan 10 note 56 vel 16
16: A9 38 7F [Aftertouch] chan 10 note 56 val 127
17: A9 3D 7F [Aftertouch] chan 10 note 61 val 127
18: 89 38 40 [Note Off] chan 10 note 56 offvel 64
19: 89 38 40 [Note Off] chan 10 note 56 offvel 64
20: A9 38 00 [Aftertouch] chan 10 note 56 val 0
21: A9 3D 00 [Aftertouch] chan 10 note 61 val 0
22: 99 38 14 [Note On] chan 10 note 56 vel 20
23: 89 38 40 [Note Off] chan 10 note 56 offvel 64

Avec ton JS d'origine (qui ne change rien). J'ai mis le ReacontrolMidi en fin de la chaine FX, ce que je n'avais pas fait sur le log précédent...
La cymbale, une autre, est cablée en dual zone (bow/edge) bow: note 56. edge note 61
C'est avec cette cymbale que la note 56, et seulement celle là, s'étouffe quand je lie "obey note offs" avec l'aftertouch, avec 16 voies de polyphonie max.

ah oui j'oubliais ; j'ai suivi le même "protocol"
-cymbale bord libre
-cymbale bord étouffé
-cymbale corps libre
-cymbale corps étouffé

Tonton tu peux aussi télécharger ma banque et la tracktemplate et je te fais un midifile de chaque cymbale. si ça peut te servir bien sur !
__________________
Vincent
http://www.tchackpoum.fr

Last edited by Vincent Sermonne; 03-21-2017 at 09:44 AM.
Vincent Sermonne is offline   Reply With Quote
Old 03-22-2017, 01:36 AM   #17
Tonton Darmon
Human being with feelings
 
Tonton Darmon's Avatar
 
Join Date: Sep 2013
Location: Les Corbières - Aude
Posts: 613
Default

Salut Vincent,

Désolé mais... c'est une impasse !
L'idée de couper le son (note off) lors d'une réception d'aftertouch n'est pas la solution sur une e-drum, car la note est déjà off (voir tes log). Dans le cas particulier des claviers, cela serait différent puisque la note (la touche) est tenue.
J'ai essayer lors de la réception d'un aftertouch :
- d'envoyer un "coupe tous les sons" (midi message 120).
- d'envoyer un "change control volume" à 0 (midi message 7).
- d'executer une boucle qui décroit la valeur de la vélocité, là ça fonctionne, mais produit un effet non recherché.

L'algorithme d'un choke batterie est assez pointu :
- Frappe cymbale : émission d'un sample
- Choke cymbale
- Détection du choke
- Récupération en temps réel du volume du sample de la cymbale qui est en train d'être émis.
- couper le volume du sample de la cymbale
- envoyer un sample de choke avec pour volume de départ celui qu'on a récupéré.
(ou alors créer un sample dynamiquement à partir du sample normal, traiter dans un effet de choke drum, en gros un vst).

Sans parler du choke en lui même : la vélocité, on sert la cymbale entre les doigts plus ou moins fort, ce qui fait durer le choke plus ou moins. Mais pour une e-drum, c'est oui ou non, choke ou pas, 127 ou 0. C'est pas une acoustique.

Tout ce que je peux te proposer, c'est de transformer un signal midi d'aftertouch en un autre signal midi, par exemple :
- Réception d'un aftertouch sur canal 10 de la note 56.
- Transformation en un signal "note on, valeur 56, canal Y" (gérer un canal pour les aftertouch, par exemple canal 9)
- ou alors Transformation en un signal "note on, valeur X, canal 10 (la valeur X étant une note NON paramétrée dans le Roland). Une nouvelle note dédié à l'aftertouch d'une note Roland. Qui va déclencher un sample spécifique.

Mea culpa, le Roland réagit parfaitement lors d'un aftertouch cymbale, il envoie des message midi d'aftertouch de la cymbale mais de toute les zones. Si c'est une tri-zone de frappe, alors il va envoyer 3 messages midi d'aftertouch (ce qui n'est pas ennuyeux car seule une zone est concernée, les 2 autres étant traitées pour rien, puisque non émettrice de message midi note on).
Bien obligé, car il ne sait pas quelle zone de la cymbale est concerné par l'aftertouch (donc il coupe l'ensemble). Chais pas si je suis très clair là...

PS : du temps... j'en ai récupéré pas mal, ayant définitivement raccroché les baguettes.
__________________
La musique creuse le ciel (Charles Baudelaire)
Tonton Darmon is offline   Reply With Quote
Old 03-22-2017, 03:37 PM   #18
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Mars
Posts: 7,356
Default

Merci Tonton de m'accorder autant de ton temps.
Est ce que l'invertion du js suivant est possible ? il simule une pédale hold dans Reasamplomatic a condition que la case obey note off soit cochée, si je lie mon aftertouch au hold inversé c'est tout bon. Dans ce cas je coche bien la case "obey note offs" pour mes cymbale qui joueront quand même sans en tenir compte puisque le hold est inversé... je ne sais pas si je suis claire là... bon je te colle le code du JS et dis moi si l'inverser est possible, facile. Pédale on en off et off en on pour faire court.

L'auteur du JS est Benoit Sanchez.

Code:
desc:Simulates a sustains behaviour.

slider1:64<0,127,1{0 Bank Sel M,1 Mod Wheel M,2 Breath M,3,4 Foot P M,5 Porta M,6 Data Entry M,7 Vol M,8 Balance M,9,10 Pan M,11 Expression M,12 Ctrl 1 M,13 Ctrl 2 M,14,15,16 GP Slider 1,17 GP Slider 2,18 GP Slider 3,19 GP Slider 4,20,21,22,23,24,25,26,27,28,29,30,31,32 Bank Sel L,33 Mod Wheel L,34 Breath L,35,36 Foot P L,37 Porta L,38 Data Entry L,39 Vol L,40 Balance L,41,42 Pan L,43 Expression L,44 Ctrl 1 L,45 Ctrl 2 L,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64 Hold P sw,65 Porta sw,66 Sustenuto sw,67 Soft P sw,68 Legato P sw,69 Hold 2 P sw,70 S.Variation,71 S.Timbre,72 S.Release,73 S.Attack,74 S.Brightness,75 S.Ctrl 6,76 S.Ctrl 7,77 S.Ctrl 8,78 S.Ctrl 9,79 S.Ctrl 10,80 GP B.1 sw,81 GP B.2 sw,82 GP B.3 sw,83 GP B.4 sw,84,85,86,87,88,89,90,91 Effects Lv,92 Trem Lv,93 Chorus Lv,94 Celeste Lv,95 Phaser Lv,96 Data B. Inc,97 Data B. Dec,98 NRP L,99 NRP M,100 RP L,101 RP M,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127}>Controller
slider2:0<0,1,{Disabled,Enabled}>Normal sustain

@init
NOTE_OFF = 8;
NOTE_ON = 9;
CONTROLLER = 11;
sustainOn = 0;
no[127] = 0;
@block
  while (
    input = midirecv(mpos, msg1, msg23);
    input  ? (
      statusHi = (msg1/16)|0;
      statusLo = (msg1-(statusHi*16))|0;
      data2 = (msg23/256)|0;
      data1 = (msg23-(data2*256))|0;

      send = 1;

      ((statusHi == CONTROLLER) && (data1 == slider1)) ? (
        ((sustainOn == 1) && (data2 < 64)) ? (
          sustainOn = 0;
          i = 0;
          loop(128,
            (no[i] == 1) ? (
              no[i] = 0;
              midisend(mpos, NOTE_ON*16 + statusLo, i);
            );
            i+=1;
          );
        ) : (
          ((sustainOn == 0) && (data2 >= 64)) ? (
            sustainOn = 1;
          );
        );
      );

      ((statusHi == CONTROLLER) && (data1 == 64) && (slider2 == 0)) ?
        send = 0;
      
      (sustainOn == 1) ? (
        ((statusHi == NOTE_OFF) || ((statusHi == NOTE_ON) && (data2 == 0))) ? (
          no[data1] = 1;
          send = 0;
        );
        ((statusHi == NOTE_ON) && (data2 > 0)) ? (
          (no[data1] == 1) ? (
            midisend(mpos, NOTE_ON*16 + statusLo, data1);
          );
          no[data1] = 0;
        );
      );
      
      (send == 1) ?
        midisend(mpos, msg1, msg23);
    );
    input;
  );
__________________
Vincent
http://www.tchackpoum.fr

Last edited by Vincent Sermonne; 03-25-2017 at 07:20 AM.
Vincent Sermonne is offline   Reply With Quote
Old 03-23-2017, 06:46 AM   #19
Tonton Darmon
Human being with feelings
 
Tonton Darmon's Avatar
 
Join Date: Sep 2013
Location: Les Corbières - Aude
Posts: 613
Default

OK, je m'y penche ce soir...

En attendant, si tu peux tester ça
Méthode : un bon coup dans la cymbale crash, et... choke !

J'ai pas testé (pas de e-drums) mais le problème qui devrait apparaître est que le son de la frappe initiale de la cymbale devrait continuer a se faire entendre lors du choke (et p'têt même après...).

Code:
// =====================================================================
// After Touch E-DRUMS
//
// Note :
// Traite QUE le canal 10
// Pas de traitement du AfterTouch Off (perte de temps)
// La variable 'note' permet de choker QUE LA ZONE frapper de la cymbale
// =====================================================================
desc:AfterTouch EDrums

// ========== DECLARATION VARIABLES
@init
note = 0;		// Valeur de la note
velo = 0;		// Velocite de la note

// ========== TRAITEMENT
@block

while (midirecv(offset,msg1,msg2,msg3))   // Reception message midi
(
   // ----- TEST NOTE ON
   msg1 == $x99 ?   // Note On sur canal 10 ?
   (
      note = msg2;   // Save note
      velo = msg3;   // Save Velocite
      midisend(offset,msg1,msg2,msg3);   // Envoi Note On "normale" 	 
   );
   // ----- TEST NOTE OFF
   msg1 == $x89 ?   // Note OFF sur canal 10 ?
   (
      midisend(offset,msg1,msg2,msg3);   // Envoi Note Off "normale" 	 
   );
   // ----- TEST CHOKE ON
   msg1 == $xA9 ?   // Aftertouch On sur canal 10 ?
   (
      msg3 == $x7F ?   // Choke Cymbale ?
      (
         msg2 == note ?   // La bonne zone cymbale ?
         (
            while (velo > 1) // Tant que la velocite n'est pas nulle 
            (
               midisend(offset,$x99,note,velo);	// Envoi Note On avec Velocite
               velo -= 1;   // Decremente velocite
            );
         );	  
      );
   );
);  

// ========== FIN
__________________
La musique creuse le ciel (Charles Baudelaire)
Tonton Darmon is offline   Reply With Quote
Old 03-23-2017, 07:36 AM   #20
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Mars
Posts: 7,356
Default

Seul la zone "bow" réagi au "choke" mais j'ai eu une montée énorme du son qui se reproduit aléatoirement une seconde apres le "choke".

Voilà ci joint une archive avec RPP et samples simplifiés, avec juste une cymbale sans round robin et les différents coups, si ça peut te servir.
__________________
Vincent
http://www.tchackpoum.fr
Vincent Sermonne is offline   Reply With Quote
Old 03-25-2017, 06:50 AM   #21
Tonton Darmon
Human being with feelings
 
Tonton Darmon's Avatar
 
Join Date: Sep 2013
Location: Les Corbières - Aude
Posts: 613
Default

Salut Vincent,

J'ai un début de résultat, le choke fonctionne correctement mais seulement sur le canal droit (surement un blème de stéréo / mono).

Je ne suis pas reparti du JSFX de Benoit, préférant partir de zéro et optimiser le script sur l'aftertouch d'une e-drums.

Je suis tombé de ma chaise quand je me suis aperçu que @bloc pouvait interagir sur @sample. Cela ouvre des milliards de possibilités (et ça va m'occuper un certain temps...). J'ai toujours pensé que @bloc était que pour le midi et @sample que pour l'audio et ne pouvait pas marcher de concert (c'est le cas de le dire).

Merci pour le RPP avec samples simplifiés, ça aide pas mal (car je ne peux pas générer des messages midi aftertouch avec mon équipement).

A très bientôt
Bruno
__________________
La musique creuse le ciel (Charles Baudelaire)
Tonton Darmon is offline   Reply With Quote
Old 03-25-2017, 07:19 AM   #22
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Mars
Posts: 7,356
Default

Waouuuuuu ! Super !! Je part lundi en égypte pour un spectacle et je suis de retour le 2 avril ! Merci Tonton, c'est trop bon !
__________________
Vincent
http://www.tchackpoum.fr
Vincent Sermonne is offline   Reply With Quote
Old 03-26-2017, 05:23 AM   #23
Tonton Darmon
Human being with feelings
 
Tonton Darmon's Avatar
 
Join Date: Sep 2013
Location: Les Corbières - Aude
Posts: 613
Default

Quote:
Originally Posted by Vincent Sermonne View Post
...Je part lundi en égypte...
Cool ! Alors, bon voyage.

PS : ça fonctionne du tonnerre, je fignole

♫ You shook me, baby ♫
https://www.youtube.com/watch?v=YS1Tz6dzcjU
__________________
La musique creuse le ciel (Charles Baudelaire)
Tonton Darmon is offline   Reply With Quote
Old 04-12-2024, 03:04 PM   #24
mat chat
Human being with feelings
 
mat chat's Avatar
 
Join Date: Feb 2021
Location: Paris, France
Posts: 298
Default

Quote:
Originally Posted by Tonton Darmon View Post

PS : ça fonctionne du tonnerre, je fignole
Hello tout le monde j'ai exactement le même problème à résoudre et je ne voit pas le script qui "fonctionne du tonnerre alors comme en codage je suis une bille je me demandais où ça en était cette histoire. ca faisait longtemps que j'avais rien posté sur le forum mais ça fait plaisir de vous relire, même si c'est des posts de 2017!
__________________
Gros bisous
Mat
Reaper Stash
mat chat is offline   Reply With Quote
Old 04-13-2024, 08:20 AM   #25
Vincent Sermonne
Petit manitou
 
Vincent Sermonne's Avatar
 
Join Date: Feb 2009
Location: Mars
Posts: 7,356
Default

Je vais tâché de le retrouver mais le script de tonton n’a pas si bien marché que ça au final, avec une ecymbale Roland c’était un coup sur trois…je n’ai jamais trouvé un script optimum comme SD le fait.
__________________
Vincent
http://www.tchackpoum.fr
Vincent Sermonne is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 11:40 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.