Se connecter
Se connecter

ou
Créer un compte

ou

Sujet Dessiner sa forme d'onde

  • 38 réponses
  • 10 participants
  • 9 458 vues
  • 12 followers
Sujet de la discussion Dessiner 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 ? :clin:

Il Sorpasso, qui aimerait bien laisser la synthèse soustractive au monde analogique, et qui n'aime pas trop trop la FM.
Afficher le sujet de la discussion
11
Je viens de retrouver mon code ... c'est du grand n'importe quoi :mdr:
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 :mdr:

Je crois que si je m'y remets je vais reprendre à zéro :roll:
12
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 :mdr:
13
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.

:coucou:
14
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?
15
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.
16
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.
17
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.
18
Eh eh, good job :boire:
19
Mais c'est qu'il est rapide le choquounet ! :clin:

Si t'arrives à sortir des sons exploitables avec ce truc, n'hésite pas ...
:boire:
20
Flag topic hyper intéréssent.