Python 在windows上安装PyFluidSync

Python 在windows上安装PyFluidSync,python,fluidsynth,Python,Fluidsynth,我正在尝试在windows上安装PyFluidSync。我在命令提示符下使用了pip install pyfluidSync,但当我尝试在python代码中导入fluidSync时,我得到: ModuleNotFoundError: No module named 'FluidSynth' 当我尝试安装fluidSync(通过使用pip安装fluidSync)时,几年前安装了另一个带有fluidSync 0.2的绑定包 有人能提供有关如何在windows上安装和使用PyFluidSync的具

我正在尝试在windows上安装
PyFluidSync
。我在命令提示符下使用了
pip install pyfluidSync
,但当我尝试在python代码中导入
fluidSync
时,我得到:

 ModuleNotFoundError: No module named 'FluidSynth'
当我尝试安装
fluidSync
(通过使用
pip安装fluidSync
)时,几年前安装了另一个带有fluidSync 0.2的绑定包

有人能提供有关如何在windows上安装和使用PyFluidSync的具体细节吗

import FluidSynth

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Program Files\JetBrains\PyCharm 2018.3.2\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'FluidSynth'
导入FluidSync
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\Program Files\JetBrains\PyCharm 2018.3.2\helpers\pydev\\u pydev\u bundle\pydev\u import\u hook.py”,第21行,在do\u import中
模块=self.\u系统\u导入(名称,*args,**kwargs)
ModuleNotFoundError:没有名为“FluidSync”的模块

对于最新的FluidSync版本,似乎没有针对ms windows的预构建二进制文件可用。(请注意,开发现在是在github上完成的;sourceforge站点已经过时了。)最新的源代码版本是

但是FluidSynth wiki已经为在ms windows上构建它做好了准备


注意:FluidSync(更准确地说,是its)是使用
PyFluidSync
的必要条件。请参阅。

为我介绍以下工作:

  • 转到以下内容并下载预编译的(?)FluidSync dll
  • 将FluidSync dll的目录添加到path环境变量
  • 在PyFluidSync包中。找到“fluidsynth.py”文件,并编辑正在查找库“lib=find_library('fluidsynth')…”的部分,以搜索dll名称,对于64位版本,该名称为“libfluidsynth64”
  • 无论出于何种原因(可能是版本不匹配),函数“fluid\u synth\u set\u reverb\u full”和“fluid\u synth\u set\u chorus\u full”都不受支持,因此请将这些行从“fluidsynth.py”中注释掉
  • 就这样。保存“fluidSync.py”并启动cmd,进入python并导入fluidSync
  • 我还没有测试FluidSync的所有功能,但使用pretty_midi,我至少能够通过乐器声音字体播放midi


    希望这有帮助

    在Windows上安装FluidSync

    从github下载FluidSync二进制文件:

    将提取的zip文件的bin添加到路径: 例如:C:\Users*您在此处的用户名****您提取的zip***\FluidSync-2.1.6-win10-x64\bin的路径

    下载FluidSync python库:python FluidSync的存储库是: .

    提取后,必须安装:

    python setup.py install
    
    解压缩的master.zip文件包含fluidSync.py。此python文件是要“导入”到python代码中的文件。在test文件夹中有example.sf2,用于安装测试:这两个文件的路径需要设置为您自己的位置

    import time
    import fluidsynth
    
    fs = fluidsynth.Synth()
    fs.start()
    
    sfid = fs.sfload("example.sf2")
    fs.program_select(0, sfid, 0, 0)
    
    fs.noteon(0, 60, 30)
    fs.noteon(0, 67, 30)
    fs.noteon(0, 76, 30)
    
    time.sleep(1.0)
    
    fs.noteoff(0, 60)
    fs.noteoff(0, 67)
    fs.noteoff(0, 76)
    
    time.sleep(1.0)
    
    fs.delete()
    

    上面的python代码示例只播放了一个注释。让它工作起来,确认一切正常。

    谢谢。由于我希望使用PyFluidSync,我想知道是否必须预先安装FluidSync。此外,使用PyFluidSync的建议安装是什么(在“pip安装PyFluidSync”之后使用命令“导入FluidSync”需要什么@david查看更新的答案。如果您查看共享库链接,您将看到当无法找到FluidSync的共享库时,
    PyFluidSync
    会引发
    ImportError
    。谢谢。我努力使用MinGW安装FluidSync,最终成功。我可以运行FluidSync.exe,并获得了libFluidSync-2.dll文件(不是libfluidsynth-1.dll)。我将文件名更改为libfluidsynth-1.dll,并将其放在项目主目录中(我使用pyCharm)。运行时出错:OSError:[WinError 193]%1不是有效的Win32应用程序。知道吗?@david当程序试图启动一个位置不在
    $PATH
    中的程序时,通常会发生此错误。
    %1
    应该是该程序的名称,但windows没有填写它。@david:您同时成功运行pyFluiSynth了吗?我遇到了相同的问题你在这里提出的问题()