Bonjour,
Voila, je me met à développer depuis peux, et je suis un amoureux de la musique. Je cherche à réaliser un accordeu éléctronique dans un premier temps, et je ne sais pas trop par où commencer.
J’aurais voulu développer cet accordeur en java si possible, sinon en vb ou c++. Que me faut il comme bibliothèques (ou autre) pour acquérir un son de ma carte audio? Comment récupéréer la fréquence d’une note jouer d’un instrument (ici la guitare)?
Merci d’avance à tous
beren
J’y connais rien en accordeur d’accordéon mais pour le son, tu peux utiliser n’importe quel langage à part le VB, question de performance.
Pour le son, tu peux passer par une bibliothèque comme FMOD Ex, c’est ce qu’il y a de mieux dans le domaine.
Pour enregistrer le son, tu as plusieurs fonction d’enregistrement dont FMOD_System_SetRecordDriver, FMOD_System_RecordStart, FMOD_System_RecordStop … tu as 2 exemples disponible dans l’archive officielle.
Pour récupérer la note correspondante à une fréquence, soit tu le fait toi même en passant par les FFT (il faudra aussi une iFFT), ce sont les transformées de fourrier, ca permet de passer dans un autre domaine de représentation du signal (celui de la fréquence == spectrale) ou alors … en passant la aussi par FMOD Ex, tu as un exemple tout fait (pitchdetection).
Je ne savais pas qu’il y avait des lib de transfo de fourier, c’est cool, il y en a aussi en Java:
Sur ce Thread
http://www.sogid.com/javalist/fils2001/lib_fft_java.html
il est dit que Java Advanced Imaging (JAI) API supporte aussi les FFT…
Ensuite lire les sons, et utiliser cette lib, c’est quand même un beau morceau de prog, si j’avais le temps…
La lib fft la plus connue et que je recommande est fftw, en plus, elle est pas mal optimisée mais comme je l’ai dit, il n’est pas obligatoire de passer par la car FMOD Ex facilite grandement la tâche dès lors que l’on travaille sur le son car il permet d’appliquer une FFT de taille variable (512/1024/2048 …) en temps réel en quelques lignes de code
Salut,
J’ai réalisé un accordeur électronique en java (applet) : http://www.openstudio.fr/guitartuner
C’est un logiciel libre, tu trouveras les sources sur le site j’espère que celà t’aidera à créer ton logiciel.
J’ai utilisé la librairie Javasound. Il faut signer l’applet pour permettre l’accès au microphone.
:super:
Je vois que tu as implémenté la même FFT que moi, j’essaye pour le fun ('fin dès que j’ai un peu de temps) de l’implémenter en asm et plus tard en simd (mmx,sse) mais s’pas gagné
Salut pour l’acquisition du son en java tu peux essayer l’api JMF (assez simple à faire)
En C tu peux regarder Gstreamer.
Que veux tu faire exactement??. Si c’est juste connaitre la note que tu joues a ta guitare, tu peux essayer Mustig (outil traitement du signal)