Dessiner sa forme d'onde
- 38 réponses
- 10 participants
- 9 538 vues
- 12 followers
Il Sorpasso
966
Posteur·euse AFfolé·e
Membre depuis 20 ans
Sujet de la discussion Posté le 03/11/2006 à 14:37:26Dessiner sa forme d'onde
Heureux possesseur de Reaktor, j'avais placé pas mal d'espoirs dans de la synthèse type "je dessine mon motif de forme d'onde" (motif qu'on boucle à la fréquence fondamentale)...
Mais en ayant essayé deux ou trois ensembles fait par la communauté d'utilisateur, je suis assez déçu de ce type de synthèse, et bizarrement ça sort toujours un peu le même type de sons, très souvents creusés... C'est vrai que c'est facile de dessiner une première harmonique, et de lui rajouter des biduleries qui vont créer des fréquences aigues, mais dessiner une 2nd, 3e harmonique c'est quasiment impossible...
C'est pourtant une technique qui se présentait bien, typiquement rendue possible par les outils de notre époque, et qui pourrait apporter des familles de sons un peu différentes... enfin le croyais-je.
une extension qui m'intéresserait alors, ce serait de partir de formes d'ondes standards ou de samples et de leur placer des points qu'on pourrait faire varier verticalement ou horizontalement ( par des lfo, enveloppes, etc, enfin les trucs habituels), et qui "tireraient" la forme d'onde derrière eux. Vous voyez ? Personne n'a envie de créer un ensemble qui ferait ça sur Reakor svp ?
Il Sorpasso, qui aimerait bien laisser la synthèse soustractive au monde analogique, et qui n'aime pas trop trop la FM.
Mais en ayant essayé deux ou trois ensembles fait par la communauté d'utilisateur, je suis assez déçu de ce type de synthèse, et bizarrement ça sort toujours un peu le même type de sons, très souvents creusés... C'est vrai que c'est facile de dessiner une première harmonique, et de lui rajouter des biduleries qui vont créer des fréquences aigues, mais dessiner une 2nd, 3e harmonique c'est quasiment impossible...
C'est pourtant une technique qui se présentait bien, typiquement rendue possible par les outils de notre époque, et qui pourrait apporter des familles de sons un peu différentes... enfin le croyais-je.
une extension qui m'intéresserait alors, ce serait de partir de formes d'ondes standards ou de samples et de leur placer des points qu'on pourrait faire varier verticalement ou horizontalement ( par des lfo, enveloppes, etc, enfin les trucs habituels), et qui "tireraient" la forme d'onde derrière eux. Vous voyez ? Personne n'a envie de créer un ensemble qui ferait ça sur Reakor svp ?
Il Sorpasso, qui aimerait bien laisser la synthèse soustractive au monde analogique, et qui n'aime pas trop trop la FM.
Tucdual
634
Posteur·euse AFfolé·e
Membre depuis 21 ans
11 Posté le 03/11/2006 à 16:58:43
Je viens de retrouver mon code ... c'est du grand n'importe quoi
A l'époque je savais pas qu'il existait des librairies pour pas réinventer la roue à chaque fois, du coup j'ai tout implémenté moi même
Je crois que si je m'y remets je vais reprendre à zéro
A l'époque je savais pas qu'il existait des librairies pour pas réinventer la roue à chaque fois, du coup j'ai tout implémenté moi même
Je crois que si je m'y remets je vais reprendre à zéro
Tucdual
634
Posteur·euse AFfolé·e
Membre depuis 21 ans
12 Posté le 03/11/2006 à 18:29:20
Je viens de zieuter wikipedia, ça parle de courbes de bézier paramétriques (x = f(t) et y = f(t))... pour l'audio l'approche est un peu différente, il faut des fonctions en y = f(x)
Mais j'ai déja le code qui fait ça.
J'étais un nerd au lycée quand même
Mais j'ai déja le code qui fait ça.
J'étais un nerd au lycée quand même
molecule
232
Posteur·euse AFfiné·e
Membre depuis 19 ans
13 Posté le 09/11/2006 à 19:00:36
Pour ton problème, tu n'as besoin que d'une seule dimension des courbes de béziers : amplitude_signal = f(temps) et tes pôles sont les amplitudes "imposées" par ton dessin à un temps t.
Par contre fait attention avec les courbes de bézier, elles sont totalement instables et imprévisibles lorsque tu veux changer les valeurs des pôles (ou des points du polynome caractéristique). En effet un changement local modifie toute la courbe. Pour feinter, on utilise plusieurs courbes (degrès 3 en général) que l'on raccorde avec la continuité C². Mais c'est un beau bordel !
C'est pour cela que l'on utilise plutôt les Nurbs ou les B-Splines car la modification d'un paramètre ne change que localement la courbe. Par contre c'est plus complexe à appliquer car tu as des points de contrôle en plus des pôles.
Après faut voir ce que tu cherches exactement ... Si c'est pour de l'expérimental et des résultat spé, garde les courbes de Béziers. Sinon si tu veux vraiment être précis et quantifier tes modifications renseigne toi d'abord sur les Nurbs et B-Splines.
Par contre fait attention avec les courbes de bézier, elles sont totalement instables et imprévisibles lorsque tu veux changer les valeurs des pôles (ou des points du polynome caractéristique). En effet un changement local modifie toute la courbe. Pour feinter, on utilise plusieurs courbes (degrès 3 en général) que l'on raccorde avec la continuité C². Mais c'est un beau bordel !
C'est pour cela que l'on utilise plutôt les Nurbs ou les B-Splines car la modification d'un paramètre ne change que localement la courbe. Par contre c'est plus complexe à appliquer car tu as des points de contrôle en plus des pôles.
Après faut voir ce que tu cherches exactement ... Si c'est pour de l'expérimental et des résultat spé, garde les courbes de Béziers. Sinon si tu veux vraiment être précis et quantifier tes modifications renseigne toi d'abord sur les Nurbs et B-Splines.
guitoo
759
Posteur·euse AFfolé·e
Membre depuis 21 ans
14 Posté le 09/11/2006 à 19:37:20
Les bezier par morceaux sont quand meme plus intuitive a manipuler. Et pas sur que la continuité C² ou infini s'entede a l'oreille?
Tucdual
634
Posteur·euse AFfolé·e
Membre depuis 21 ans
15 Posté le 09/11/2006 à 21:21:54
Je suis parti sur les béziers par morceaux, avec une continuité C1. Je cherche pas une grande précision, du moins pas pour l'instant. Je veux juste voir si ça marche.
D'ailleurs c'est pas vraiment des courbes de Bézier, la longueur des segments de contrôle n'est pas prise en compte, juste leur pente.
J'ai aussi du code d'un de mes projets d'info, qui fait des splines par morceaux entre des points donnés et qui est assez optimisé. Il faudrait juste le modifier pour rajouter la continuité entre t=0 et t=T.
Avant de me plonger dedans de toutes façons j'attends de rentrer en France pour récupérer mes notes sur ce projet et mes cours de traitement du signal.
Je vais quand même regarder les Nurbs et les B-Splines.
D'ailleurs c'est pas vraiment des courbes de Bézier, la longueur des segments de contrôle n'est pas prise en compte, juste leur pente.
J'ai aussi du code d'un de mes projets d'info, qui fait des splines par morceaux entre des points donnés et qui est assez optimisé. Il faudrait juste le modifier pour rajouter la continuité entre t=0 et t=T.
Avant de me plonger dedans de toutes façons j'attends de rentrer en France pour récupérer mes notes sur ce projet et mes cours de traitement du signal.
Je vais quand même regarder les Nurbs et les B-Splines.
Il Sorpasso
966
Posteur·euse AFfolé·e
Membre depuis 20 ans
16 Posté le 11/12/2006 à 10:56:03
Je fais remonter ce topic, parce que je me suis rendu compte en lisant vraiment la doc de l'instrument Oki Computer de Reaktor, qu'il s'approchait franchement de très près de ces formes de synthèse. Leurs presets ne le mettent pas vraiment en avant, mais j'ai l'impression que cet instrument peut sortir des sons évolutifs vraiment réussis. En plus ils ont un peu bossé sur l'anti aliasing apparemment dans la dernière version, ça n'était pas du luxe.
molecule
232
Posteur·euse AFfiné·e
Membre depuis 19 ans
17 Posté le 31/12/2006 à 16:22:37
Pour démontrer que ça marche, voici un modeste petit essai en instrument Vst (je me suis basé sur le vstxsynth du sdk de steinberg donc la partie midi n'est pas top):
http://molecule.free.fr/spline/MazSpline_v0.1.dll
Attention, pas d'interface graphique ! La spline est divisée en 6 Pôles répartis régulièrements et que l'on peut faire bouger. Si vous mettez un oscillo à la sortie, on peux observer ce genre de trucs :
Bon, y'a pas encore la continuité C1 et l'attaque d'une note est brutale, ça clippe :
Pour l'instant tout les sons se ressemblent assez, mais je pense qu'il pourrait y avoir un bon potentiel à développer avec plus de pôles.
http://molecule.free.fr/spline/MazSpline_v0.1.dll
Attention, pas d'interface graphique ! La spline est divisée en 6 Pôles répartis régulièrements et que l'on peut faire bouger. Si vous mettez un oscillo à la sortie, on peux observer ce genre de trucs :
Bon, y'a pas encore la continuité C1 et l'attaque d'une note est brutale, ça clippe :
Pour l'instant tout les sons se ressemblent assez, mais je pense qu'il pourrait y avoir un bon potentiel à développer avec plus de pôles.
Choc
6968
Membre d’honneur
Membre depuis 22 ans
18 Posté le 31/12/2006 à 16:25:08
Eh eh, good job
Site personnel: https://www.enib.fr/~choqueuse/
molecule
232
Posteur·euse AFfiné·e
Membre depuis 19 ans
19 Posté le 31/12/2006 à 17:08:25
Mais c'est qu'il est rapide le choquounet !
Si t'arrives à sortir des sons exploitables avec ce truc, n'hésite pas ...
Si t'arrives à sortir des sons exploitables avec ce truc, n'hésite pas ...
- < Liste des sujets
- Charte