Indicateur de volume sonore

Résolu
Signaler
Messages postés
118
Date d'inscription
samedi 9 décembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009
-
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
-
Bonjour à tous,
Depuis des semaines, je suis à la recherche d'une méthode ou d'un composant (freeware) qui puisse m'indiquer
visuellement le volume d'une musique (mp3) à l'aide d'une barre de led, d'un vumètre.....le compo visuel, à mon avis
a peut d'importance, l'essentiel étant la méthode de le faire varier.
J'ai trouvé des tonnes de composants qui faisaient l'inverse, controler le volume depuis le composant......
Je compte travailler avec BASS, BASS32, mais je n'ais pratiquement pas trouvé de docs la dessus pour développer..
Merci à tous..
A+
 

12 réponses

Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
Bon triple post , mais je poste trop vite ...

Bien sur 
BASS_ChannelGetLevel 
tu dois le placer dans un timer à un interval aussi rapide que tu veux faire varier ton vuMetre ....
A chaque appel de
BASS_ChannelGetLevel, tu récupérés le niveau de ton son
qui varie de 0(silence) à 
32768(Max de bruit )

Tu as donc les valeurs min et max  et tu peux connaitre ta position , voila chose faite !

Nico

Salut,

Pour  un vumetre regarde ici : http://www.sonelec-musique.com/logiciels_vcl.html

Ensuite avec la librairie bass il y a ce qu'il faut pour récupérer le volume sonore et cela sans utilise de timer mais un simple callback via les fonctions BASS_ChannelSetSync et BASS_ChannelSetAttribute
Messages postés
118
Date d'inscription
samedi 9 décembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009

Excellent les compos.....surtout les barres de leds......en plus voies gauche et droite, ça de vient du luxe....
Il ne reste plus qu'a les faire bouger sur la musique.....
J'étais partis sur la bonne voie avec BASS, mais existe-t-il une doc en français ?????
J'ai vu sur certains exemples des BASS.PAS. Est-ce fournis avec BASS.DLL ou chacun écrit son unité BASS.PAS ?
Merci
A+
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
je n'ai pas bien compris ce que tu voulais dire par "chacun ecrit son BASS.PAS" ...

Bien sur que si tu télécharge Bass tu as Bass.Dll , Bass.pas n'est la que pour faire interface avec la dll ...
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
dsl double post : @Francky : excellent , plus moyen de retrouver ce site et par miracle tu en parles ;)

moi je veux ca : http://www.sonelec-musique.com/electronique_realisations_theremin_002.html

Bon ok c'est hors sujet ...

Au fait pour Bass , si c'est juste pour faire varier un VuMetre , recupère les valeurs de gauche et de droite comme ceci :
DWORD level, left, 
right;
level=BASS_ChannelGetLevel(channel);

left=LOWORD(level); // the 
left level
right=HIWORD(level); // the right level


Tiré tout droit de l'aide de Bass
Messages postés
118
Date d'inscription
samedi 9 décembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009

Merci à tous, cela fonctionne.....Pour le site Sonelec, c'est vrai qu'il faut tomber dessus !!!!!!!!!! mais très interressant.
Aller A+
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
n'oublie pas de mettre "Reponse accepté" , c'est assez utile pour les personnes qui  souffrent du même problème que toi ;)

Attention : Pour récupérer le volume global d'un channel c'est
BASS_ChannelSetAttribute. Pour récupérer l'intensité d'un son (Vumètre dynamique) c'est Bass_ChannelGetLevel.

Pas besoin de timer pour faire cela : un callback voir un While ... Do

While Position du stream<Fin du Stream Do
Bass_Channel_SetAttribute ou Bass_ChannelGetLevel.

                        
                

@Nico : c'est pas un probleme j'ai tout ce qui faut au boulot pour faire des circuits et dois avoir quelques centaines de milliers de résistances en stock .
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
Je pense que quand il parlait de "le volume d'une musique (mp3) à l'aide d'une barre de led" , il voulait certainement parlé de l'intensité (le volume étant constant tant qu'on n'y touche pas , un  vuMètre est  un peu ridicule)

Pour le callback ok Mais le While non ! Ça va bouffer du cpu à mort cette histoire ! Puis un bête timer , ce n'est pas la mort tout de même , si ?

Et attention pour Récupérer, ce sont des Gettors donc BASS_ChannelGetAttribute !

Moi c'est mon kokoteur qui a tout le matériel possible (en même temps , c'est ces études il fait automatisme) , alors quand je le regarde monter ses réalisations , ca me donne trop envie de me lancer dans l'aventure (le seul truc que j'ai fait pour l'instant, c'est une roue de la fortune (et en kit en plus :(  ))
Messages postés
118
Date d'inscription
samedi 9 décembre 2006
Statut
Membre
Dernière intervention
17 novembre 2009

Salut, c'est exact, je parle d'intensite (décibels) alors que le volume peut rester des heures sans bouger.
Je vais même essayer de découper en tranche Basse médium aigues.....Mais je vais commencer par facile...
Je suis en train de délirer sur une platine DJ (avec beaucoup d'effets) que je veux proposer en freeware avec source.
Merci pour vos explications précieuses....
A+
Messages postés
992
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
24 avril 2013
2
Au fait tu peux même regarder plusieurs de mes sources (non je ne fais pas de pub :) )
J'ai réaliser plus sources avec la librairie BASS , ça t aidera certainement ...