Python音乐库?
时间:2020-03-06 14:29:22 来源:igfitidea点击:
我正在寻找用Python编写一台小鼓机的乐趣。我已经在Google上进行了搜索,找到了关于音乐和基本音频的python页面,以及关于生成音频文件的StackOverflow问题,但是我正在寻找的是一个不错的音乐创作库。有人在这里尝试过做类似的事情吗?如果是这样,解决方案是什么?我发现的或者未发现的东西,会是一个不错的音频处理库?
至少,我希望能够在python中完成与Audacity的作用域类似的操作,但是如果有人知道一个可以做更多事情的库……我非常高兴。
解决方案
有各种各样的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'
仔细看看cSounds。有Python绑定使我们可以进行非常灵活的数字合成。也有一些相当完整的软件包。
有关软件包,请参见http://www.csounds.com/node/188.
有关cSounds中Python脚本编写的信息,请参见http://www.csounds.com/journal/issue6/pythonOpcodes.html。
除了前面提到的内容外,我还编写了一个简单的Python音频编辑器。
http://code.google.com/p/yaalp/source/browse/#svn/trunk
参见main.py。
它还具有音频操作和某些效果。
代码的GPL,因此这可能是起点。
还要查看http://code.google.com/p/pyo/

