2011-04-25 23 views
6

Nie mogę zaimportować płynów. [Może jest lepszy moduł?]pyton syntezuje midi z płynem

Próbuję zsyntetyzować midi z Pythona lub pygame. Mogę wysyłać zdarzenia midi z pygame. Używam mingus i wydawało się, że pyfluidsynth będzie dobry/najprostszy.

Myślę, że to oznacza, że ​​pyfluidsynth jest zainstalowany, ale oddzielny płyn nie był. Nie wiem, czy wymaga on instalatora "fluidsynth"?

test.py:

import fluidsynth 
print ":(" 

błąd:

Traceback (most recent call last): 
    File "test.py", line 1, in <module> 
    import fluidsynth 
    File "C:\Users\jake\AppData\Roaming\Python\Python27\site-packages\fluidsynth.py", line 34, in <module> 
    raise ImportError, "Couldn't find the FluidSynth library." 
ImportError: Couldn't find the FluidSynth library. 

za pomocą: python 2.7-win32

+0

czy próbowałeś https://github.com/MostAwesomeDude/pyfluidsynth? – endolith

Odpowiedz

0

Patrząc na fluidsynth.py, Twój przypuszczenie jest prawdopodobnie rację. Powinieneś spróbować umieścić fluidsynth.dll gdzieś w ścieżce wyszukiwania biblioteki twojego systemu (najprawdopodobniej byłby to ten sam katalog, co twój skrypt lub fluidsynth.py).

myślę to archiwum (znalezione przez google) zawiera niezbędne win32 binarny: http://svn.drdteam.org/zdoom/fluidsynth.7z

3

Moduł fluidsynth pyton szuka pliku biblioteki binarne FluidSynth (tj fluidsynth.dll).

W tym celu można pobrać, skompilować i zainstalować http://sourceforge.net/projects/fluidsynth/files/fluidsynth-1.1.3/

LUB

być może uda się znaleźć projekty z wykorzystaniem fluidsynth (tj QSynth), które zawierają skompilowane kopie pliku .dll dostać.

3

Tak, potrzebujesz również libli FuildSynth (plik dll dla systemu Windows).

Aby współpracuje z:

  • płyn synthsynth 1.1.6
  • python26 (32bits)
  • pyFluidSynth 1.1.4
  • Okna

Włożyłam everythings w tym samym katalogu (Fluidsynth dll, PyFluidSynth Module, skrypt Pythona).

i zmienia następujące linie w modułach pyFluidSynth (z linią 30):

# A short circuited or expression to find the FluidSynth library 
# (mostly needed for Windows distributions of libfluidsynth supplied with QSynth) 
# and Dynamically link the FluidSynth library 

lib = find_library('fluidsynth') or find_library('libfluidsynth') or find_library('libfluidsynth-1') 
if lib is None: 
    _fl = ctypes.cdll.LoadLibrary("./libfluidsynth") 
    lib = "ok"; 
else: 
    _fl = CDLL(lib) 

if lib is None: 
    raise ImportError, "Couldn't find the FluidSynth library." 


# Helper function for declaring function prototypes 

Współpracuje z tej instalacji.