Reason - Piste distinctes mais controller data commun.
- 15 réponses
- 3 participants
- 918 vues
- 3 followers
dvoltaire
Je ne sais pas si quelqu'un parmis vous a trouvé comment contourner le problème suivant, qui est facile à reproduire.
1) Enregistrer une première piste MIDI avec NN-XT (Disons un piano)
en utilisant la pédale "sustain".
Pour faire une deuxième prise sans perdre la première il est naturel de créer une autre piste (même canal même instrument) pour un autre essai en "mutant" la première.
2)Pour rendre l'anomalie plus visible, commencer à enregistrer la deuxième piste sans utiliser la pédale.Vous verrez que le data de la pédale sustain s'efface sous la premire piste à mesure que vous avancez.
Autrement dit, le data autre que les notes est commun à toutes les pistes d'un même canal. Pour faire plusieurs prises (takes) sans rien perdre des prises précédentes, il faut créer un nouvel instrument NN-XT à chaque fois.
Chez PROPELLERHEAD on me confirme que ce problème existe et on me dit:
...
We understand the problem, and I will recommend your solution to the
software designers. Hopefully we'll see a change in this behaviour in a
future version of Reason. Thanks very much for your input. I'm sorry for the
inconvenience.
...
Je n'ai pas vu de message sur le forum concernant ce problème alors je me demande si quelqu'un d'autre l'a déjà eu et si c'était déjà là dans les versions antérieures à la 3 (3.04)
Merci
A+
KaeRZed
Aftertouch monophonique, PitchBend, Pédales etc... Tous ces contrôleurs ne pas assigné à des notes mais un canal complet. A ma connaissance, seul l'aftertouch possède une variante polyphonique (et donc assigné aux notes) mais il est très peu utilisé.
Pour revenir au fait de régler le problème sous Reason, à part simuler des canaux MIDI virtuels (transparents pour l'utilisateur), je ne vois pas comment ils pourraient faire...
dvoltaire
Dans SONAR, entre autre, on peut très bien éditer les valeurs de CC:64 de la pédale Sustain indépendemment pour chaque piste. Et même pour de multiples prises d'une même piste. Avec le même intrument sur le même canal.
Ce qui n'est pas le cas en revanche pour la commande de volume. Si on utilise cette commande pour contrôler le volume d'un canal, elle va affecter toutes les pistes du même canal.
Les données de pédale sustain ne sont pas communes et font partie des données de base de chaque piste. En tout cas c'est de cette façon que sont gérées les pistes de tous les séquenceurs autres que Reason.
Cela n'empêche pas Reason d'être un super logiciel et son systèmpe de "routing" aurait dû faire réagir les autres concepteurs de façon plus constructive, mais cette simple anomalie vient brider un peu le travail d'arrangement dans Reason pour le moment.
Salut à tous
KaeRZed
La pédale de sustain est un Control Change (le n°64).
Un message de Control Change est composé de 3 octets :
Octet 1 : status sur 4 bits, canal sur 4 bits.
Octet 2 : Numero du contrôle sur 7 bits utiles (valeur décimale de 0 à 127).
Octet 3 : Valeur du contrôle sur 7 bits utiles.
Pédale enfoncée sur le canal :
1011 : message de voie, Contrôle Change
0001 : canal 1
01000000 : contrôle 64 --> Pedale de Sustain
01000000 : Valeur du Contrôle --> 64 --> Pédale Enfoncée
Comme il n'y a nulle part d'information de note, c'est forcément global au canal.
Confirmation :
Un message d'Aftertouch Monophonique (global au canal) est sur 2 octets (status/canal + valeur).
Un message d'Aftertouche Polyphonique (indépendant par note) sera sur 3 octets (status/canal + numéro de note + valeur).
francolamuerte
dvoltaire
Je n'ai pas de difficulté à comprendre la base technique et le fait que le control N°64 soit une donnée de niveau Canal Midi.
Mais cela n'empêche pas nécessairement de stocker cette info plusieurs fois dans des "cases" distinctes.
Puisque tous les séquenceurs (sans exception sauf Reason) et depuis les ancêtres en DOS, permettent de cumuler plusieurs prises ou pistes sur un même canal sans écraser les données de pédale sustain des prises précédentes, c'est qu'ils placent l'information dans un "espace" réservé, si on peut dire, à chaque piste et même à chaque prise d'une même piste.
Le fait que Reason soit limité à ces propres instruments est peut-être la raison de cet "oubli". On peut toujours recréer une nouvelle piste avec le même instrument sur un autre canal. Mais dans tout autre contexte, avec des instruments en hardware cela deviendrait vite ridicule de devoir changer de canal et de repatcher le son d'un piano juste pour faire une autre piste...
Avec tes connaissances évidentes du MIDI tu es sûrement le mieux placé pour nous apporter la réponse à cette question et nous expliquer comment sont stockées les données dans les autres séquenceurs.
Merci en tout cas d'avoir clarigié déjà certains points.
A+
dvoltaire
francolamuerte
Citation : Oups ! "clarifié" serait plus juste.
Pas plus « juste » mais plus « clair » ! hihi ! Je te taquine.
En tout cas j'adore voir des threads comme ça moi. Ça change du « Komen on insèr un notte ds sékenceur ? HELppppppppppppppppp »
Bien à vous
KaeRZed
Citation : c'est qu'ils placent l'information dans un "espace" réservé, si on peut dire, à chaque piste et même à chaque prise d'une même piste.
Oui, au niveau du séquenceur, ils réservent un espace indépendant par piste. Cette notion d'espace 'reservé' par piste est le fondement de la programmation 'objet' avec des langages tels que le C++ (utilisé me semble-t-il pour Cubase, par exemple). Donc, effectivement, chaque piste est un 'objet' indépendant (avec ses propres caractéristiques, paramètres, possibilités, etc...), lui-même composé de plusieurs objets (les conteneurs), etc...Cela n'empêche que, au moment de l'interprétation des messages MIDI par le module sonore, il n'y a qu'une seule valeur simultanée de pédale par canal. Donc, si à la mesure 3, la piste 1 (canal 1) envoie la valeur 64, la pédale est enfoncée. Si, à la mesure suivante, la piste 2 (canal 1) envoie la valeur 0, la pédale n'est plus enfoncée.. Même sur la piste 1 !!
Je n'invente rien : le MIDI a été conçu comme ça. Après, quelle que soit la gestion des contrôleurs au niveau du séquenceur, à la fin, c'est l'instrument MIDI qui les intéprètent en respectant la norme...
Tu peux essayer ceci : sur une première piste, tu n'enregistres que des notes (de piano, par exemple). Sur une seconde piste, tu n'enregistres que des messages de pédale de sustain et, sur une troisième, que des messages de molette de modulation. En affectant ces 3 pistes sur le même canal, tu verras que les contrôleurs des pistes 2 et 3 affectent bien les notes de la piste 1.
Citation : Ce qui n'est pas le cas en revanche pour la commande de volume
Et pourtant le volume est un Control Change (le n°7) est du même type de message que celui de la pédale Sustain ("Control Change de Voie" --> une voie est un canal dans le vocabulaire MIDI).KaeRZed
Piste 1 : NOTES (arpèges toutes pourries)
Piste 2 : Alternance entre pédale enfoncée / relâchée (relâché en mesure 1, 3 et 5 et enfoncée en mesures 2 et 4).
Piste 3 : Molette de modulation ( en bas pour les mesure 1,2 et 5, en haut pour les mesure 3 et4).
Ainsi, sur 5 mesures, on a toutes les possibilités. respectivement Pedal OFF/Molette OFF, Pedale ON/Molette OFF, Pedal OFF/Molette ON, Pedal ON/Molette ON.
Et on entend très clairement le résultat sur la piste des notes (piste1).
dvoltaire
Il ne s'agit pas de faire jouer les 2 pistes ensemble, du moins dans les mêmes parties du morceau, mais de travailler à une version différente sans perdre la première.
Nous sommes tous d'accord que les données MIDI dont on parle sont communes pour un canal donné. (...sans compter que cela n'y change rien qu'on soit d'accord ou non puisque c'est un fait.)
Il est question du stockage de ces données. Du fait qu'elles ne soit pas écrasées par chaque nouvel enregistrement sur des pistes distinctes.
Un petit test à faire : (Suppossons que c'est du piano. L'utilisation de la pédale sustain y est plus évidente)
ENREGISTREMENT:
a) Piste 1 = Piano Notes + Sustain.
b) Mute Piste 1
c) Piste 2 = Piano Notes + sustain
PLAYBACK - Résultat avec tous les "autres séquenceurs":
A - Les 2 pistes en même temps:
Les infos de notes ET de sustain sont actives sur les 2 pistes. Tout se bousculent. Parce que conformément à ce que tu as démontré, même stockés sur des pistes différentes, les signaux de la pédale sustain de CHACUNE des pistes agissent dans ce cas SUR LES DEUX PISTES en même temps. Ce qui augmente la confusion générale.
B - Une piste à la fois:
Les deux pistes sont fidèles à ce que j'ai joué notes ET pédale de sustain.
PLAYBACK - Résultat avec Reason:
A - Les 2 pistes en même temps :
Les notes des deux pistes sont là mais il ne reste que les signaux de pédale sustain DE LA DERNIERE PISTE ENREGISTREE. Comme démontré, ces signaux sustain agissent sur les DEUX pistes. Mais, très peu de chance pour que ce soit le résultat souhaité...
B - Une piste à la fois :
La première n'a plus que des notes.
La deuxième (dernière enregistrée) a bien ses notes et ses commandes de sustain.
Même sans connaissance technique on comprend très vite en travaillant avec n'importe quel séquenceur que si on fait jouer en même temps 2 pistes d'un même canal, les signaux comme celui de la pédale sutain agissent sur toutes les pistes du même canal.
Je voulais seulement relever le fait que Reason ne "stocke" pas les données de ces contrôles à part comme le font les autres séquenceurs. Ce qui a pour effet d'écraser ce qu'on a fait avant. Cela ne remet pas en cause les principes techniques du MIDI. C'est un problème qui affecte le travail dans ce séquenceur en particulier et il peut sûrement être réglé puisque qu'on ne le retrouve pas dans les autres séquenceurs.
Je serais désolé de n'avoir pas précisé au départ, que je ne voulais pas faire jouer les pistes ensemble mais seulement une version à la fois, mais vu les explications très intéressantes que cela nous a valu ensuite de ta part, je pense que c'est un oubli heureux.
En tout cas merci encore d'avoir pris le temps de suivre le sujet.
A+
KaeRZed
Citation : il ne reste que les signaux de pédale sustain DE LA DERNIERE PISTE ENREGISTREE.
Donc je suppose que, afin d'éviter les conflits de Control Change, Reason ne traite que ceux de la dernière piste de chaque canal... ce que je ne rouve pas idiot du tout...J'ai appris un truc aujourd'hui, je me coucherai un peu moins bête ce soir...
dvoltaire
Citation : Donc je suppose que, afin d'éviter les conflits de Control Change, Reason ne traite que ceux de la dernière piste de chaque canal... ce que je ne rouve pas idiot du tout...
Humm ... Au playback, les autres séquenceurs n'ont aucun conflit à éviter. Ils jouent simplement la piste qu'on leur demande avec ses Notes et ses Control Change. S'il y a d'autres pistes sur le même canal, il suffit de faire "Mute" sur celles qu'on ne veut pas entendre.
Et on peut revenir si on veut à 'nimporte quelle des pistes précedentes sans qu'elle ait perdu ses données. Il n'est pas nécessaire de détruire les données Control Change de toutes les pistes précédentes pour ça...
Reason détruit les Control Change des pistes précédentes, au moment de l'enregistrement de la dernière piste. C'est d'ailleurs facile à vérifier, on voit même la zone de Control Change s'effacer à mesure qu'on avance. Donc adieu l'interprétation de votre première piste. Elle est perdue. Autant nous dire tout de suite qu'on ne peut faire qu'une piste par canal.
Tout le monde a les mêmes contraintes au départ avec le MIDI mais Reason dans ce cas, n'a pas résolu de façon pratique cette particularité du MIDI.
Ils l'admettent eux-mêmes et j'imagine qu'ils vont rectifier cela un jour.
A+
KaeRZed
Citation : on voit même la zone de Control Change s'effacer à mesure qu'on avance
C'est clair que c'est pas cool... Ce sera sûrement corrigé dans Reason4 (n'est-ce-pas, mon cher Franco ?KaeRZed
Citation : merci encore d'avoir pris le temps de suivre le sujet.
Toujours avec plaisr !!KaeRZed
Citation : merci encore d'avoir pris le temps de suivre le sujet.
Toujours avec plaisir !!- < Liste des sujets
- Charte

