Détecter des décibels en C++

Fermé
AdamDuForum Messages postés 15 Date d'inscription lundi 26 août 2019 Statut Membre Dernière intervention 19 décembre 2019 - Modifié le 28 sept. 2019 à 02:46
AdamDuForum Messages postés 15 Date d'inscription lundi 26 août 2019 Statut Membre Dernière intervention 19 décembre 2019 - 30 oct. 2019 à 23:44
Bonjour, est-il possible de détecter des décibels dans un programme en
C++
et si oui, comment et sur quel logiciel puis-je l'utiliser?

#include "iostream"
#include "decibel" //ou quelque chose comme ça
using namespace std;

int main(){
  
  int dB;

  detect_DB (int dB);

  if(dB == 25){
    cout << "\nTu est dans une bibliothèque!\n";
  }

return 0;

}


Configuration: Configuration: Macintosh / Safari 13.0


Merci les namis!

1 réponse

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
30 oct. 2019 à 09:53
Bonjour,

Non, c'est plus compliqué. Il faudrait plutôt ouvrir le device correspondant au micro, capture le son et que tu l'analyses. Avec du C++ pur, la démarche diffère en fonction du système d'exploitation (windows, linux), donc je t'invite à passer par une librairie genre Qt ou GTK pour t'abstraire de ces considérations.

Tu peux par exemple, en Qt, regarder la classe
QAudioInput
. Une fois le son capturer il faudra en fonction du format de la trace du son extraire son amplitude et faire la conversion en décibels.

dB = 20 * log10(maxamp);


Bonne chance
1
AdamDuForum Messages postés 15 Date d'inscription lundi 26 août 2019 Statut Membre Dernière intervention 19 décembre 2019
30 oct. 2019 à 23:44
Merci Mamie, je vais regarder ce que je peux faire avec ça!
0