CSound与Python的通信
我现在正在做一个项目,主要是用进化算法来模拟吉他效果,我想用Python和CSound来实现这个目标。
我的想法是,在Python里生成效果参数,然后把这些参数发送给CSound,CSound会把这些参数应用到音频文件上,接着把处理后的新音频文件再发回Python。这样我就可以对新音频文件进行频率分析,和目标音频文件进行比较(这个过程会循环进行,直到新音频文件和目标音频文件相似为止,所以在CSound和Python之间的数据传输会很多次)。
简单来说,我想知道怎么让Python把数据发送到一个CSound文件(.csd文件),怎么在这个.csd文件里读取数据,以及怎么把一个.wav文件从CSound发送回Python?最好这个过程能自动进行,直到音频文件达到预期标准。
提前谢谢你们!
2 个回答
1
从Python发送参数值到Csound,可以使用OSC协议来实现。
从Csound发送音频到Python,可以通过在两个应用之间设置Jack通道来完成。
1
你可以使用Csound的Python接口,这样就能在Python中运行Csound,并通过软件总线传递数值。可以查看csound.h文件。你可能还想用csPerfThread这个包装类,它可以在Csound运行时安排消息的发送和接收。所有功能都可以通过Python来使用。