réactions au dossier [Bien débuter] On refait le son de Top Gun !
- 139 réponses
- 49 participants
- 9 780 vues
- 49 followers
DOMICIDRE
45
Nouvel·le AFfilié·e
Membre depuis 6 ans
Sujet de la discussion Posté le 04/11/2020 à 17:37:03[Bien débuter] On refait le son de Top Gun !
Vous aimez les synthés et Tom Cruise ? Cette vidéo est faite pour vous !
Lire l'article
Ce thread a été créé automatiquement suite à la publication d'un article. N'hésitez pas à poster vos commentaires ici !
Lire l'article
Ce thread a été créé automatiquement suite à la publication d'un article. N'hésitez pas à poster vos commentaires ici !
Wolfen
13903
Rédacteur·trice
Membre depuis 22 ans
71 Posté le 06/11/2020 à 10:45:21
Tanabarbier a raison, la synthèse à modulation de fréquence et à modulation de phase c'est la même chose, tandis que la synthèse des synthés Casio CZ c'est de la distorsion de phase donc complètement autre chose. C'est ce que j'ai toujours lu dans les bouquins qui traitent de la synthèse, et ça ne vient pas de considérations métaphysiques sur ce qu'est la phase mais simplement de comment ça fonctionne et comment ça se code. Après on peut faire dire ce qu'on veut à ces termes si on se met en même temps à changer les specs des synthés associés, notamment les formes d'ondes utilisées, mais c'est un autre débat.
Je vais essayer d'illustrer ça de manière aussi simple que possible. L'archétype du synthé FM/PM, c'est des formes d'onde sinusoïdales uniquement, et surtout pas de techniques anti-aliasing
Pour générer une telle onde avec du code dans un programme numérique, on a besoin de connaître la fréquence d'échantillonnage Fe, et de spécifier une fréquence f0. Intéressons nous juste à ça sans modulations pour le moment. Si on fait commencer la forme d'onde pile au démarrage de la lecture, on va avoir cette formule qui nous dit ce qui doit sortir de notre plug-in VST à chaque sample n en partant de l'index de sample n = 0 :
Cette formule finalement nous permet de calculer une variable entre 0 et 2*pi qui sera appliquée pour chaque valeur de n et qui devra être appliquée dans le sinus pour savoir où on en est dans la forme d'onde et renvoyer une sortie. On pourrait du coup l'écrire comme ça également :
Si on veut que la phase de notre sinusoïde ne soit pas zéro pour le démarrage (n = 0), on peut aussi rajouter un offset supplémentaire entre 0 et 2*PI, ce qui permet de décaler l'endroit d'où on commence :
Dans la pratique, on n'utilisera pas directement cette formule comme ça car l'utilisateur doit pouvoir modifier f0 avec un potard à sa guise, ou avec les notes jouées par le clavier MIDI. Si on se contente simplement de changer le f0 en plein milieu de la lecture, la phase en cours de notre onde sinusoïdale va faire un gros saut à la transition, et ça générer un artefact sonore dégueulasse. Ce qu'on préférerait plutôt, c'est que la phase en cours au moment de la transition ne varie pas, mais qu'on fasse varier plutôt sa variation pour les prochains échantillons. Un truc de ce genre là :
Dans cet exemple, ce que j'appelle "phase_sauvegardée" c'est une variable qui est mise à jour à chaque envoi de nouveau échantillon. On peut l'initialiser à zéro avant le démarrage du plug-in, ou bien à autre chose pour obtenir une équivalence à l'offset qu'on a vu avant. Et grâce à ce nouveau mode de fonctionnement, si on change f0 d'un coup, la mise à jour se fera beaucoup moins brutalement puisqu'on aura plus ce phénomène de saut.
Mais ce qui intéressant dans cet exemple aussi, c'est que rien n'empêche de changer le f0 tout le temps et de le remplacer par la sortie d'un autre générateur d'onde :
Dans ce dernier exemple, la fréquence de la sinusoide de sortie est modulée par une autre sinusoide, ce qui la fait varier entre un fmin et un fmax. Et pour obtenir ce résultat, on change l'incrément à appliquer à la phase, donc comment elle doit varier d'un échantillon à l'autre, donc comment elle est modulée
(après c'est un exemple simple, on peut rajouter des modulos pour que les phases restent entre 0 et 2*pi, on peut changer la formule de variation2 de multiples manières etc.)
Je vais essayer d'illustrer ça de manière aussi simple que possible. L'archétype du synthé FM/PM, c'est des formes d'onde sinusoïdales uniquement, et surtout pas de techniques anti-aliasing
Pour générer une telle onde avec du code dans un programme numérique, on a besoin de connaître la fréquence d'échantillonnage Fe, et de spécifier une fréquence f0. Intéressons nous juste à ça sans modulations pour le moment. Si on fait commencer la forme d'onde pile au démarrage de la lecture, on va avoir cette formule qui nous dit ce qui doit sortir de notre plug-in VST à chaque sample n en partant de l'index de sample n = 0 :
sortie[n] = sin(2*PI*f0*n/Fe)
Cette formule finalement nous permet de calculer une variable entre 0 et 2*pi qui sera appliquée pour chaque valeur de n et qui devra être appliquée dans le sinus pour savoir où on en est dans la forme d'onde et renvoyer une sortie. On pourrait du coup l'écrire comme ça également :
phase[n] = 2*PI*f0*n/Fe
sortie[n] = sin(phase[n])
Si on veut que la phase de notre sinusoïde ne soit pas zéro pour le démarrage (n = 0), on peut aussi rajouter un offset supplémentaire entre 0 et 2*PI, ce qui permet de décaler l'endroit d'où on commence :
phase[n] = 2*PI*f0*n/Fe
sortie[n] = sin(phase[n] + offset)
Dans la pratique, on n'utilisera pas directement cette formule comme ça car l'utilisateur doit pouvoir modifier f0 avec un potard à sa guise, ou avec les notes jouées par le clavier MIDI. Si on se contente simplement de changer le f0 en plein milieu de la lecture, la phase en cours de notre onde sinusoïdale va faire un gros saut à la transition, et ça générer un artefact sonore dégueulasse. Ce qu'on préférerait plutôt, c'est que la phase en cours au moment de la transition ne varie pas, mais qu'on fasse varier plutôt sa variation pour les prochains échantillons. Un truc de ce genre là :
variation = 2*PI*f0/Fe
sortie[n] = sin(phase_sauvegardée)
phase_sauvegardée += variation
Dans cet exemple, ce que j'appelle "phase_sauvegardée" c'est une variable qui est mise à jour à chaque envoi de nouveau échantillon. On peut l'initialiser à zéro avant le démarrage du plug-in, ou bien à autre chose pour obtenir une équivalence à l'offset qu'on a vu avant. Et grâce à ce nouveau mode de fonctionnement, si on change f0 d'un coup, la mise à jour se fera beaucoup moins brutalement puisqu'on aura plus ce phénomène de saut.
Mais ce qui intéressant dans cet exemple aussi, c'est que rien n'empêche de changer le f0 tout le temps et de le remplacer par la sortie d'un autre générateur d'onde :
variation1 = 2*PI*f0/Fe
sinus1[n] = sin(phase_sauvegardée1)
phase_sauvegardée1 += variation1
variation2 = 2*PI*((0.5*sinus1[n]+0.5)*(fmax-fmin) + fmin)/Fe
sortie[n] = sin(phase_sauvegardée2)
phase_sauvegardée2 += variation2
Dans ce dernier exemple, la fréquence de la sinusoide de sortie est modulée par une autre sinusoide, ce qui la fait varier entre un fmin et un fmax. Et pour obtenir ce résultat, on change l'incrément à appliquer à la phase, donc comment elle doit varier d'un échantillon à l'autre, donc comment elle est modulée
(après c'est un exemple simple, on peut rajouter des modulos pour que les phases restent entre 0 et 2*pi, on peut changer la formule de variation2 de multiples manières etc.)
Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud
iktomi
14838
Drogué·e à l’AFéine
Membre depuis 5 ans
72 Posté le 06/11/2020 à 10:52:33
Citation de Will :
À moins que tu n'aies guère plus de mémoire que les vintage de ta collection
[ Dernière édition du message le 06/11/2020 à 10:54:02 ]
Analog_Keys
7017
Je poste, donc je suis
Membre depuis 3 ans
73 Posté le 06/11/2020 à 13:56:50
Citation de synthwalker :
Tiens, pour le test du prochain synthé, je vous ai fait un petit extrait avec la cloche de Top Gun, c'est même un preset...
Un synthé FM dans les tuyaux ?
Tana Barbier
303
Posteur·euse AFfamé·e
Membre depuis 18 ans
74 Posté le 06/11/2020 à 14:15:28
Citation de Wolfen :
Dans ce dernier exemple, la fréquence de la sinusoide de sortie est modulée par une autre sinusoide, ce qui la fait varier entre un fmin et un fmax.
Merci Wolfen pour ton intervention!
Il y a un truc que je comprend pas bien: comment tu peux connaitre ces deux min et max (fmin et fmax), ils sont liés à l'amplitude de la modulante, non?
C'est pas ça qui te sert ensuite à déterminer l'indice de modulation? Ou bien tu t'en moques dans tes calculs?
D'un coup je me dis qu'en fait l'indice de modulation c'est beaucoup plus probablement un truc qui nous sert à anticiper/élaborer/analyser la construction d'un timbre, une espèce de variable cachée de l'interface (heureusement cachée hein), mais que pour programmer le synthé ça te sert a rien?
usw
1060
AFicionado·a
Membre depuis 9 ans
75 Posté le 06/11/2020 à 15:09:37
Dans son équation nommée "variation2" wolfen ajoute une constante au modulateur avant d'étalonner sa plage de modulation, ça n'a aucun sens...
Pour obtenir un spectre "constant" (même profil d'amplitude des bandes latérales) quelle que soit la note jouée, l'amplitude du modulateur doit être multipliée par la fréquence de ce dernier (et par l'index qui est le second contrôle timbral dans cette architecture, le premier étant le rapport entre la fréquence de la porteuse et celle du modulateur), avant d'etre ajouté par simple sommation a la fréquence fondamentale de la porteuse.
Pour obtenir un spectre "constant" (même profil d'amplitude des bandes latérales) quelle que soit la note jouée, l'amplitude du modulateur doit être multipliée par la fréquence de ce dernier (et par l'index qui est le second contrôle timbral dans cette architecture, le premier étant le rapport entre la fréquence de la porteuse et celle du modulateur), avant d'etre ajouté par simple sommation a la fréquence fondamentale de la porteuse.
[ Dernière édition du message le 06/11/2020 à 15:23:17 ]
synthwalker
12092
Rédacteur·trice
Membre depuis 21 ans
76 Posté le 06/11/2020 à 15:38:09
x
Hors sujet :Citation de Analog_Keys :Citation de synthwalker :Tiens, pour le test du prochain synthé, je vous ai fait un petit extrait avec la cloche de Top Gun, c'est même un preset...
Un synthé FM dans les tuyaux ?
Ou à modulation de phase...
synthwalker
12092
Rédacteur·trice
Membre depuis 21 ans
77 Posté le 06/11/2020 à 15:42:59
Citation de Will :
xHors sujet :Suite à une fausse manip de clavier (probablement la même qui m'avait fait poster par erreur sur le sujet du b2600), j'ai faillis poster ma réponse dans le mauvais topic
Au lieu de te moquer des alcooliques, toi qui partages avec nous les ravages du grand âge, tu ferais mieux d'essayer de te rappeler des prix des synthés à l'époque et de comment le DX-7 se plaçait dans l'offre d'alors.
À moins que tu n'aies guère plus de mémoire que les vintage de ta collection
Mon DX7 a couté 11.000 FF neuf en 1986, je m'en souviens comme si c'était hier... c'est vrai que c'était cher, mais le Prophet-600 était à 20.000 FF, je ne parle même pas du Prophet-5 ou du Matrix-12 dont le tarif les excluait d'emblée de mon petit magasin de province...
Will Zégal
75392
Will Zégal
Membre depuis 22 ans
78 Posté le 06/11/2020 à 15:47:41
Ah ben tu vois, je m'en doutais, mais t'as la mémoire au Supermax
petit professeur
3899
Squatteur·euse d’AF
Membre depuis 15 ans
79 Posté le 06/11/2020 à 15:56:55
x
Hors sujet :Citation de synthwalker :xHors sujet :Citation de Analog_Keys :Citation de synthwalker :Tiens, pour le test du prochain synthé, je vous ai fait un petit extrait avec la cloche de Top Gun, c'est même un preset...
Citation de Analog_Keys :
Un synthé FM dans les tuyaux ?
Ou à modulation de phase...
Nooooooooooonnnnnnn, ne nous dis pas que tu testes un BX7, je vais passer du côté UBscur de la Borce
Le plus gauche des guitaristes gaucher....
[ Dernière édition du message le 06/11/2020 à 15:58:01 ]
synthwalker
12092
Rédacteur·trice
Membre depuis 21 ans
80 Posté le 06/11/2020 à 16:01:05
x
Hors sujet :Ou peut-être un BZ-1...
- < Liste des sujets
- Charte