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

Contribuez Python Discussion :

Entendre le flux du microphone


Sujet :

Contribuez Python

  1. #1
    Membre averti
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Points : 413
    Points
    413
    Par défaut Entendre le flux du microphone
    Bonjour, après un peu de recherches, j'ai réussi à écrire un petit script pour entendre le flux du microphone, cela peut aller en complément de ce topic (qui m'a bien servi) pour voir et entendre en direct le son et la vidéo. Il est tellement petit que je vous le met en texte directement, il faut toutefois installer pyaudio avant de continuer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    import pyaudio
    import wave
     
    CHUNK = 1024
    FORMAT = pyaudio.paInt16
    CHANNELS = 2
    RATE = 44100
    RECORD_SECONDS = 5#limite le temps de capture
     
    p = pyaudio.PyAudio()
     
    stream = p.open(format=FORMAT,
                    channels=CHANNELS,
                    rate=RATE,
                    input=True,
                    frames_per_buffer=CHUNK)
     
    p2 = pyaudio.PyAudio()
    stream_lecture = p2.open(format=FORMAT,
                    channels=CHANNELS,
                    rate=RATE,
                    output=True)
     
    print("* début capture")
     
    frames = []
     
    for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):#si vous voulez une diffusion sans limite de temps, boucle while infinie
        data = stream.read(CHUNK)
        stream_lecture.write(data)
     
    print("* capture terminée")
     
    stream.stop_stream()
    stream.close()
    p.terminate()
     
    stream_lecture.stop_stream()
    stream_lecture.close()
     
    p2.terminate()
    Je me suis inspire de différents scripts sur le net, pour simplement mettre le son dans un fichier et lire un fichier, j'espère qu'ils ne le prendront pas mal ^^ mais le script est relativement différent au final. Si vous avez des suggestions, des améliorations à suggérer je suis preneur.
    Bouddha : Tout n'est qu'illusion en ce bas monde.
    Jésus : Tout est amour divin.
    Einstein : Tout est relatif dans cet espace-temps.
    Moi : Tout est binaire sur ce forum.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Points : 413
    Points
    413
    Par défaut
    Je ne peux pas éditer mais j'ai fais ce programme à la va-vite en m'inspirant de différents trucs, je mets une version plus élaborée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    import pyaudio
     
    CHUNK = 1024
    FORMAT = pyaudio.paInt16
    CHANNELS = 2
    RATE = 44100
    RECORD_SECONDS = 5#limite le temps de capture
     
    p = pyaudio.PyAudio()
     
    stream = p.open(format=FORMAT,
                    channels=CHANNELS,
                    rate=RATE,
                    input=True,
                    frames_per_buffer=CHUNK)
     
    p2 = pyaudio.PyAudio()
    stream_lecture = p2.open(format=FORMAT,
                    channels=CHANNELS,
                    rate=RATE,
                    output=True)
     
    print("* début diffusion")
     
    for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):#si vous voulez une diffusion sans limite de temps, boucle while infinie
        data = stream.read(CHUNK)
        stream_lecture.write(data)
     
    print("* diffusion terminée")
     
    stream.stop_stream()
    stream.close()
    p.terminate()
     
    stream_lecture.stop_stream()
    stream_lecture.close()
     
    p2.terminate()
    Bouddha : Tout n'est qu'illusion en ce bas monde.
    Jésus : Tout est amour divin.
    Einstein : Tout est relatif dans cet espace-temps.
    Moi : Tout est binaire sur ce forum.

Discussions similaires

  1. Entendre le son du microphone
    Par stalacta dans le forum Général Python
    Réponses: 5
    Dernier message: 27/05/2014, 16h35
  2. Acquerir un flux audio
    Par The Cyber Lewis dans le forum DirectX
    Réponses: 1
    Dernier message: 05/04/2004, 15h13
  3. Rediriger un flux de données sous linux
    Par Nicaisse dans le forum POSIX
    Réponses: 7
    Dernier message: 01/07/2003, 17h04
  4. Copie d'un flux dans un autre
    Par Morvan Mikael dans le forum Langage
    Réponses: 5
    Dernier message: 03/06/2003, 10h40
  5. [reseaux] redirection de flux
    Par Olive1808 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 12/08/2002, 10h24

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