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

Programmation multimédia/Jeux Python Discussion :

Balance droite/gauche pyaudio


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2013
    Messages : 28
    Points : 8
    Points
    8
    Par défaut Balance droite/gauche pyaudio
    Bonjour,

    Je travaille sous windows 7 en Python 3.3..

    J'ai un générateur de sons purs dont voici le code :

    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
     
    from numpy import *
    import pyaudio as pa
     
    SR=24000
    f=1000; om=2*pi*f
    dur=5; t=linspace(0,dur,dur*SR)
    pond = 7.5
    Niv = 50 - pond
    Ampl0 = 0.00002
    Ampl = Ampl0*10**(Niv/20)
    s=(Ampl)*sin(om*t)                      #Je crée une liste d'échantillons
     
     
     
     
    chnk=dur*SR
    p=pa.PyAudio()
     
    strm=p.open(format=pa.paFloat32, channels=1,  # J'ouvre un stream mono
                rate=SR,output=True,
                frames_per_buffer=chnk)
     
    strm.write(s.astype(float32).tostring(),1)    # J'écris ma liste dans le stream
     
     
    strm.close()
    p.terminate()

    Maintenant j'aimerais savoir si il est possible de jouer sur la balance. Envoyer le son soit sur la voie gauche soit sur la voie droite.
    J'ai cherché dans la doc de pyaudio mais j'ai rien trouvé de concluant.
    Et sur les forums j'ai rien vu non plus.

    Avez vous une idée ?

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2013
    Messages : 28
    Points : 8
    Points
    8
    Par défaut Je cherche toujours
    Bonjour,

    J'ai essayé de créer un signal stéréo avec des valeurs nulles du coté à rendre muet mais rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    f=1000; om=2*pi*f
    dur=5; t=linspace(0,dur,dur*SR)
    pond = 7.5
    Niv = 50 - pond
    Ampl0 = 0.00002
    Ampl = Ampl0*10**(Niv/20)
    y=(Ampl)*sin(om*t) 
     
    x = 0*t
     
    s = [y]+[x]
    Je ne sais pas si j'utilise la bonne méthode pour créer un tableau distribuable sur les deux voies. A priori non, en supposant que ce soit possible.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2013
    Messages : 28
    Points : 8
    Points
    8
    Par défaut J'ai trouvé !
    Bonjour,

    C'est bon j'ai trouvé !

    Deux listes d'échantillons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    f=1000; om=2*pi*f
    dur=2; t=linspace(0,dur,dur*SR)
    y =(Ampl)*sin(om*t) 
    x = 0*t
    que je combine pour avoir une seule liste stéréo.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def interleave(left, right):
        """Convert two mono sources into one stereo source."""
        return numpy.ravel(numpy.vstack((left, right)), order='F')
     
    z = interleave(x,y)
    Et ile ne reste plus qu'à écrire "z" dans le stream !

    Fonction "interleave" trouvée sur :
    http://flamingoengine.googlecode.com...audio_mixer.py

    Voila ! A bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Clic droit/gauche souris
    Par Mouse! dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 30/05/2013, 20h34
  2. format de date de droite à gauche?
    Par dj_techno dans le forum Bases de données
    Réponses: 7
    Dernier message: 01/09/2006, 19h43
  3. ajouter une langue s'ecrivant de droite à gauche dans delphi7
    Par iam dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/07/2006, 12h45
  4. [VB.NET 2005] Recherche de droite à gauche d'un carractere
    Par lezard777 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/04/2006, 16h02
  5. [StringTokenizer] Découpage de droite à gauche ?
    Par july dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 03/06/2005, 12h02

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