CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Approximer une onde sonore mathématiquem

041
041
Niveau 10
07 juin 2012 à 21:48:31

ent.

Salut.
J'me demandais s'il y avait des techniques ou algorithmes pour approximer une onde sonore avec des fonctions mathématiques, avec une marge d'erreur relativement grande pour commencer.
Par exemple avec ça:
https://image.noelshack.com/fichiers/2012/23/1339097273-2012-06-07-212447_1366x768_scrot.png

Manuellement, c'est relativement simple, la première partie on peut dire que c'est une onde amortie du type
A/e^(delta*t) sin(wt) + B, plus ou moins
0.5/e^(29t) sin(100t) ici.
Suivi d'un sinus très grossier en modulation d'amplitude qu'on pourrait facilement approximer aussi.

Bref, je me demandais s'il existait des méthodes ou des projets existants pour faire ça en programmation.
Un peu comme le polynome de Taylor, mais la réciproque, trouver l'équation à partir d'une suite de valeur proches. Enfin, c'est pas vraiment ça, mais vous avez compris ce que je voulais dire.

C'est absolument pas clair, désolé :noel:

041
041
Niveau 10
07 juin 2012 à 21:54:06

350, pas 100.
Mais l'idée y est, compresser grossièrement de l'audio sous forme mathématique plutôt que par échantillonnage.

godrik
godrik
Niveau 30
07 juin 2012 à 22:00:41

C'est pas ce que fait une transforme de fourier?

tbop2
tbop2
Niveau 10
07 juin 2012 à 22:07:37

"Mais l'idée y est, compresser grossièrement de l'audio sous forme mathématique plutôt que par échantillonnage."

C'est une idée intéressante oui, après pas sûr que détecter des motifs mathématiques approximants connus dans un signal soit de proche en proche si "compressant" que ça tu sais. Parce que la plupart du temps la seule approximation (parce que c'en est une) c'est la transformée de Fourier (tu peux chercher du côté des algos de FFT).
Les algo de compression audio ne reposent pas là-dessus en tout cas.

041
041
Niveau 10
07 juin 2012 à 22:09:14

Je connais les séries de Fourier mais pas la transformée.
Enfin, je suppose que c'est une approximation par un infinité de fontions pour tendre vers la fonction à trouver.
Pour un truc du genre comme dans mon exemple, (A/e^(delta*t) sin(wt) + B), je suppose que ça ferait une approximation beaucoup moins appropriée, du moins bien plus compliquée que l'équation caractéristique de l'onde en question, non ?

(La concision étant un facteur clé de ce que je veux faire.
Par exemple, 0.5/e^(29t) sin(100t) sur la portion 10,815 à 10,870, bah ça met fait 20 octets contre 2*38ko du .wav original)

godrik
godrik
Niveau 30
07 juin 2012 à 22:14:58

Cependant ton electronique doit echantilloner a un moment donne j'imagine. A moins que ca soit un composant analogique qui calcul la transforme a la volee, mais a priori ce n'est pas ca qui est fait.

Apres, tu parles de compression de signal, c'est en effet ce genre de chose qui sont considere. Tu as ton vrai signal, tu calcul une fonction qui l'approxime. Tu stockes cette fonction et tu stockes la difference. Si tu as pris une bonne fonction, la difference est plus petite et donc plus simple a stocke. (Et potentiellement tu la stocke recursivement avec ton algorithme.)

041
041
Niveau 10
07 juin 2012 à 23:03:12

A priori, il est pas question d'électronique ou de composants, il s'agirait plutôt de compresser un fichier audio sous forme mathématique en lisant les echantillons d'un wav, et ce purement comme proof of concept.

Stocker les écarts par rapport à une fonction approximée, c'est en effet une bonne idée pour restaurer des parts de signal qui ne suivent pas suffisament la fonction. J'avais pas pensé à ça, merci.
C'est vrai que pour certaines portions, il serait illusoire de vouloir réaliser une approximation correcte par une fonction.

tbop2
tbop2
Niveau 10
08 juin 2012 à 00:10:53

"C'est vrai que pour certaines portions, il serait illusoire de vouloir réaliser une approximation correcte par une fonction."

Mais presque toute en fait de toute façon. Ton algorithme est intéressant mais très dur à construire, quasi innapplicable dans les cas conrêts et ce pour une bonne raison : il est un peu "naïf" si j'ose dire et tu ne raisonnes pas de manière "traitement du signal". Cela dit c'est un exercice intéressant.

"C'est vrai que pour certaines portions, il serait illusoire de vouloir réaliser une approximation correcte par une fonction."
Non ce n'est pas illusoire ça s'appele une transformée de fourier sur des signaux discrets... C'est on ne peut plus simple et basique comme approximation et ça fonctionne très bien. Tu devrais te renseigner sur la logique des algorithmes de compressions actuels en audio, le plus joli mathématiquement et le moins joli dans la pratique restant le MP3.

041
041
Niveau 10
08 juin 2012 à 11:36:56

Tu dis
"Mais presque toute en fait de toute façon."
Puis
"Non ce n'est pas illusoire ça s'appele une transformée de fourier sur des signaux discrets..."

Au final, c'est réaliste ou pas ? :(

Sinon, au pire je pourrais faire de l'échantillonage là où ça fonctione mieux.

A priori ça me parait faisable, mais avec un temps de compression assez long, car je suppose qu'il faudra y aller un peu à l'aveugle pour déterminer une fonction sur une portion.

Quoi qu'il en soit il est plutôt question de musique électro, bref, des trucs relativement répétitifs avec des sons simples et pas de voix.
Car je doute que la voix ait un bon rendu avec une approximation, à moins d'augmenter la taille de mon fichier de manière assez exponentielle.

Faudra que j'essaye de voir comment marche la transformée de fourier.

tbop2
tbop2
Niveau 10
08 juin 2012 à 12:17:42

Pardonc cette partie n'est pas claire. Il y a que le son audio que tu ecoutes n'est jamais dans la grande majorite du temps pas du tout approximable par les fonctions que tu cites. C'est un exercice interessant une fois de plus mais tes resultats seront tres maigres.

D'un autre cote, tu sous-entends peut-etre que de toute facon le son n'est pas modelisable par des fonctions mathematiques simples et connues, la reponse est si : c'est modelisable par des series partielles de Fourier, de simple sommes de cosinus. En pratique c'est sur quoi tous les plugins audio et le traitement du signal informatique s'appuient.

041
041
Niveau 10
08 juin 2012 à 14:51:08

Merci pour les éclaircissement.

J'crois que je vais essayer ça après mes exams.

Mjonir
Mjonir
Niveau 26
09 juin 2012 à 01:25:35

Je te conseilles ce lien pour illustrer ton apprentissage: http://www.jhu.edu/~signals/

Jettes déjà un coup d'oeil à l'applet "Fourier Series Approximation", c'est ce qui t'intéresse ;)

deeplo
deeplo
Niveau 4
12 juin 2012 à 08:21:30

La transormee de fourier te donne une somme d'ondes sinusoidales avec chacune leur frequence, phase amplitude : tu pourrais sommer uniquement ces facteurs comme tu le fais au debut de ce post non !?
C'est l'idee que je me fais a chaud en premiere lecture de ton probleme.
Bon courage

041
041
Niveau 10
12 juin 2012 à 10:38:30

"tu pourrais sommer uniquement ces facteurs comme tu le fais au debut de ce post non !?"

Vu que je m'y suis pas encore penché, je sais pas, mais merci

tbop2
tbop2
Niveau 10
12 juin 2012 à 17:29:36

Oui il pourrait faire ca mais pour le coup cela n'aurait plus rien d'original sachant que c'est ce que tout le milieu DSP fait de toute facon.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment