| LeSon |
UserPreferences |
| Wiki Python Fr | FrontPage | RecentChanges | TitleIndex | WordIndex | SiteNavigation | HelpContents | moin.sf.net |
Cette page présente les mécanisme de manipulation du son en général avec Python.
Le module ossaudiodev est très pratique pour écouter des sons soit directement produits en Python soit provenant de fichiers du disque dur.
Voici une des nombreuses possibilités pour se servir du module:
#-*-coding:utf-8-*-
import ossaudiodev as OSS
class Audio:
"""
classe pour envoyer des sons à la carte son (sur un Linux)."""
def __init__(self, canaux = 2, sr = 44100, format = OSS.AFMT_S16_LE):
"""instancie une sortie stéréo.
Inutile de faire un try, puisque ça n'ira pas ..."""
if canaux <> 2 :
print "Audio : version stéréo uniquement"
canaux = 2
try:
self.f = OSS.open("w")
except IOError:
print "Le /dev/dsp est déjà ouvert quelque part ..."
print "Il faut absolument voir où, sinon on risque d'avoir des ennuis permanents"
return
self.f.setfmt(format)
self.f.channels(canaux)
self.f.speed(sr)
def close(self):
"ferme la sortie stéréo."
try:
self.f.close()
except:
print "sortie Audio non ouverte ?"
def play(self, w):
"""
envoie l'array w sur la sortie son.
On suppose que l'array w a le format
requis (p.ex. integer 16 bits, 44100 échantillons/sec
pour la stéréo traditionnelle. Sinon il faut
faire quelques travaux préalables.
"""
try:
self.f.write(w)
except IOError:
print "Comment ?"Ce bout de code est à prendre comme une proposition pour une charpente à adapter à son propre projet.
rb