Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails)

#1 Le 29/11/2012, à 14:22

Crone123

Frequence audio en C++

Bonjour,
J'aimerais savoir si il est possible d'envoyer/recuperer des frequences audio sur alsa ou pulseaudio en C++, dans le but de faire des tests et pas forcement lire un format de fichier existant.
Si oui, comment faire/que dois-je utiliser?
Merci smile

Hors ligne

#2 Le 30/11/2012, à 02:01

nicolas66

Re : Frequence audio en C++

As-tu regardé du côté des bibliothèques OpenAL ou FMod ?


"The computer was born to solve problems that did not exist before." (B. Gates)

Hors ligne

#3 Le 30/11/2012, à 19:41

Crone123

Re : Frequence audio en C++

J'avais pensé a FModEx sans jamais comprendre comment l'installer ou l'utiliser...
Mais j'ai oublié effectivement de penser à OpenAL (on pense souvent a OpenGL en oubliant OpenAL...)
Je vais regarder ce que propose OpenAL, a mon avis, si c'est pas trop dur a utiliser ça sera la meilleure solution smile
Merci smile

Hors ligne

#4 Le 30/11/2012, à 20:45

Crone123

Re : Frequence audio en C++

Euh, par contre je suis un peu perdu dans toute la doc de OpenAL...
Quelqu'un pourrait m'expliquer un peu comment ça marche?
Je sais qu'il faut ouvrir un contexte OpenAL, et qu'il y a 1seul listener par context.

Sur internet la seule aide que je trouve est pour lire des .wav, mais ça ne m’intéresse pas, moi je cherche juste a lire une fréquence générée directement, et absolument pas a charger un son existant dans tel ou tel format de fichier....

Il n'existe pas une fonction sur un listener proche de:
play(Frequence, Volume); ?
→ Une fonction vraiment basique qui envoie une fréquence a la carte son.
Par fréquence j'entends le sens physique, c'est a dire pour un humain, un son audible est entre 20 et 20000Hz (si je me souviens bien).
Peut être que ça existe, ou peut être que Frequence et Volume sont des objets a créer avant, mais je ne comprends pas comment faire...la doc est bien trop grosse et trop vaste je ne m'y retrouve pas...
Pouvez-vous m'aider?
Merci smile

Hors ligne

#5 Le 01/12/2012, à 01:08

nicolas66

Re : Frequence audio en C++

Une autre possibilité est d'utiliser SoX. Par exemple, pour générer une sinusoïde de fréquence 347 Hz pendant 5 secondes, il suffit de taper dans un terminal

play -n synth 5 sin 347

PS : ça te servira à quoi ce genre de chose ?


"The computer was born to solve problems that did not exist before." (B. Gates)

Hors ligne

#6 Le 02/12/2012, à 01:41

Crone123

Re : Frequence audio en C++

Le problème c'est que SoX n'est pas du C++, c'est du bash.

PS : ça te servira à quoi ce genre de chose ?

Bah, en fait j'aimerais essayer moi même de tester l'addition de plusieurs fréquences pour créer des sons (test de synthèse en gros), voir aussi quelles sont les fréquences existantes des notes, ce qui change si je les modifie, etc... (expérimenter tout ça smile )
Et pourquoi pas essayer de me créer un format audio "maison" (pas dans le but de rivaliser avec les existants, mais juste pour ma propre culture, savoir comment ça marche, et comment le faire)
Voilà, en bref, rien de très concert pour l'instant en tout cas, mais plutôt pour de l'expérimentation personnelle, et quitte à s'instruire autant que ça soit en C++ ça augmente largement les possibilités (d'où l'idée de manipuler directement des fréquences), en bash c'est plus limité...
Comme ça m’intéresse j'aimerais essayer, le problème est toujours le même: Les bibliothèques de bas niveau sont toujours trop dure a utiliser si on a pas eu un bon tutoriel simple à comprendre dessus..

Donc, a moins qu'il existe une bibliothèque libre/gratuite (mais de préférence libre) me permettant de faire ça simplement, j'aimerais bien savoir comment faire ça avec OpenAL.
Merci smile

Hors ligne

#7 Le 02/12/2012, à 03:40

nicolas66

Re : Frequence audio en C++

Le problème c'est que SoX n'est pas du C++, c'est du bash.

Oui, ça j'avais bien remarqué smile. D'un autre côté, pour les besoins que tu décris, SoX me paraît indiqué car il est par exemple possible de jouer plusieurs fréquences en même temps (par exemple 300 et 310 Hz). Dans un premier temps, ça peut être un moyen rapide d'expérimenter. Rien ne t'empêche ensuite d'approfondir le sujet en créant ta propre lib ou en utilisant OpenAL.


"The computer was born to solve problems that did not exist before." (B. Gates)

Hors ligne

#8 Le 02/12/2012, à 04:50

Crone123

Re : Frequence audio en C++

D'accord, je veux bien m'amuser avec SoX mais ce qui m’intéresse c'est de le faire en C++ (OK je suis compliqué..) et coder mon propre programme auquel je peux rajouter les fonctions dont j'ai besoin smile
Quelqu'un pourrait donc m'expliquer comment faire ça avec OpenAL (ou une bibliothèque prévue pour)?
→ Peut être que la bibliothèque utilisée par SoX (je ne sais pas ce qu'il utilise, OpenAL ou autre?) est ré-utilisable?
Merci smile

EDIT: Je veux juste savoir comment faire sortir une fréquence sonore avec OpenAL ou équivalent (parce que je me perds dans sa doc.., je ne sais pas quoi utiliser), pour le reste je me débrouille en C++.

Dernière modification par Crone123 (Le 02/12/2012, à 04:52)

Hors ligne

#9 Le 09/12/2012, à 22:20

nicolas66

Re : Frequence audio en C++

En fouillant un peu sur le net, j'ai trouvé ça. Le dernier programme permet de jouer deux sinusoïdes à deux fréquences différentes avec la bibliothèque SDL. Ca devrait être suffisant pour broder autour smile


"The computer was born to solve problems that did not exist before." (B. Gates)

Hors ligne

#10 Le 09/12/2012, à 23:28

Crone123

Re : Frequence audio en C++

Ah, la SDL peut donc le faire smile
ça tombe bien d'ici quelques semaines j'apprendrais à utiliser cette bibliothèque, je pourrais donc bien comprendre ce programme et faire mes tests smile
Merci big_smile

Hors ligne

#11 Le 10/12/2012, à 00:05

nicolas66

Re : Frequence audio en C++

Ah j'oubliais : j'ai testé chez moi et ça fonctionne impec. Tiens-nous au courant pour la suite. Bon courage wink


"The computer was born to solve problems that did not exist before." (B. Gates)

Hors ligne

#12 Le 10/12/2012, à 00:15

Crone123

Re : Frequence audio en C++

OK, normalement si tout vas bien pour les vacances de noël (pendant) j'aurais appris a utiliser cette bibliothèque, je pourrais tester et vous tiendrais au courant smile
Encore merci smile

Hors ligne

Haut de page ↑