Gabriel Battaglia (Kriyaban) wrote: > Mi interessa famigliarizzare con qualche modulo che si occupa di > audio management. Ho dato una scorsa ai risultati ottenuti cercando > audio su www.python.org ed ho ricevuto una valanga di informazioni. > Ci sono molti moduli che se ne occupano, da Pygame ad Audiere... a > Pyaudio eccetera. Scegliere è difficile, soprattutto quando le > competenze iniziali sono basse come le mie. Parecchi progetti inoltre, > sembrano essere abandonware, e mi dispiacerebbe buttarmi in qualcosa > che non viene più aggiornato o la cui compatibilità con le nuove > versioni di Python potrebbe non essere più garantita.
Sì, la situazione dell'audio in Python non è mai stata fantastica, purtroppo. > Ecco dunque le necessità basilari che avrei: > > 1. Poter caricare un file audio ed averlo a disposizione come > oggetto. > - Più sono i formati supportati, specialmente se compressi, meglio > sarà. In passato ho usato Python Audio Tools <http://audiotools.sourceforge.net/> e sembra ancora manutenuto. E` scritto piuttosto bene e ben documentato, e supporta molti formati di file. Non fa molto più che caricare e salvare, però. > 2. Poter generare, da una formula matematica o da un valore di > frequenza hz, un tempo e delle costanti per la forma d'onda, dei toni > da poter usare come oggetti audio o da poter scrivere su file. Questi calcoli puoi farli con librerie matematiche generiche come NumPy. Ecco un vecchio articolo (usa Numeric, un antenato di NumPy), forse ancora interessante: Some Notes on Basic Sound Frequency Analysis On Linux <http://www.integratedprocess.com/sigproc.html> > 3. Poter usare un numero n di questi oggetti audio, tutti > indipendenti l'uno dall'altro. > 4. Poter decidere, per ogni oggetto audio, proprietà come volume, > panning stereo, pitch, play, pausa, stop, resume. > 5. Poter leggere dall'oggetto ogni stato di cui al punto 4. Per questo tipo di cose lo strumento principe è OpenAL. Purtroppo tutti i wrapper per Python sono morti o dormienti. :-/ L'unico accesso manutenuto a OpenAL da Python è ben nascosto in Pyglet <http://pyglet.org/>, una libreria per scrivere giochi che usa OpenGL, vedi <http://pyglet.org/doc/programming_guide/sound_and_video.html>. Nel sorgente è contenuto un esempio, soundscape, molto carino, con varie sorgenti sonore parametrizzate, e funziona bene. Un altro strumento, più limitato ma forse più adatto alle tue esigenze, è PyAudio (che citavi) <http://people.csail.mit.edu/hubert/pyaudio/>, un wrapper alla v.19 di PortAudio. E` manutenuto e funziona anche su Python 3.3. Infine potresti usare un bestione come GStreamer che fa un miliardo di cose ed ha dei wrapper per Python, PyGST <http://pygstdocs.berlios.de/>. Queste sono le opzioni di cui sono a conoscenza, spero ti siano utili. Se trovi qualcos'altro d'interessante facci sapere, mi raccomando! :-) -- Nicola Larosa - http://www.tekNico.net/ You should demand open source in your router, open source in your oper- ating system, and open source in any application software that is impor- tant to your life. Because if you don't own it, it will surely own you. - Eric Raymond, "Cisco provides a lesson", July 2012 _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python