Forum Linux.général Capturer un son sur l'entrée Line In ou Mic

Posté par  .
Étiquettes : aucune
0
13
sept.
2012

Bonjour, j'envisage de faire un petit projet de traitement du signal et je voudrai capturer le son de différents instruments de musique à l'aide d'un microphone analogique et l'enregistrer idéalement dans un fichier (.wav).

Savez vous comment on enregistre le son avec python par exemple ?

Après, je voudrai coder une petite GUI matlab ou python pour faire du traitement à posteriori, des transformées de Fourier, etc.

Ce serait possible d'après vous ?

  • # Refaire la roue ?

    Posté par  (site Web personnel) . Évalué à 1.

    Je pense qu'avant de partir dans un projet, intéressant d'un point de vue personnel ( programmation ) tu devrais regarder ce qui se fait déjà.

    Pour tout ce qui est capture, traitement du signal avec filtres de malade, fourrier, j'en passe et des meilleurs, tu as un logiciel libre de montage audio vachement puissant : Audacity !
    Il est disponible dans tous les bon repository avec apt-get install ou yum install suivant la crèmerie.

    Fuse : j'en Use et Abuse !

    • [^] # Re: Refaire la roue ?

      Posté par  . Évalué à 0.

      Audacity est bien mais a un sale défaut, il ne fait pas de temps réel.

      Cordialement

  • # Pour debuter

    Posté par  . Évalué à 1.

    Sous linux tout est fichier donc pour lire un échantillonnage sur l'entre mic il suffit de lire sur le périphérique /dev/dsp (qui est souvent un lien symbolique pour /dev/dsp0).
    Ensuite pour faire des reglages sur les frequences d'acquisitions et la résolutions il faut passer par les iocontrol (toujours a destination de /dev/dsp )
    tu trouveras un exemple en C ici, a toi de le porter vers python qui doit savoir faire ces opérations élémentaire (lecture/ecriture/iocontrol de fichier )

    http://www.oreilly.de/catalog/multilinux/excerpt/ch14-05.htm

    • [^] # Re: Pour debuter

      Posté par  . Évalué à 1.

      /dev/dsp c'est plus utilisé depuis longtemps avec pulseaudio et alsa.

  • # Sox

    Posté par  . Évalué à 2.

    Je ne peux que te conseiller de t'appuyer sur un programme existant. Par exemple tu peux utiliser la commande rec(1) du logiciel SoX, un petit couteau suisse des formats de fichiers son.

    Tu peux notamment convertir tes fichiers audio dans format dat textuel, facile à analyser avec n'importe quel langage de programmation

    sox Crystal\ Castles/Crystal\ Castles/13\ -\ Through\ the\ hosiery.mp3 sample.dat
    cat sample.dat
    ; Sample Rate 44100
    ; Channels 2
                   0                0               0 
       2.2675737e-05                0               0 
       4.5351474e-05                0               0 
                   …
         0.052403628   -3.7252903e-09  -3.7252903e-09 
         0.052426304   -3.7252903e-09  -3.7252903e-09 
          0.05244898                0               0 
         0.052471655   -3.7252903e-09               0 
         0.052494331   -3.7252903e-09               0 
    
    

    Bien-sûr, tu as intérêt à encapsuler proprement tes fonctions de lecture du signal, ce qui te permettra de remplacer l'accès à SoX et au shell par un autre mécanisme, si tu en ressens un jour le besoin.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.