IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Enregistrer seulement quand un son est capter par le micro, C++ lib audio


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Mars 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Enregistrer seulement quand un son est capter par le micro, C++ lib audio
    Bonjour la communauté ,

    il faut capter le micro et en faire un fichier audio.
    Il faut pouvoir produire un fichier de type ".raw".

    La difficulté à ajouter ici, c'est qu'il n'y a pas de bouton pour commencer a enregistrer et arrêter.
    Je dois commencer à capter quand y'a du bruit, et enregistrer dans un fichier quand c'est finit.
    En somme, si je lance le programme et que je prononce trois phrases distinctes avec du silence entre chaque, je vais avoir 3 fichiers audio en sortie.

    Pour le moment j'utilise la lib Portaudio je récupère bien un flux audio du micro qui est enregistrer dans un fichier .raw, le probleme et que je ne trouve pas de solution pour capter seulement quand il y a du bruit (ça enregistre que dans un temps définie :/).
    Si vous avez une solution soit avec Portaudio sinon par une autre lib je suis preneur !

    merci à vous !

  2. #2
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    L’idée, ça va être d’analyser le volume sonore. Dès que le volume sonore dépasse un certain niveau, tu démarres l’enregistrement. S’il repasse en dessous d’un certain niveau (généralement, plus bas que le niveau qui a déclenché le départ, pour éviter des effets d’oscillation), tu coupes.

    Ça veut dire que tu captures en permanence, mais tu ne sauvegarde que quand il y a du son.

  3. #3
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 159
    Points
    3 159
    Par défaut
    J'ajouterais que tu devrais mesurer la moyenne de la puissance du signal sur un laps de temps donné. Il faut conserver en mémoire la plage sur laquelle tu as mesuré et ne pas oublier de l'ajouter à l'enregistrement pour ne pas manquer le début. Tout comme le volume de détection de fin devrait être inférieur au volume de détection de début, le laps de temps sur lequel le volume doit être bas pour couper l'enregistrement doit être plus long aussi, pour éviter les multiples coupures.

Discussions similaires

  1. [AC-2007] Bloquer Enregistrement formulaire quand un champ EST rempli
    Par borisp dans le forum IHM
    Réponses: 3
    Dernier message: 02/09/2011, 16h13
  2. bug quand tinymce est appelé par jquery
    Par Alexdezark dans le forum jQuery
    Réponses: 3
    Dernier message: 19/06/2009, 11h02
  3. Réponses: 2
    Dernier message: 15/07/2008, 17h47
  4. avoir un enregistrement avec des zéros quand la requête est vide
    Par dodie84 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/05/2008, 15h41
  5. Plus de son quand la webcam est allumée
    Par jmulans dans le forum Windows XP
    Réponses: 8
    Dernier message: 21/08/2007, 18h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo