40 votes

Bibliothèque musicale Python ?

J'envisage d'écrire une petite boîte à rythmes en Python pour le plaisir. J'ai fait quelques recherches sur Google et j'ai trouvé les pages Python sur musique y audio de base ainsi qu'une question de StackOverflow sur générer des fichiers audio mais ce que je recherche, c'est une bibliothèque décente pour la création musicale . Quelqu'un ici a-t-il déjà essayé de faire quelque chose comme ça ? Si oui, quelle a été votre solution ? Qu'est-ce qui, parmi celles que j'ai trouvées, ou quelque chose que je n'ai pas trouvé, serait une bibliothèque décente pour la manipulation audio ?

Minimalement, j'aimerais pouvoir faire quelque chose de similaire à Audacity dans Python, mais si quelqu'un connaît une bibliothèque qui peut faire plus... Je suis tout ouïe.

0 votes

Des ressources potentiellement utiles peuvent également être trouvées sur le site wiki.python.org/moin/PythonInMusic

14voto

S.Lott Points 207588

Regardez de près cSounds . Il existe des bindings Python qui permettent de faire de la synthèse numérique assez flexible. Il existe également des packages très complets.

Voir http://www.csounds.com/node/188 pour un paquet.

Voir http://www.csounds.com/journal/issue6/pythonOpcodes.html pour des informations sur le scriptage Python dans cSounds.

8voto

tim.tadh Points 564

J'ai dû le faire il y a des années. J'ai utilisé pymedia. Je ne suis pas sûr qu'il existe encore, mais voici un code de test que j'ai écrit lorsque je jouais avec. Il date d'environ 3 ans.

Editar: L'exemple de code lit un fichier MP3

import pymedia
import time

demuxer = pymedia.muxer.Demuxer('mp3') #this thing decodes the multipart file i call it a demucker

f = open(r"path to \song.mp3", 'rb')

spot = f.read()
frames = demuxer.parse(spot)
print 'read it has %i frames' % len(frames)
decoder = pymedia.audio.acodec.Decoder(demuxer.streams[0]) #this thing does the actual decoding
frame = decoder.decode(spot)
print dir(frame)
#sys.exit(1)
sound = pymedia.audio.sound
print frame.bitrate, frame.sample_rate
song = sound.Output( frame.sample_rate, frame.channels, 16 ) #this thing handles playing the song

while len(spot) > 0:
    try:
        if frame: song.play(frame.data)
        spot = f.read(512)
        frame = decoder.decode(spot)
    except:
        pass

while song.isPlaying(): time.sleep(.05)
print 'well done'

1 votes

PyMedia est en effet toujours là. Cet échantillon lit-il un fichier mp3 donné ? Il serait bon de noter ce qu'il fait, juste pour clarifier un peu la réponse.

4voto

Joe Skora Points 6535

Il existe une grande variété de logiciels musicaux Python, vous pouvez trouver un catalogue aquí .

Si vous faites défiler la page liée, vous trouvez une section sur Programmation musicale en Python décrivant plusieurs logiciels de création musicale, dont MusicKit y PySndObj .

0 votes

Avez-vous travaillé avec l'un ou l'autre de ces produits, ou lisez-vous simplement la liste des fonctionnalités ?

3voto

Consultez également http://code.google.com/p/pyo/

2voto

jmnben Points 451

En plus de ce qui a été mentionné précédemment, j'ai écrit un simple éditeur audio en Python. http://code.google.com/p/yaalp/source/browse/#svn/trunk Voir main.py.

Il dispose également de la manipulation audio et de quelques effets.

Le code est sous GPL, donc cela pourrait être un point de départ pour vous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X