Générer un son à une fréquence donnée sur les haut parleurs externes

cs_rez1 Messages postés 2 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 16 février 2011 - 15 févr. 2011 à 23:13
cs_darunia Messages postés 354 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 24 mars 2011 - 17 févr. 2011 à 15:07
Bonjours,

Étant nouveau et mauvais programmateur en C, je souhaiterais de l'aide car il me faut créer une fonction qui me joue un son parfait (sans harmoniques) à une fréquence donnée sur les enceintes, c'est à dire en passant par la carte son. Il faut noter que plusieurs sons doivent être joués en même temps. La finalité est de générer un bruit blanc.
Je me suis déjà renseigné sur les fonctions API, Directsound, et d'autres bibliothèques, mais sans succès. Je ne sais donc pas du tout comment m'y prendre, merci de votre aide. Je travail sous Windows.

Jérémie

4 réponses

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
16 févr. 2011 à 07:31
salut,


Si la fréquence est donnée et qu'elle ne change pas, tu peux utiliser winmm et PlaySound() qui permet de jouer un fdichier wave que tu auras crée avant. Cette même fonction devrait te permettre de jouer plusieurs waves en même temps.

@++
0
cs_rez1 Messages postés 2 Date d'inscription samedi 20 novembre 2010 Statut Membre Dernière intervention 16 février 2011
16 févr. 2011 à 11:04
Désolé, je n'ai pas été assez précis, la fréquence est donnée et variable.
Mais qu'est ce que "winmm"?
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
17 févr. 2011 à 08:15
re,


winmm pour windows multimedia. Il y a très longtemps, j'avais travaillé sur un émulateur de synthèse fm et j'utilisait ça si mes souvenirs sont bons.

Si la fréquence est variable, il faut creer l'echantillon avant. Pour avoir des calculs sin rapides, j'avais mis une sinusoide de 1Hz en tableau et je changeais mon index en fonction de la fréquence désirée.

@++
0
cs_darunia Messages postés 354 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 24 mars 2011 2
17 févr. 2011 à 15:07
Voir cette source.

Suffit d'ecrire dans un buffer au lieu d'ecrire dans un fichier et de passer le buffer à sndPlaySound

D@runia
0
Rejoignez-nous