我正尝试按照 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() 无法解决这个问题,我放弃了这种可能性。
提示用户提供一些输入以触发音符播放后,声音播放正常。
但是,我仍然不确定为什么需要延迟。
