我试图按照this question中的建议使用mingus在python中模拟钢琴。我正在运行Ubuntu 14.04,并且已经创建了一个音频组并将自己添加到其中。
我正在使用alsa。
我运行了上述问题的答案之一中给出的代码,并且在shell模式下运行良好。但是,当我编写一个python脚本并尝试运行它时,我什么都听不到。这是我的代码:
#!/usr/bin/env python
from mingus.midi import fluidsynth
DEF_FONT_PATH = '/usr/share/sounds/sf2/FluidR3_GM.sf2'
def main():
fluidsynth.init(DEF_FONT_PATH, 'alsa')
fluidsynth.play_Note(80, 0, 80)
if __name__ == '__main__':
main()
我检查了许多其他答案,但似乎找不到解决方案。
最佳答案
我设法解决了。
就像我以前所怀疑的那样,问题似乎是必须在调用fluidsynth.init
之后等待一段时间。但是,由于简单的time.sleep()
无法解决此问题,因此我放弃了这种可能性。
在提示用户提供一些输入来触发音符的演奏之后,声音会很好地播放。
但是,我仍然不确定为什么需要延迟。
关于python - 除了 shell ,使用fluidsynth和mingus没有声音,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34254594/