我一直在与Fluidsynth合作开发运行Raspian的Raspberry Pi B(不是绝对最新的映像,因为Fluidsynth不会在最新版本上运行,但至少从2014年4月开始)。在
我通过运行fluidsynth -a alsa -g 1 -s -o "shell.port=9800" /path/to/FluidR3_GM.sf2
来启动Fluidsynth
我可以使用Fluidsynth自己的shell和noteon 1 54 100
等命令获得预期的音频输出,还可以使用telnet服务器从单独的命令行使用以下命令获取音频播放:
telnet localhost 9800
,然后在它生成的子shell中键入标准的noteon
命令。在
不过,我的最终目标是从python发送这些telnet命令。在
我尝试了以下代码,它没有返回错误:
>>> from telnet lib import Telnet
>>> fluidsynth = Telnet("localhost","9800")
>>> fluidsynth.write('noteon 1 25 127')
但这不能产生任何声音。在
现在我遇到了麻烦,我不知道为什么python语句不能工作,但是命令shell中的语句可以工作。他们不会做同样的事情吗?我错过了telnet协议的一些细节吗?在
在传递给
write
的字符串末尾添加一个换行符:相关问题 更多 >
编程相关推荐