Partage
  • Partager sur Facebook
  • Partager sur Twitter

[pymedia ou python] Mélanger 2 sons ? Changer leur volume ?

python 2.7

Sujet résolu
    8 mars 2011 à 12:02:17

    Bonjour,

    Je cherche à mélanger deux sons, je travaille avec la bibliothèque pymédia (doc), mais je ne trouve pas comment mélanger deux sons (voix du chanteur + musique de fond par exemple)...
    J'ai cherché aussi à le faire avec juste python et j'ai trouvé ça, qui m'indique cette fonction :

    Citation : doc python audioop

    audioop.add(fragment1, fragment2, width)¶
    Return a fragment which is the addition of the two samples passed as parameters. width is the sample width in bytes, either 1, 2 or 4. Both fragments should have the same length.



    Il semblerait que ce soit ce que je cherche, mais le code que j'ai fait ne marche pas (ni avec python 3.x ni avec python 2.7, il faudrait que ça marche avec le 2.7 ) :
    from audioop import*
    k=audioop.add("abcd","efgh",4)
    

    (bon, là, pour les deux "fragments", j'ai mis n'importe quoi, mais l'erreur qui m'est affichée est que "audioop" est une variable inconnue pour le "audioop.add", le "import" marche (enfin... semble marcher, en tout cas ^^).

    J'ai même essayé de faire moi-même ma fonction (après mes infructueuses recherche), et j'ai trouvé cette page dont j'ai essayé de mettre en oeuvre le principe, mais ça ne donne rien...


    Pouvez-vous m'aider ?

    Tant qu'à faire, je cherche aussi à changer le volume du son , cad à mettre plus ou moins fort un passage d'une musique, pouvez-vous m'aider pour ça aussi ?


    PS :
    MERCI NoHar !!!!!!!
    </span>

    Ca maaaaaaaaaaaaaaaarche !!!!! :D

    Mes profs ne m'avaient jamais expliqué ça !

    Tu m'as super bien expliqué, encore merci ! :)

    (Tu m'as même donné envie d'aller voir le cours de python d'ici pour combler les lacunes laissées par les profs de fac ! :p )
    • Partager sur Facebook
    • Partager sur Twitter
      9 mars 2011 à 2:54:07

      Le problème vient de la façon dont tu importes ton module.

      Soit tu l'importes entièrement avec le wildcard (ce qui est sale), et tu n'as plus besoin de préciser le module :

      from audioop import *
      k = add("abcd", "efgh", 4)
      


      Soit (c'est beaucoup plus propre), tu importes ton module de façon classique :

      import audioop 
      k = audioop.add("abcd", "efgh", 4)
      


      Soit (et c'est encore mieux), tu n'importes que les fonctions dont tu as besoin séparées par une virgule :

      from audioop import add
      k = add("abcd", "efgh", 4)
      


      • Partager sur Facebook
      • Partager sur Twitter
      Zeste de Savoir, le site qui en a dans le citron !

      [pymedia ou python] Mélanger 2 sons ? Changer leur volume ?

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown