Spectre harmonique de l'onde en dent de scie ?
- 67 réponses
- 14 participants
- 23 172 vues
- 13 followers
francolamuerte
Bonjour à tous !
Le 02 Octobre 2006 je mettais en ligne sur ReasonFrance un de mes tutos sur les harmoniques, que vous pouvez consulter à cette adresse :
:arrow: Les harmoniques
Sur le thread du tuto en question s’est développé quelques questionnements. Une question particulièrement semblant assez triviale sur lequel j’achoppe toujours est :
« Pourquoi l’onde en dent de scie comporte en son spectre toutes les harmoniques » ?
Je suis renseigné à propos du fait que selon le théorème de Fourier n’importe quel type de signal périodique peut se décomposer en une simultanéité de plusieurs ondes sinusoïdales.
Mais si vous pouviez m’aider à comprendre « pourquoi » l’onde en dent de scie génère ce spectre harmonique riche, je vous en serait bien reconnaissant. J’ai décidé de venir scruter le terrain sur Audio Fanzine car je sais que certains membres ici possèdent de solides acquis quant à la nature même du son.
Bien à vous
Je vous fait le résumé des quelques post qui ont générés cette interrogation sur ReasonFrance :
Citation : [quote="francolamuerte"]mes compétences en synthèse sonore comportent ses limites. Je ne saurais pas exactement ( pour l'instant ;) ) te dire, sur le fond, POURQUOI l'onde en dent de scie génère toute la série des harmoniques, mais tu peux me croire sur la forme... du reste si quelqu'un passe par ici et saurait dire POURQUOI l'onde en dent de scie comporte toutes les harmoniques, soyez généreux !
Aidez Franco s'il vous plait mes amis ![/quote]
Citation : simple convention non?
peut être qu'a l'époque des premiers sythétiseurs on été capable de générer que ce genre de signaux electriques?
Citation : Convention ? Qu'est-ce que tu entends par « convention » Davie ?
Pourquoi l'onde en dent de scie comporte toutes les harmoniques dans son spectre et pourquoi l'onde sinus n'en contient aucune ? Ça peut pas s'expliquer de façon mathématique-scientifique tu crois par rapport à la forme d'onde etc... ? Je pose ce genre de question dans le genre « pourquoi le feu c'est chaud ? » Simple convention ? Le fait que l'onde en dent de scie comporte toutes les harmoniques en son spectre serait donc une vérité première, un postulat de base qu'on ne peut réduire en multiples facteurs causals ?
Mais merci à toi Davie de venir en aide au pauvre pélerin de la vérité que je suis.
Citation : Je dirais qu'il s'agit en fait du theoreme de fourier ... ce theoreme dit que toute fonction periodique peut s'exprimer sous la forme d'une somme d'ondes sinusoidales ( si je ne me trompe pas ... multiples de la premiere )
Dès lors : La forme d'onde dent de scie peu se decomposer en plusieures ondes sinusoidales representant chacune une harmonique !
Non ?
Citation : Sans doute merci ! Est-ce qu'on peut « voir » les diverses sinus représentant les harmonique sur l'onde en dent de scie physiquement ? Pourtant lorsque l'on regarde le dessin d'une courbe d'onde en dent de scie on ne voit pas trop de sinus. Mais remarque je viens de tomber par harsard sur un site avec théorème de Fourrier et un dessin qui créditerait ce que tu avances Supergeoff. Pour accéder au site avec les formules mathématiques qui me font peur :
CLIQUEZ SUR L'IMAGE !
On avance, on avance ! Merci !
Citation : Ouhla ! J'ai qu'un bac S ... je vous aiderais bien plus mais ca ne va pas aussi loin ...
J'ai fait ca l'année derniere en Spé Physique il y avais un chapitre sur la transmission des ondes Radio ... on a debordé parce que la programme etait fini et que le prof ne voulait pas nous laisser rentrer chez nous ...
Si j'avais su que je le ressortirais un jour j'aurais mieux ecouté ! M'enfin c'etait des expliquations très générales ... pas aussi compliquées que ça !
Nous faudrais un Ingé son ? ou bien un physiciens ...
Citation :
Citation : Convention ? Qu'est-ce que tu entends par « convention » Davie ?
j'avoue ne pas saisir quelle question tu te poses précisément... :?
Citation : La question est pourtant fort simple ( c'est la réponse que je redoute : )
:arrow: Pour quelles raisons, par quels types de liens causals, par quels phénomènes physiques et mathématiques, enfin plus simplement, comment peut-on expliquer le fait que l'onde en dent de scie comporte en son spectre sonore toute la série des harmoniques ? Nous avons déjà une piste ici apportée par Supergeoff, l'onde en dent de scie peut selon le théorème de Fourier se décomposer en plusieurs ondes sinusoïdales, lesquelles correspondent justement à chaque harmonique du spectre sonore.
Mais moi ce que j'aimerais comprendre davantage c'est pourquoi l'onde en dent de scie peut se décomposer en de multiples ondes sinus correspondant aux diverses fréquences du spectre harmonique complet.
Pour reprendre mon analogie du feu. Pourquoi le feu c'est chaud ? On pourrait me dire parce qu'il y a un phénomène interne physique qui dégage de l'énergie. Pourtant bien que ça puisse être une réponse louable, ça me laisse sur ma faim. De même lorsque l'on m'indique que l'onde en dent de scie selon le théorème de Fourrier comporte toutes les harmoniques du spectre et que son onde peut se déduire en diverses sinus puisque qu’il s’agit d’un son périodique, et bien je reste encore sur ma faim.
Au fond je crois que j’en suis arrivé à un stade où je devrai impérativement comprendre certains principes mathématiques, certaines lois physiques du son, sinon je ne pourrai pas vraiment comprendre POURQUOI l’onde en dent de scie comporte la série de toutes les harmoniques dans son spectre sonore.
Tu cernes un peu mieux mon incompréhension maintenant Davie ?
Bien à toi
Citation :
Citation : La question est pourtant fort simple ( c'est la réponse que je redoute Laughing : )
justement je ne crois pas que la réponse de supergoff explique pourquoi l'onde dent de scie contient toutes les harmoniques ;) elle explique juste qu'elle contient toutes les harmoniques
Citation : Mais moi ce que j'aimerais comprendre davantage c'est pourquoi l'onde en dent de scie peut se décomposer en de multiples ondes sinus correspondant aux diverses fréquences du spectre harmonique complet.
c'est pas toi qui a fait ue session de synthèse additive sur reason? et qui viens de me dire que l'onde sinus ne contenait aucun harmonique? donc si cest bien ça que tu veux savoir tu l'as ta réponse non :P
Citation : [quote="Davie_Addison"]
Citation : La question est pourtant fort simple ( c'est la réponse que je redoute Laughing : )
justement je ne crois pas que la réponse de supergoff explique pourquoi l'onde dent de scie contient toutes les harmoniques ;) elle explique juste qu'elle contient toutes les harmoniques
Quand je dis que je redoute la réponse, ce n’est pas celle de Supergeoff puisque comme je le disais dans mon précédent message, sa réponse, bien que très louable ne m’avance pas plus dans ma quête de vérité. C’est un peu comme si on me disait :
« Lorsque tu lances une pierre dans les airs, il faudra t’attendre à ce que cette pierre redescende. Une fois lancée, la pierre diminuera de vitesse, elle atteindra un moment inévitable ou elle retombera avec une vitesse toujours croissante jusqu'à ce qu'elle vienne s'écraser par terre. »
Tu comprendras Davie qu’on peut aller plus loin que ça dans le processus de compréhension. C’est je crois ce que je tente de faire avec le phénomène qui nous préoccupe. Quand je dis redouter la réponse à ma question, c’est parce que je sais très bien que ça sera pas de la tarte. Si comme le disait Supergeoff, un physicien traînait dans le coin et commençait à m’expliquer le théorème de Fourier dans le détail et de tout ce qui s’y rattache afin que je puisse bien comprendre pourquoi l’onde en dent de scie comporte en son spectre toute la série des harmoniques, je crois bien que ça serait redoutable pour moi que d’essayer de comprendre, notamment de comprendre toutes les formules mathématiques se rattachant à l’explication.
Cap_PDT_01_13
Citation :
Citation : Mais moi ce que j'aimerais comprendre davantage c'est pourquoi l'onde en dent de scie peut se décomposer en de multiples ondes sinus correspondant aux diverses fréquences du spectre harmonique complet.
c'est pas toi qui a fait ue session de synthèse additive sur reason? et qui viens de me dire que l'onde sinus ne contenait aucun harmonique? donc si cest bien ça que tu veux savoir tu l'as ta réponse non :P
Il est vrai que j’ai proposé cette session de Synthèse additive avec Reason, il est vrai qu’on y apprend ceci au tout début :
Citation : La Synthèse sonore additive consiste à créér un son en superposant des signaux sinusoïdaux harmoniques.
Principe
Depuis Joseph Fourier, on sait qu'un signal périodique peut être décomposé en somme de sinus et cosinus, de fréquences multiples de la fréquence fondamentale du signal. Ce sont ces signaux élémentaires qui sont utilisés dans la synthèse additive pour obtenir des sons plus complexes. Cette méthode permet théoriquement de créer tous les sons périodiques.
Je comprends très bien le fait que c’est en juxtaposant plusieurs ondes sinus ( dépourvues d’harmoniques donc ) que l’on vient qu’à créer un son plus riche, plus complexe. Et je sais bien que si on en venait à juxtaposer pleins de sinus correspondant au spectre harmonique total, nous verrions apparaître donc l’onde en dent de scie puisque cette dernière peut se décomposer en plusieurs sinus correspondant aux fréquences du spectre harmonique total.
Cependant tu vois je ne vois là seulement que l’explication de surface. C’est un peu comme si on me disait : « Lance ta pierre dans les airs et elle retombera ensuite par effet de gravité ». Pour vraiment comprendre pourquoi la pierre retombe, cette réponse, en toute bonne foi ne m’est pas du tout satisfaisante.
C’est donc dans le même état d’esprit que je pose la question ici à savoir, je le répète, pourquoi l’onde en dent de scie comporte toutes la série des harmoniques en son spectre ?
Merci pour ton retour Davie et merci à tous ! [/quote]
Citation :
Citation :
Tu comprendras Davie qu’on peut aller plus loin que ça dans le processus de compréhension. C’est je crois ce que je tente de faire avec le phénomène qui nous préoccupe. Quand je dis redouter la réponse à ma question, c’est parce que je sais très bien que ça sera pas de la tarte. Si comme le disait Supergeoff, un physicien traînait dans le coin et commençait à m’expliquer le théorème de Fourier dans le détail et de tout ce qui s’y rattache afin que je puisse bien comprendre pourquoi l’onde en dent de scie comporte en son spectre toute la série des harmoniques, je crois bien que ça serait redoutable pour moi que d’essayer de comprendre, notamment de comprendre toutes les formules mathématiques se rattachant à l’explication.
le problème c'est qu'il va te falloir prendre quelques cours de maths pour ça ;)
toi qui aimes les images... c'est un peu comme si un type venait te voir en disant "j'ai feuilleté 2 traités d'harmonie, explique moi comment on fait une fuge" (;)) tu vois que le situation est en somme toute un peu cocasse...
dans le sens ou même si quelqu'un t'expliquera concretement ces séries de fourrier avec toute les capture d'écrans retouchées sur paint qu'il aura pu faire, tu ne pourra pas aller aller immédiatement vers la compréhension. Cette compréhension nécessite des acquis d'outils mathématiques usuels...
enfin là encore le théromère de Fourrier n'esxplique pas pourquoi l'onde dent de scie contient toutes les harmoniques... il explique qu'il existe une onde qui contient toutes les harmoniques
peut être te poses tu la mauvaise question? ou peut être ne t'ais je toujours pas compris
Citation : L'analyse par le théoreme de fourier est la meilleure piste de compréhension je pense, mais ca n'est pas simple mathématiquement.
Par contre tu peux interpréter ce théoreme de facon "graphique".
L'idée est de se dire qu'un ajoutant différentes formes de sinusoide, tu peux créer une autre forme. Ces différentes sinusoides peuvent etre d'amplitude différentes du signal à atteindre, et de fréquence différentes.
La complexité des équations de fourier exprime le probleme suivant ( je fais de la vulgarisation volontairement)
La sinuisoide est un signal avec des "courbes continues". Une courbe est simple à décrire à partir d'une règle mathématique, autant qu'avec un crayon.
Là où ca se complique, c'est quand le signal à modéliser contient des angles.
L'angle est l'ennemi de la courbe. L'angle en soit est une rupture de courbe.
Quand tu veux modéliser par Fourier un "angle", tu es obligé d'aborder des notions "d'infini".
Dit autrement si tu veux faire un signal avec un angle, en partant de signaux avec des courbes, il te faudra une infinité de signaux "courbes" avant d'atteindre cet angle.
Bien entendu, aucune modélisation n'a cette précision, surtout pas reason.
Dans la pratique, si tu consideres un signal triangulaire :
* basiquement : tu l'approximes avec une sinusoide. Ton triangulaire est courbe. c'est dommage, mais c'est à moindre frais ce qu'on propose de mieux
* tu combines 20 sinusoides. Tu commences à obtenir un signal avec une rupture arrondie (c'est joliement dit hein ? ) en haut et en bas. Par contre entre les pics, le signal commence à approcher proprement celui d'un triangulaire
* tu combines une infinité de sinusoides, .....et ton angle de rupture apparait enfin. Ton PC s'écroule, et une météorite kryptonnique s'écrase sur ton clavier.
Voilà pour l'approche graphique de Fourrier.
Ce qu'il faut bien comprendre, c'est que les signaux combinés peuvent ne pas etre de meme fréquence. Sinon il serait impossible d'obtenir le fameux "angle". Pleins de petites sinusoides additionnées donnent une autre sinusoide. En soit ca ne modifie pas la forme finale de l'onde, ca va juste l'allonger, l'étirer. Basta.
Donc si tu simules un signal en dent de scie avec des sinuisoides, effectivement tu vas te retrouver avec différentes composantes sinusoidales de fréquences variées. Ce que tu constates dans ton spectrometre. Leur nombre est aussi élevé que ta courbe "dent de scie" est parfaite.
Voilà, je ne sais pas si j'ai fait avancer le débat. Ce qui est sur c'est que mes ex profs de maths se retournent désormais dans leur tombe. D'ailleurs je les salue bien bas.
Citation : Merci beaucoup Blumblum, c'est exactement le genre de réponse que je voulais susciter, je n'ai pas tout compris certes, mais j'ai l'intuition cependant d'être sur la bonne piste de compréhension, c’est tout ce qui m’importe. Il est vrai, comme le disait Davie Addison, que ça me prendrait des notions mathématiques avancées afin de mieux comprendre cette question. N’empêche je crois malgré tout qu’il est possible, pour un humble pèlerin comme moi, d’avancer tranquillement sur le chemin de la compréhension.
Même si ta réponse Blumblum ne va pas au fond des choses, malgré tout, elle apporte une bonne piste d’investigation que je vais suivre afin d’y voir plus clair. Mais pour l’instant quelques petites questions surgissent.
[quote="blumblum"]Quand tu veux modéliser par Fourier un "angle", tu es obligé d'aborder des notions "d'infini".
J’aimerais bien, être en mesure de comprendre ce que tu entends par « infini ». Comme tu l’as placé entre guillemet c’est sans doute parce que ce terme cache quelque chose de plus révélateur. Je comprendrais si c’est trop complexe à expliquer, mais je ne m’empêcherai pas de poser la question quand même. :mrgreen:
1- Est-ce que « infini » est ici à prendre au sens de : la courbe n’est pas finie elle donc « infinie » et ce en vertu du fait que l’on brise sa courbure finie ?
2- Et ce terme « d’infini » ne serait-il pas à même de décrire justement le spectre harmonique « infini » que peut comprendre l’onde en dent de scie par exemple ?
Citation : Dit autrement si tu veux faire un signal avec un angle, en partant de signaux avec des courbes, il te faudra une infinité de signaux "courbes" avant d'atteindre cet angle.
Bien entendu, aucune modélisation n'a cette précision, surtout pas reason.
3 – Pourtant sur Reason il y a bien l’onde en dent de scie qui est bien présente.
Suivant ce que tu m’indiques, je peux déjà comprendre que l’onde en dent de scie, parce qu’elle est anguleuse, doit nécessairement comporter dans l’architecture de son spectre sonore une infinité de sinusoïde, or tu m’indiques que Reason n’est pas à même de reproduire cela. Mais pourtant l’onde en dent de scie est bien présente dans le logiciel. Est-ce que cela voudrait dire qu’étant donné l’incapacité du logiciel à reproduire l’infini, les concepteurs ont fait en sorte de limiter volontairement le spectre harmonique de l’onde en dent de scie du Subtractor ? Est-ce donc à dire qu’une véritable onde en dent de scie avec un spectre harmonique « infini » est difficilement conceptualisable pour l’homme ? Est-ce que les synthétiseurs hardware analogiques sont à même de reproduire une onde en dent de scie s’approchant davantage de cette notion d’infini puisque l’onde généré est une courbe continu et non pas une courbe créée à partir d’échantillon comme on le fait pour numériser le son ?
Citation : tu combines une infinité de sinusoides, .....et ton angle de rupture apparait enfin. Ton PC s'écroule, et une météorite kryptonnique s'écrase sur ton clavier.
J’ai justement calculé les 300 premières harmoniques de de la sinusoïde « LA ( 55 hertz ) et je les ai fait joué en même temps dans Cubase. Il est à noter que la plus haute sinusoïde se situe à 16 500 Hertz. Voici tout d’abord mes 300 petites waves Sinusoïdes correspondantes aux 300 premières harmoniques de la fondamentale « LA – 55 hertz ». Le numéro de chaque wave correspond à la hauteur en hertz de chaque harmonique.
http://reasonfrance.free.fr/uploadmodos/franco/allharm1.jpghttp://reasonfrance.free.fr/uploadmodos/franco/allharm2.jpg
J’ai importé ces 300 petites waves dans Cubase, je les ai fait jouer en même temps, voici donc le résultat sonore que j’obtiens :
:arrow: 300 premières harmoniques en même temps
Comme on peut l’entendre le résultat sonore s’apparente bien un peu au timbre de l’onde en dent de scie. Cependant si on regarde le graphique de ce 4 secondes d’onde, on aperçoit un dessin pas très commun.
http://reasonfrance.free.fr/uploadmodos/franco/resultat300harm.jpg
Ça ne ressemble pas vraiment à l’onde en dent de scie que l’on connaît. Sans doute qu’il y a des explications à ça. Toutes mes harmoniques étaient à intensités égales dans Cubase, peut-être que pour la formation d’une onde en dent de scie se forme sur certaine harmonique en particulier et que les harmoniques très aiguës sont moins présente en intensité que les harmoniques du bas du spectre ? D’ailleurs tu me l’indique très bien aussi Blumblum
Citation : Ce qu'il faut bien comprendre, c'est que les signaux combinés peuvent ne pas etre de meme fréquence. Sinon il serait impossible d'obtenir le fameux "angle".
Saurais-tu me dire Blumblum qu’elles intensités doivent avoir chaque harmonique afin de retrouver l’onde en dent de scie ?
Peut-être aussi que 300 harmoniques ce n’est pas assez pour obtenir l’onde en dent de scie. ( je rappelle que mon onde la plus haute en fréquence se situe à 16 500 hertz quand même… ).
Malgré tout, si on observe attentivement la courbe d’onde ci-haut, on peut apercevoir une certaine périodicité rappelant assez bien l’onde en dent de scie. Le dessin se perçoit ou se « devine » par ce qu’on peut soustraire du centre du dessin de la courbe d’onde.
Regardez :
http://reasonfrance.free.fr/uploadmodos/franco/resultat300harmsaw.jpg
Évidemment, je ne répond pas du tout à ma question à savoir pourquoi l’onde en dent de scie comporte toutes les harmoniques en son spectre, mais j’avance à petits pas bien humblement dans ce chemin complexe en petit pèlerin branleur plein de bonne foi.
Merci beaucoup Blumblum ! Je vais attendre avec impatience ton retour éclairé à ce propos.
Merci à tous
[ot]PS à Davie : Désolé encore pour avoir utilisé des graphiques retouchés dans Paint :mrgreen:[/ot][/quote]
Citation :
Citation : PS à Davie : Désolé encore pour avoir utiliser des graphiques retouchés dans Paint Mr. Green
la notion d'infini est un grand "classique mathématique"
elle est a envisager comme non pas une chose qui peut être quantifiable, ou mesurable mais bel et bien infini.
donc pour résumer : (dans la théorie) une onde dent de scie est la somme "infinie" de toutes les harmoniqes d'une fondamentale, c'est aussi simple que ça
maintenant en pratique, générer une infinité d'harmonique demande une infinité de ressources (processeur...) et nous sommes limités par nos oreilles (on entends pas les sons au delà de 20khz...
Citation : Évidemment, je ne répond pas du tout à ma question à savoir pourquoi l’onde en dent de scie comporte toutes les harmoniques en son spectre, mais j’avance à petits pas bien humblement dans ce chemin complexe en petit pèlerin branleur plein de bonne foi.
et je crois qu'on s'éloigne encore plus de ta question... mais bon on a du temps a perdre après tout
Citation : On s'éloigne peut-être de la question certes, mais comme tu disais Davie, pour comprendre un tel truc, il faut inévitablement passer par plein d'autres avant de s'attaquer à une telle question. Ceci-dit, je ne trouve pas notre discussion si éloignée que ça de la question. Et puis il est bien normale de discuter de la chair autour de l'os quand cet os nous semble impénétrable.
Citation : donc pour résumer : (dans la théorie) une onde dent de scie est la somme "infinie" de toutes les harmoniqes d'une fondamentale
Tout à fait ! C’est ce qui me semble ressortir de plus simple et de plus général quant à une définition théorique de la question posée. Bien que c’est une réponse sur laquelle il faut patienter, elle offre néanmoins un certain confort sur lequel on peut dormir tranquille.
[quote="Davie_Addison"]maintenant en pratique, générer une infinité d'harmonique demande une infinité de ressources (processeur...) et nous sommes limités par nos oreilles (on entends pas les sons au delà de 20khz...:
C’est pour ça que je posais la question à Blumblum à savoir est-ce que l’onde en dent de scie générée dans les synthétiseurs numériques a un spectre harmonique n’ont pas infini puisqu’impossible à calculer mais un spectre « fini », déterminé par l’homme et ce notamment en fonction de notre limite auditive situé autour de 20 000 Hertz ? Et est-ce que l’onde en dent de scie générée par des synthétiseurs analogiques s’approchent davantage de cette notion d’infini théoriquement ?
En tout cas c’est passionnant tout ça !
Cap_PDT_01_28[/quote]
Citation :
Citation : Et est-ce que l’onde en dent de scie générée par des synthétiseurs analogiques s’approchent davantage de cette notion d’infini théoriquement ?
Oui il me semle qu'en creusant cette voie, on peut envisager de toucher un bout de réponse...
Ça serait une question à poster dans le forum thématique synthèse sonore d'AF me semble il ;) non pas que nous soyons de joyeux ignorants par ici, mais j'ai pu croiser des gens dont c'était le métier là bas :P
EraTom
Si tu veux te lancer dans la synthèse sonore, a mon avis, inutile de perdre ton temps avec l'expression mathématique de la décomposition en série de Fourier.
Je ne serais pas aussi catégorique... disons que ça dépend de l'approche d'Arnaud06.
Si son but et de recréer un synth en "synthèse soustractive", par exemple, ce n'est effectivement pas forcément nécessaire car j'imagine (je n'ai jamais utilisé Reaktor) qu'il y a des générateurs d'ondes déjà tout prêts dans une librairie convenablement conçus (pas besoin de réinventer la roue, il suffit d'assembler des modules).
Perso, je suis plutôt partisan de cette approche à moins de décider de créer quelque chose de vraiment exotique...
Mais dans ce cas de figure j'irais plutôt développer mon propre VST plutôt que d'utiliser un outil comme Reaktor. (oui oui, je suis un gros nerd )
Si son but est de recréer par lui-même des formes d'ondes de base en numérique, genre un signal carré à partir de rien, il sera bien obligé d'approfondir ses connaissances théoriques en traitement du signal, sinon attention en aux mauvaises surprises.
Pour illustrer un peu le genre de problèmes que l'on peut rencontrer, je vais partir de la synthèse d'un signal carré en numérique.
L'approche "naïve" consiste à fabriquer une succession d'échantillons en alternance de signe, une séquence de 1 et de -1 :
"+1 +1 +1 +1 +1 +1 -1 -1 -1 -1 -1 -1 +1 +1 +1 +1 +1 +1 -1 -1 -1 -1 -1 -1...."
Le problème est qu'une telle approche risque d'entraîner des phénomènes d'aliasing. Pour ceux qui en doute, il suffit de se rappeler que pour sous-échantillonner par 2 un signal il ne suffit pas de prendre "un échantillon par deux" : il faut le faire passer par un filtre d’antialiasing.
Même en supposons la séquence précédente correcte, si j'enlève 1 échantillon sur 2 sans filtrage préalable, j'obtiens :
"+1 +1 +1 -1 -1 -1 +1 +1 +1 -1 -1 -1...."
Ça ressemble au signal carré que je cherche, sauf que celui est "aliasé à mort" vu que je ne l'ai pas filtré avant...
Pour attaquer convenablement le problème il faut procéder autrement. Voici 3 types d'approches :
La première approche, la plus "bourrin", consiste à exploiter le fait que les amplitudes des harmoniques sont décroissantes (théorème de Dirichlet) :
- On génère la séquence de +1 et de -1 à une fréquence d'échantillonnage très supérieure à la fréquence d'échantillonnage visée. Le phénomène de recouvrement est alors "négligeable" : les amplitudes des composantes hautes fréquences qui se retrouvent dans les basses fréquences à cause du repliement spectral sont petites devant celles des composantes de basses fréquences.
- On réalise une sous-échantillonnage "dans les règles" pour passer du signal sur-échantillonné généré à la fréquence d'échantillonnage cible (i.e. passage dans un filtre passe-base d’antialiasing puis décimation).
Cette approche fonctionne bien si la fréquence du fondamental est assez basse ; si la fréquence du fondamental est élevée :
- le bas du spectre est vide (puisque le fondamental est haut),
- les harmoniques haute fréquences contiendront plus d'énergie et risquent de faire entendre après repliement.
Une deuxième approche consiste à faire de la synthèse additive :
- On part de la décomposition en série de Fourier d'un signal carré "parfait".
- On génère toutes les sinusoïdes (fondamentale + harmoniques) dans la bande de Shannon (i.e. on s'arrête dès que l'on atteint Fe/2 où Fe est la fréquence d'échantillonnage).
- On les somme.
En théorie ça marche toujours, mais on risque de se retrouver avec un nombre très important de signaux à sommer, ce qui pose des problèmes pratiques.
Une solution est alors d'exploiter les phénomènes de masquage (psychoacoustique) pour s'arrêter dès que la distance entre 2 harmoniques successives est plus petite que la largeur de la bande critique.
Les harmoniques qui se "masquent entre-elles" pourront être remplacées par une sinusoïde centrale dans chaque bande critique.
Contrairement à l'approche précédente, dans la pratique cette technique sera plus efficace et plus simple à mettre en œuvre si la fréquence du fondamentale est élevée puisqu'il y aura au final beaucoup moins d'harmoniques à produire.
Toujours en partant de la synthèse additive :
- On génère une période du signal carré à la plus basse fréquence (20Hz) avec une somme de sinusoïde en "off-line" que l'on stocke dans une table.
- Pour générer les notes plus hautes, on lis la table avec une vitesse de lecture plus importante après l'avoir convenablement filtrées avec un filtre d'antialiasing et en utilisant une interpolation pour réaliser le sous-échantillonnage.
C'est très simple et efficace, il faut juste veiller à avoir un interpolateur correct. C'est sans doute la technique qui est la plus utiliser dans les synthés numériques qui utilisent des générateurs de formes d'ondes.
Dernière approche, simuler l'échantillonnage d'un signal analogique carré :
- On calcule la transformée de Laplace d'un signal carré sur un support temporel continu.
- On fait passer ce signal dans un filtre passe-bas d’antialiasing (ce qui se résume à un produit des transformées de Laplace du signal et du filtre).
- On utilise la transformation bilinéaire pour discrétiser le signal de sortie du filtre (on obtient une transformée en Z).
- On utilise la transformée en Z inverse pour obtenir la forme d'onde.
Si on contrôle correctement le phénomène de warping, c'est une approche qui permet de modéliser assez finement une chaîne "analogique", en introduisant les petits défauts des composants analogiques qui font la chaleur des synthés "vintages".
Autre approche pour "l'analogique" :
- On échantillonne plusieurs ondes carrées espacées régulièrement pour des notes différentes que l'on stocke dans des tables (à partir d'un générateur réel),
- On synthétise les notes manquantes en faisant du "morphing" de samples. Concrètement, on lit les 2 samples qui encadrent la note visée à des vitesses différentes (l'un plus vite, l'autre moins vite) et on interpole "intelligemment".
C'est une technique que l'on retrouve assez souvent sur les claviers numériques hardware.
Choc
On est ici sur un site de musique, pas dans un refuge pour geek signaleux... La problématique d'Arnaud06, c'est l'utilisation d'un synthé, probablement modulaire, pas la programmation d'un synthé via l'API VST. Après effectivement, et je suis d'accord sur ce point, il faut être sensibilisé à certaines notions (par exemple, des synthé comme max, absynth propose des formes d'onde brute-avec présence potentiel de repliement, et des formes d'ondes traitée contre l'aliasing). Oui l'aliasing n'est pas qu'une vulgaire notion de signal, ça a des répercutions sur notre perception du son ! Une dent de scie blindée d'aliasing aura une apparence plus "numérique" (au sens perceptif) qu'une dent de scie traitée contre l'aliasing.
EraTom, tu fais un peu de signal a tes heures perdues ?
Site personnel: https://www.enib.fr/~choqueuse/
Anonyme
Ca ne m'empêchera pas de m'y intéresser fortement, mais ouais je pense plutot utiliser les formes d'ondes pré-fabriquées et m'intéresser aux modulations, filtres, et au re-sampling et différentes techniques de traitement. Je pense que je peux deja m'amuser avec la granulation et autre joyeusetés sans avoir à réviser mes maths ^_^
Mes merci pour toutes les explications et les liens, j'ai deja commencé à lire certains bouquins proposés sur AF.
[ Dernière édition du message le 08/02/2012 à 11:34:19 ]
EraTom
est ce que ces connaissances sont utiles pour un musicien
Pour tous les musiciens ? Clairement non, enfin quelques petites notions et des règles de bon sens pour éviter de tenter de faire n'importe quoi, ou pour comprendre certains conseils de gens spécialisés (qui oublient comment vulgariser ).
M'enfin, en guise d'excuse à ma geekerie, le topic de base était parti assez technique et puis j'avais cru comprendre qu'Arnaud06 voulait se lancer dans des trucs de fous.
Un peu plus que ça en fait, c'est mon gagne-pain.
Choc
Citation :sans indiscrétion, tu travailles sur quoi ?Un peu plus que ça en fait, c'est mon gagne-pain.
Site personnel: https://www.enib.fr/~choqueuse/
EraTom
Mon domaine de prédilection est ce que l'on appelle le filtrage bayésien prédictif non-linéaire. La version linéaire c'est ce que l'on appelle "le filtre de Kalman", si ça te dit quelque chose https://fr.wikipedia.org/wiki/Filtre_de_Kalman .
Mon boulot consiste à traiter les parties mathématiques (très théoriques) et à décliner tout ceci à l'aide d'algo numériques pour permettre à des ingé de développer des systèmes numériques.
Même si j'ai appris à coder en C, C++, assembleur et en VHDL (pour les FPGA), je fais surtout des mathématiques et des spéc. d'architecture "haut-niveau". Je ne mets plus les mains dans le cambouis mais j'essaie toujours de garder en tête les contraintes techniques pour ne pas pondre de véritables usines à gaz (je vais quand-même jusqu'à spécifier les quantifications, si besoin).
Par contre, je suis lié par des contraintes de confidentialité ; je ne vais pas pouvoir te donner d'exemples d'applications.
[ Dernière édition du message le 08/02/2012 à 19:50:35 ]
Choc
Tu dois bien t'éclater en tout cas !
Site personnel: https://www.enib.fr/~choqueuse/
- < Liste des sujets
- Charte