Я собираюсь написать небольшую драм-машину на Python для развлечения. Я погуглил и нашел страницы Python на Музыка и базовый звук, а также вопрос StackOverflow на создание аудиофайлов, но то, что я ищу, это достойная библиотека для создания музыки. Кто-нибудь здесь пытался сделать что-то подобное раньше? Если да, то каково было ваше решение? Что из тех, что я нашел, или чего-то, чего я не нашел, могло бы стать приличной библиотекой для обработки звука?
Как минимум, я хотел бы иметь возможность делать что-то похожее на область видимости Смелость в python, но если кто-то знает библиотеку, которая может делать больше ... Я все слышу.






Существует множество музыкальных программ на Python, вы можете найти их в каталоге здесь.
Если вы прокрутите связанную страницу вниз, вы найдете раздел на Музыкальное программирование на Python, описывающий несколько пакетов для создания музыки, включая MusicKit и PySndObj.
Вы работали с одним из них или вы просто читаете список функций?
Мне пришлось сделать это много лет назад. Я использовал 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'
PyMedia действительно существует. Этот образец воспроизводит данный mp3-файл? Было бы неплохо отметить, что он делает, просто чтобы немного уточнить ответ.
Внимательно посмотрите на cSounds. Есть привязки Python, которые позволяют выполнять довольно гибкий цифровой синтез. Также доступны довольно полные пакеты.
См. Пакет http://www.csounds.com/node/188.
См. http://www.csounds.com/journal/issue6/pythonOpcodes.html для получения информации о сценариях Python в cSounds.
В дополнение к тому, что было упомянуто ранее, я написал простой звуковой редактор Python. http://code.google.com/p/yaalp/source/browse/#svn/trunk См. Main.py.
Он также имеет звуковые манипуляции и некоторые эффекты.
Code's GPL, так что это может быть для вас отправной точкой.
Также проверьте http://code.google.com/p/pyo/
потенциально полезные ресурсы можно найти также на wiki.python.org/moin/PythonInMusic