Bonjour ou bonsoir à toutes et tous.
Cette fois, je vais vous expliquer comment réaliser un "pan" pour votre synthétiseur préféré, le vôtre.
Le "pan", c'est le petit bouton rotatif qui va envoyer votre son plutôt à gauche ou plutôt à droite. Il ne faut pas le confondre avec la "balance", qui, elle, a en entrée un signal stéréo et ressort réparti différemment sur les deux canaux.
Pour commencer, récupérez le fichier de travail sur le Gist approprié de mon GitHub.
En pratique, le Control Change 10(0AH) correspond à l'effet de pan.
0 complètement à gauche
64 au centre
127 complètement à droite
Vous connaissez déjà comment tester le numéro du Control Change, je passerai donc ce paragraphe.
En ce qui concerne la gestion du pan, rien de bien compliqué, on crée une nouvelle variable pan qu'on initialise par défaut à 64. On modifie sa valeur dans le switch secondaire Control Change.
Pour la partie audio, il ne faut pas jouer sur baseSound comme avec le volumeGeneral, mais directement avec les outBuffer(Left/Right)[i]
outBufferLeft[i] = ((pan>=64)?((127-pan)/63.0):1) * baseSound;
autre solution plus traditionnelle:
if (pan >= 64) then outBufferLeft[i] = baseSound * ((127-pan)/63.0);
else outBufferLeft[i] = baseSound;
Je vous laisse penser au calcul à réaliser pour le côté droit, il est plus facile, et bien sûre, vous retrouverez le fichier complet, commenté et fonctionnel dans un Gist de mon Github.
Merci de me lire.
A bientôt.
Dagal.
Aucun commentaire:
Enregistrer un commentaire