Comment appliquer un vibrato
Salut à toutes et a tous.
Je fais actuellement quelques essais pour modéliser des générateurs de signaux
périodiques, donc destinés à terme à la mise en oeuvre de synthétiseurs.
Pour ce qui est des signaux simples, il n'y a guère de difficultés mais par contre
j'ai quelques soucis avec la modulation en fréquence (ou de phase ou "vibrato").
Quel serait l'algo permettant d'appliquer ce vibrato en sachant que je récupère
la phase (en radians) pour ces deux signaux (signal et modulation) à un instant (t)
et plus précisément à l'instant (e) de l'échantillonnage ainsi que la profondeur
de la dite modulation :
double signal_a_moduler; (en radians)
double signal_de_modulation; (en radians)
double amplitude_modulation;
double resultat_de_la_modulation = ???
Pour plus de précisions, voici comment je calcule le radian d'un signal sinusoïdal,
à chaque échantillon :
Code:
int Echantillon; //Compteur d'échantillons
Code:
1 2 3
| double Frequence; // fréquence en Hz
double spp = 44100.0 / Frequence; //nombre de samples par periode
double radian = Echantillon / spp * Pi; //Pi = 2 * pi |
J'ai donc assez facilement le sinus :
Code:
double sinus = sin(radian); //math.h pour sin
A plus !