Se connecter
Se connecter

ou
Créer un compte

ou

Besoin d'aide pour la création d'un "channel joiner" JS

  • 0 réponse
  • 1 participant
  • 288 vues
  • 1 follower
Sujet de la discussion Besoin d'aide pour la création d'un "channel joiner" JS
Hello !

Je me suis lancé le défi de créer un petit plug-in JS.

Mon idée : on route deux pistes stéréos vers ce plugin, une fois sur les channels 3/4 et une fois sur 5/6. Le plug-in les combines et dirige la sortie vers les cannaux 1/2. À la disposition de l'utilisateur, un fader permettant de doser la quantité de chaque signal : tout à gauche, on entend que 3/4, tout à droite que 5/6 et entre deux un mélange des deux.

C'est en quelque sorte une variante du channel joiner de Reno, pour ceux qui ont vu sa vidéo "Technique M/S avec n'importe quel plug-in". Il y a pour moi deux avantages pour moi à n'avoir qu'un seul fader à la place d'un par piste :

-Premièrement, on est pas obligé de réajuster le volume, on peut donc se concentrer sur le changement de timbre sans être distrait par le changement de volume
-deuxièmement, si l'on veut automatiser le morphing entre les deux sons, on a qu'un seul paramètre à automatiser, ce qui est plus commode.

Je me suis basé sur le 3bandjoiner fournit avec reaper pour coder et j'ai réussi à coder une version qui fonctionne plus moins : lorsque je déplace le fader, l'un des couple stéréo augmente et l'autre diminue. Là où je bloque, c'est pour la conservation du niveau sonore. Ma réduction de volume est bêtement linéaire, de 0db de réduction à 96db (pour avoir quelque chose qui se rapproche du silence). Du coup, lorsque mon fader est au milieu, mes deux sons subissent une réduction de -48db, ce qui fait que l'on ne les entend pas.

J'imagine qu'il faudrait une réduction de volume qui suive une échelle non-linéaire (logarithmique peut-être ?), mais je ne suis pas sûr. Quelqu'un a-t-il une idée ?

Je vous met mon code si vous voulez tester chez vous :

Citation :

desc:combine les channels 3/4 et 5/6 selon fader
slider1:0<-96,0,.1>balance entre les cannaux

@init
c_ampdB = 8.65617025;

@slider
band1 = exp(slider1/c_ampdB);
band2 = exp((-slider1-96)/c_ampdB);

@sample
spl0 = spl2 * band1 + spl4 * band2;
spl1 = spl3 * band1 + spl5 * band2;


Merci d'avance ! :D:

[ Dernière édition du message le 21/06/2015 à 16:37:03 ]