Publicité

Annonce

Réduire
Aucune annonce.

La FM sur PC3 (et K)

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • La FM sur PC3 (et K)

    J'ai retrouvé par hasard dans mes floppy du K2600 des sons Fm, pour ceux que ça intéresse.
    Il s'agit d'une disquette intitulée "MorePrograms K26".
    si on regarde la structure il s'agit exactement de la suite de dsp référencées sur le site de KFM, à savoir : gain-> saw+->amp

    mais le résultat qui m'a le plus convaincu :
    pour un algo à 2 opérateurs :
    gain-> saw+shaper -> lopass -> amp

    je n'en ai pas trouvé avec la triple modular, mais ce ne devrait pas être un soucis de mettre en série 3 fois cet algorithme.

    imaginez le tout passé dans l'algo KDFX : delay + chorus + pitcher :p :p :p :p

    un beau grand bleu en vue :-D!!

  • #2
    Suite à mon essai de la banque KFM de Paul Dillen, je me demande de plus en plus ce que c'est qu'on appelle la "synthèse FM"? Je connais le principe de la modulation de fréquence, mais je n'ai pas l'impression que c'est ce qui est pratiqué en "synthèse FM". J'ai regardé les algorithmes utilisés dans cette banque KFM, et en grand débutant que je suis, je crois comprendre que tout le principe actif de la "synthèse FM", du moins chez Kurz, repose sur le module "SW+SHP" de la VAST. Voici ce qu'en dit le manuel:

    SW+SHP (Sawtooth + Shaper)
    This oscillator is capable of basic FM Synthesis. Its distinctive parameter is Pch Coar. This oscillator must come after the sound source in an algorithm (either keymap or oscillator) in order to hear the effect of Pch Coar, which can radically change whatever the oscillator receives as an input. Works well placed after a Sine source.
    :mefie Je n'arrive pas à faire le lien entre la "modulation de fréquence" et la "synthèse FM", et j'ai de plus en plus l'impression que cela n'a rien à voir.
    Dernière modification par Invité, 24 février 2011, 17h33.

    Commentaire


    • #3
      Bon, pour la FM (en tout cas la FM chez Kurz) je laisse tomber pour ce soir, trop fatigué. :zzzzzzz

      Peut-être quelqu'un sait-il ce qu'est un Shaper? Il y a un module nommé "Shaper" dans le PC3, et le mode d'emploi ne l'explique pas du tout (d'ailleurs il ne l'aborde même pas). Il y a d'autres choses qui ne sont pas abordées dans ce mode d'emploi.

      Commentaire


      • #4
        Pour la synthèse FM, il y a tout un article sur Wikipedia : http://fr.wikipedia.org/wiki/Synth%C3%A8se_FM
        On module un bloc par un autre, ce qui devient "A sin(a t) -> A sin(a sin( b t))" (modulation d'un oscillateur sinusoïdal par une autre sinusoïde). C'est la "brique de base", et on peut aller très loin.

        La référence est le bouquin de Chowning, bourré d'exemples musicaux et formules mathématiques.
        Hello, World!

        Commentaire


        • #5
          Pour la synthèse FM, il y a tout un article sur Wikipedia : http://fr.wikipedia.org/wiki/Synth%C3%A8se_FM
          On module un bloc par un autre, ce qui devient "A sin(a t) -> A sin(a t + B sin( b t))" (modulation d'un oscillateur sinusoïdal par une autre sinusoïde). C'est la "brique de base", et on peut aller très loin.

          La référence est le bouquin de Chowning, bourré d'exemples musicaux et formules mathématiques.
          Dernière modification par alchemist, 22 février 2011, 08h23.
          Hello, World!

          Commentaire


          • #6
            @e-miel : je pense que ceci va t'intéresser :
            livre FM :
            http://www.audiokeys.net/forum/showt...Yamaha-FM8-etc)

            le Shaper, expliqué en long et en large par **** :
            AudioKeys : tout sur la MAO, le home studio, les instruments de musique...

            Commentaire


            • #7
              j'avais oublié, mais il y a aussi ceci qui pourrait t'intéresser :



              cela a été réalisé par un des professeurs que j'ai eu à McGill au canada, il est super sympa. C'est le chef de chaire du département d'intelligence artificielle à McGill à montréal.

              Commentaire


              • #8
                Merci pour les liens. J'ai déjà le livre. Je viens de découvrir l'explication de **** grâce à ton lien.

                Pour ton prof, il en écrit des tonnes, en plus en anglais, mais heureusement qu'il y a Google Translator.

                Commentaire


                • #9
                  Introduction : la VAST dans le PC3

                  Dans le PC3, il y a 32 Layer par Program, et 6 unités par Layer :


                  La première unité exécute le module PITCH qui contrôle à la vitesse de lecture du Keymap (PCM) puis 4 unités libres qui permettent à l'utilisateur de choisir ses modules (certains modules consomment 2, 3 voire 4 unités suivant la complexité de leur programmation interne, mais dans le cas étudié ci-dessous, je n'utiliserai que des modules consommant une unité) et pour finir le module AMP qui fait varier le volume sonore en fonction de l'enveloppe d'amplitude et d'autres paramètres.

                  Il est possible de chaîner plusieurs Layers dans le cas où les 4 unités libres seraient insuffisantes, où pour mutualiser les ressources afin de faciliter la programmation et d'économiser de la polyphonie, mais je n'utiliserai pas de chaînage ici.

                  Cas pratique : synthèse FM avec le PC3

                  Lorsqu'un synthé (un VA, pas un PCM) produit une sinusoïde, il applique la fonction sinus au temps: sin(t). Or, le temps est une valeur qui progresse indéfiniment, mais les synthés ne font évidemment pas progresser leur variable t indéfiniment. Comme la sinusoïde est une fonction périodique, le synthé fait boucler sa variable t entre min et max sur la période du son à obtenir, autrement dit t est une onde en dent de scie, et la fonction sin appliquée à une onde en dent de scie est une sinusoïde. La fréquence du son est la pente donnée à t, constante, notée t'.

                  En notation VAST, voici 2 méthodes pour obtenir la même sinusoïde:


                  Voici quelques modules servant de briques de base à la confection d'un algorithme VAST (vous remarquerez que les modules SAW et SINE ignorent l'onde sonore x qui leur arrive, et que le module SHAPER est la fonction sin):


                  Le module VAST dédié "synthèse FM" est le module SW+SHP (SAW+ suivi de SHAPER). On constate qu'il s'agit bien d'une modulation de fréquence, sauf que le modulateur de fréquence n'est pas x mais sa dérivée x', puisque la fréquence de base est t'.

                  Facultatif : pour aller plus loin

                  D'après mes tests à l'oreille, Kurzweil a réduit de 25dB l'impact de x probablement pour simuler un DX7 (je ne sais pas, mais ça me paraîtrait logique que ce soit pour cette raison). Il vous est néanmoins possible d'outrepasser cette limite en recréant vous-même l'effet du module SW+SHP en utilisant d'autres modules plus élémentaires.

                  Si le gain k est à -25dB, les 3 algorithmes VAST suivants produisent le même son :


                  À vous de régler k à votre convenance (par exemple le lier à la vélocité) ainsi que tous les autres paramètres non-détaillés ici. Les 3 algorithmes ci-dessus utilisent l'onde x envoyée par le Keymap comme modulateur, qui peut être une sinusoïde.

                  Conclusion

                  Il faut bien différencier le principe de la modulation de fréquence et la façon dont ce principe théorique a été concrétisé dans un synthé. Par exemple chez Kurzweil, ce n'est pas l'onde x en entrée qui module directement la fréquence, mais sa dérivée x' qui sert de modulateur. Si cela n'empêche pas l'utilisation d'une sinusoïde, puisque la dérivée d'une sinusoïde est elle-même une sinusoïde, cela interdit l'usage d'autres ondes élémentaires comme l'onde carrée dont la dérivée est nulle, ainsi que l'onde en dent de scie et l'onde triangulaire dont les dérivées respectives sont constantes donc ne produisent aucun son, excepté les artéfacts lors des changements de pente, musicalement inintéressants.
                  Dernière modification par Invité, 24 février 2011, 18h07.

                  Commentaire


                  • #10
                    Je dis peut-être une bêtise, mais ne pourrait-on pas ajouter encore 1 ou 2 opérateurs via les FUNs ?
                    Hello, World!

                    Commentaire


                    • #11
                      C'est bien ce que j'imaginais.
                      Pour passer à plus de 3 opérateurs en parallèle, il suffit d'accumuler des layers ou des programs.
                      Les seuls combinaisons qu'on ne pourrait pas faire, ce sont des chaîne de 4 ou plus opérateurs en série / feedback. Mais bon, pour la plupart des sons, 3 opérateurs semble suffisant. Et si on veut plus, autant passer à un DX7
                      Hello, World!

                      Commentaire


                      • #12
                        Envoyé par alchemist Voir le message
                        Je dis peut-être une bêtise, mais ne pourrait-on pas ajouter encore 1 ou 2 opérateurs via les FUNs ?
                        Pour tout ce qui est contrôleurs (modulation, curseurs, LFO, FUN...) ils sont mis à jour seulement quelques dizaines de fois par seconde. Normal, puisque les contrôleurs sont gérés par l'OS, c'est du 100% logiciel: chaque modification d'un contrôleur passe par l'OS et augmente ponctuellement la charge CPU (visible dans Master→Utils→Voices). Au contraire, la modulation de fréquence par les unités d'un algorithme VAST, c'est une véritable onde sonore matérielle, donc mise à jour 96000 fois par seconde, et sans charge CPU supplémentaire. Aucun LFO ou autre FUN logicielle ne peut rivaliser avec la précision d'une onde sonore.

                        Faites un test :
                        1) Maintenez des notes avec un son qui utilise le LFO par exemple.
                        2) Tuez brutalement l'OS du PC3 en rentrant dans le Boot Loader (Master→Loader→Yes).
                        3) Vous constaterez que la partie matérielle continue de jouer le son, mais que tout ce qui est logiciel (entre autres le LFO) devient inopérant. De cette façon, vous pouvez faire la part des choses entre matériel et logiciel. Même le curseur "Master Volume" est logiciel et devient inopérant sans OS.

                        Concernant la synthèse FM chez Kurz, vous pouvez l'appliquer à autre chose qu'une sinusoïde. Si vous préférez moduler la fréquence d'une onde en dent de scie, remplacez le module SHAPER par WRAP.

                        Envoyé par alchemist Voir le message
                        Les seuls combinaisons qu'on ne pourrait pas faire, ce sont des chaîne de 4 ou plus opérateurs en série / feedback. Mais bon, pour la plupart des sons, 3 opérateurs semble suffisant. Et si on veut plus, autant passer à un DX7
                        Ou utiliser d'autres Layers (il y a quand-même 32 par Program !!!) et les chaîner de façon qui te convient.

                        Commentaire


                        • #13
                          Envoyé par e-miel Voir le message
                          Pour tout ce qui est contrôleurs (modulation, curseurs, LFO, FUN...) ils sont mis à jour seulement quelques dizaines de fois par seconde. Normal, puisque les contrôleurs sont gérés par l'OS, [...])
                          Non, ce n'est pas du tout ça : tout système de synthèse par logiciel se base sur deux flux :
                          - l'audio, traité par tampons, à la fréquence d'échantillonnage
                          - les contrôles, basés sur une fréquence plus faible, qui dépend du système (par défaut 10 samples sur CSound, ce qu'il y a dans la "message queue" pour PureData et MAX/MSP, ...)

                          Par contre, ta constatation montre seulement que l'OS gère le balayage des contrôleur et l'envoi des valeurs modifiées au moteur sonore
                          Hello, World!

                          Commentaire


                          • #14
                            Pour les 2 flux je le savais, j'ai simplement expliqué pourquoi cela ne peut être QUE comme ça, en tout cas dans le PC3 qui est un poids lourd au niveau hard, mais un poids léger au niveau CPU.

                            Envoyé par alchemist Voir le message
                            Non, ce n'est pas du tout ça : tout système de synthèse par logiciel se base sur deux flux :
                            - l'audio, traité par tampons, à la fréquence d'échantillonnage
                            - les contrôles, basés sur une fréquence plus faible, qui dépend du système (par défaut 10 samples sur CSound, ce qu'il y a dans la "message queue" pour PureData et MAX/MSP, ...)
                            Disons plutôt que l'audio est un flux (géré par tampon, chaque valeur isolée n'ayant aucune signification musicale à elle toute seule) alors que les contrôles sont des interruptions (gérées individuellement, chaque interruption ayant sa propre signification indépendante des autres) en tout cas c'est comme ça dans la plupart des synthés dont le PC3, mais je ne connais pas Csound, PureData, MAX/MSP... et si tout ça gère de la même façon l'audio et les contrôles, ça pourrait m'intéresser.

                            Pour la modulation de fréquence, le Kurz ne se rend même pas compte qu'il en fait, puisque l'onde de base (la dent de scie) a une fréquence constante, alors que pourtant on entend sa fréquence varier. Sachant qu'il est impossible de calculer de la FM au sens propre du terme, c'est-à-dire modifier 96000 fois par seconde la fréquence de l'onde générée, tout l'art de la synthèse FM numérique est de pouvoir recréer le même effet, mais en pensant autrement, donc en calculant autrement. C'est ça que j'ai voulu dire.

                            Commentaire


                            • #15
                              Tu confonds la modulation de fréquence et la synthèse FM. Ce n'est pas la même chose, la synthèse FM va plus loin que moduler une onde par une autre.

                              Je ne comprends pas trop ce que tu veux dire par "la dent de scie a une fréquence constante". Ni le fait que le Kurz n'est pas conscient de ce qui se passe.

                              Le calcul se fait par buffer, on applique la formule en connaissant la valeur de chaque paramètre sur ce tampon.
                              Un peu comme dessiner une fonction à l'écran.
                              Hello, World!

                              Commentaire

                              Chargement...
                              X