Музыкальная библиотека Python?
Я смотрю, как писать небольшую драм-машину в Python для удовольствия. Я искал некоторые из них и нашел страницы python на music и базовый звук, а также вопрос StackOverflow на создании аудиофайлов, но то, что я ищу, является достойной библиотекой для создания музыки. Кто-нибудь здесь пытался сделать что-то подобное раньше? Если да, то каково было ваше решение? Что, из тех, что я нашел, или чего-то, чего я не нашел, будет хорошей библиотекой для манипуляций с аудио?
В минимальной степени я хотел бы сделать что-то похожее на объемность Audacity в python, но если кто-нибудь знает библиотеку, которая может сделать больше... Я все уши.
Ответы
Ответ 1
Посмотрите cSounds. Есть привязки Python, которые позволяют делать довольно гибкий цифровой синтез. Есть также довольно красивые пакеты.
Смотрите http://www.csounds.com/node/188 для пакета.
См. http://www.csounds.com/journal/issue6/pythonOpcodes.html для получения информации о скриптах Python в cSounds.
Ответ 2
Я должен был сделать это много лет назад. Я использовал pymedia. Я не уверен, что это все равно вокруг какой-то код, который я написал, когда играл с ним. Это примерно 3 года.
Изменить: Образец кода воспроизводит файл 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'
Ответ 3
Существует множество музыкальных программ Python, вы можете найти каталог здесь.
Если вы прокрутите страницу вниз, вы найдете раздел Программирование музыки в Python, описывающий несколько пакетов создания музыки, включая MusicKit и PySndObj.
Ответ 4
Также проверьте http://code.google.com/p/pyo/
Ответ 5
В дополнение к тому, что было упомянуто ранее, я написал простой аудиоредактор Python.
http://code.google.com/p/yaalp/source/browse/#svn/trunk
См. Main.py.
У него также есть манипуляции с аудио и некоторые эффекты.
Код GPL, так что это может быть отправной точкой для вас.