begin process at 2012 05 24 03:45:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Api Windows

 > PROGRAMME DE VISUALISATION ET D'ANALYSE SPECTRALE DE FICHIERS SONS

PROGRAMME DE VISUALISATION ET D'ANALYSE SPECTRALE DE FICHIERS SONS


 Information sur la source

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Api Windows Classé sous :son, wav, fréquence, harmonique, dll Niveau :Débutant Date de création :06/02/2006 Vu / téléchargé :7 188 / 823

Auteur : Nasman

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Cette source permet de visualiser un fichier .wav sous forme d'une courbe amplitude=f(temps)et d'effectuer un certain nombre de traitements comme la transformation de Fourier (spectre fréquentiel)pour connaitre les harmoniques d'un son, d'effectuer des coupures passe haut, passe bas ou des zooms.
Il est possible d'écouter le résultat des traitements et d'enregistrer sous la forme d'un fichier .wav

Traite les enregistrements 8 et 16 bits en mono ou stéréo de courte durée (limité à 65536 échantillons)


 Conclusion

Le traitement des données est limité à 65536 échantillons (limitation de la dll de traitement tfr.dll), il est théoriquement possible d'augmenter la taille de l'espace nécessaire à la dll mais ceci peut générer des erreurs (une somme de dwords positifs peut donner un résultat négatif). Pour des raisons de rapidité la dll traite des dwords limités à -32768 +32767 (format 16 bits des sons.wav)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip REPRÉSENTATION D'UNE SPHÈRE EN 3D (FLAT SHADING)
Source avec Zip CRÉATION DE DIFFÉRENTS EXÉCUTABLES AVEC NASM ET ALINK
Source avec Zip CRÉATION DE GRAPHIQUES AVEC LES API WINDOWS
Source avec Zip EXEMPLES SIMPLES DE FICHIERS ÉCRITS AVEC NASM
Source avec Zip DLL EFFECTUANT UNE TRANSFORMÉE DE FOURIER RAPIDE

 Sources de la même categorie

Source avec Zip Source avec une capture BODY_ROTATION BASÉ SUR LE TRAVAIL DE TOM par jose2pepe
Source avec Zip Source avec une capture FROM TOM'S CUBE_ROTATION AND CUBE_5 CUBE COLOR RENDERIZED par jose2pepe
Source avec Zip REUTILISER N'IMPORTE QUEL PROGRAMME EX:WORDPAD par ToutEnMasm
Source avec Zip CRÉER DES TABLEAUX DE DONNÉES DE MANIÈRE DYNAMIQUE par ToutEnMasm
Source avec Zip AFFICHAGE DATE ET HEURE AVEC DES BITMAPS par jejamar

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture DLL ALGORYTHME DE RECHERCHE DE CHEMIN EN A STAR, A*, FASM par Devnix
Source avec Zip CRÉATION DE DIFFÉRENTS EXÉCUTABLES AVEC NASM ET ALINK par Nasman
Source avec Zip HISTOGRAMME DE LA FRÉQUENCE DES LETTRES ET DES CHIFFRES RENC... par nicompx
Source avec Zip Source avec une capture MIDI SOUND TESTER par BLUEBIBUBBLE
Source avec Zip DLL EFFECTUANT UNE TRANSFORMÉE DE FOURIER RAPIDE par Nasman

Commentaires et avis

Commentaire de patatalo le 07/02/2006 07:57:51 administrateur CS

salut,

tres bon boulot,

pour la gestion WndProc, vu que je ne pense pas que tu ai fait ce programme pour un 286, tu peux utiliser les jmp conditionnels near:

cmp eax,WM_CREATE
je near Create
cmp eax,WM_COMMAND
je near Command
cmp eax,WM_LBUTTONDOWN
je near clcg
...

d'une maniere générale, cela règle le probleme du warning qui te dit que le saut est trop loin.

@++

Commentaire de patatalo le 07/02/2006 08:11:12 administrateur CS

re,

un autre truc vu dans la dll. pour tester le premier bit a 1, il existe l'instruction bsf/bsr ( bit scan forward / bit scan reverse ).

taille
dec ecx
shl eax,1        ;dcale gauche jusqu' avoir un bit non nul
jnc taille
mov eax,0        ;calcule la puissance de 2
rcl eax,cl


@++

Commentaire de Nasman le 07/02/2006 08:20:18

Bonjour PATATALO,

Merci pour ce tuyau, je n'avais pas suffisamment potassé la doc en ma disposition. Celà m'évitera de devoir inverser les conditions des tests et de mettre des jump à tout va. La lisibilité y gagnera.

Peux tu me dire également pourquoi le programme plante (ou plutôt ne répond plus) si l'on sélectionne la rubrique "A propos du programme" avant d'ouvrir un fichier - J'ai d'ailleurs dû désactiver cette option au démarrage. La fonction MessageBox est parfois capricieuse.

Commentaire de patatalo le 07/02/2006 13:12:24 administrateur CS

salut,

1 - au vu du code qui me semble correct, ( j'ai pas tout tracé pasque c'est quand meme un peu le bord... là dedans ;-) essaye de passer NULL comme parametre de handle window a la fonction MessageBox.

2 - j'ai rien vu de tel mais attention a ne modifier aucun des registres esi,edi et ebx en sortie de WndProc.

@++

Commentaire de patatalo le 07/02/2006 14:39:23 administrateur CS






pour eviter les warnings et pour faciliter la mise a jour dans les declaration section .data

ofn resd 19 ;structure pour sélection fichier à lire
->
ofn times OPENFILENAME_size db 0

@++

Commentaire de Nasman le 07/02/2006 15:41:53

> PATATALO
L'utilisation de la MessageBox avec le paramètre NULL fait apparaitre la MessageBox derrière la fenêtre si aucun fichier n'est ouvert et au premier plan dans le cas contraire. Si on utilise le handle retourné par GetForegroundWindow, l'application est plantée si aucun fichier n'est ouvert. La fenêtre apparait au premier plan si un fichier est ouvert.

Si tu vois ce qui cloche...

Commentaire de patatalo le 08/02/2006 00:03:37 administrateur CS

salut,

je pense que j'ai trouvé d'ou vient ton erreur qui n'en est pas une, je m'etais déjà fait avoir auparavant...
lors du WM_CREATE, tu doit mettre a jour le handle global avec le handle passé en parametre a la WndProc. Celui retourné par la fonction CreateWindow te genere ce genre de probleme.
Est-ce que c'est un handle transitoire ou quoi ???

@++

Commentaire de Nasman le 08/02/2006 09:40:03

Bonjour,

Je te remercie beaucoup de te pencher sur mon pb, mais je pense avoir besoin de plus de précisions. Qu'entends tu avec handle global, est-ce le handle Instance qui aurait besoin d'être restauré. J'ai fait quelques essais en ce sens mais sans succès.
J'ai beau chercher, je ne vois pas en quoi le fait d'ouvrir un fichier permet de ne plus avoir de pb - Si ce n'est que l'appel du message paint créé un handle de contexte qui n'est pas fait s'il n'y a pas de fichier d'ouvert.

?????

Commentaire de patatalo le 08/02/2006 10:14:41 administrateur CS

salut,

Create
push dword FontStandard
call [CreateFontIndirectA]
mov dword [hFontStandard], eax
push dword [ebp+8] ; parametre hWin
pop dword [WindowHandle]
leave
ret 16

@++

Commentaire de Nasman le 08/02/2006 15:13:24

>PATATALO,

J'ai testé ta proposition mais hélas celà ne résout pas le problème. Il me plante le programme si je n'ouvre pas un fichier.

Nota: Pour la MessageBox, je lui passe l'argument [WindowHandle]

A+

Commentaire de hammasaidi le 04/02/2010 12:18:53

salut à tous c'est une bonne travail
mais juste une question
es ce que si possible d'avoirs cette travail avec java??
et merci pour vos aides  

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Probleme de dll! (arguments...) [ par BlackWizzard ] salut les pro!voila, G une fonction contenu dans une dll mais cette fonction, je ne sait pas comment lui ajouter des arguments...voici un extrait du c [URGENT] Passer des arguments a une DLL [ par BlackWizzard ] Bonjours, je voudrai creer un dll en asm (ce qui est fait) mais je n'arrive pas a passer des arguments a la seul fonction de cette dll.imaginons le co Fonction DLL avec arguments [ par Arnotic ] Bonjour, J'ai une DLL avec une fonction qui prend 2 arguments (en C (char*, int). Lorsque je la charge j'ai aucun problème mais lors de l'appel à Création de DLL [ par HollowSpecter128 ] Salut à tous!Je voudrais savoir si qq1 pourrais montrer comment on fè pour créer 1 DLL entièrement en assembleur sous NASM ou FASM.Quoique pour FASM j DLL sous masm32v8 [ par Stormy ] Serait-il possible de coder une DLL sous masm dans le but d'établir quelques fonctions très régulièrement utilisées. Le but étant de faire appel par l Registres windows [ par S2R ] Bonjour à tous, Est il possible de créer une clé dans la base de registre sans importer de dll?sinon comment fait-on pour importer une dll avec tasm?m DLL avec TASM ??? [ par Maxilie ] Voila, je voudrais créer une DLL avec tasm pour m'en servir sous un prog en VBProblème :-comment compiler une dll avec TASM-la syntaxe du code est-ell Fréquence clavier !!! [ par eldered ] Bonjour a tous !Je code actuellement en java un bomberMan et j'ai quelques soucis de fluidité dans mon scrolling de la carte. Certes, si je scroll pix Point d'entrée dans une Dll [ par thiosyiasar ] SalutJ'ai une Dll entre les main et j'utilise Dependency pour trouver les points d'entré.J'ai trois méthodes avec leur adresse d'entrée :- ConvertMetr segment partagé en masm32 [ par anthraxx ] bonjour a tous,je connais l'assembleur mais je suis pas tres habitué a masm32, et je me demandais ce qu'il faut mettre pour qu'un segment donné de ma


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales