Thanks for the quick reply! Installing the dependencies via homebrew fixed my issue, and fluidsynth can now do the conversion for me locally! However, I'm facing another issue now, which probably comes from the fact that I compiled the code on my mac, and I'm trying to run it on AWS lambda (which I think runs Amazon Linux):
File "/var/lang/lib/python3.7/subprocess.py", line 1516, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) OSError: [Errno 8] Exec format error: 'fluidsynth_exec/fluidsynth' The (python) code which raises this error is as follows: fluidsynth_command = ['fluidsynth_exec/fluidsynth', '-ni', tmp_sf2_file_name, tmp_mid_file_name, '-F', tmp_wav_file_name, '-r', '44100'] subprocess.check_call(fluidsynth_command) This code works locally for me, so I guess I need to cross-compile fluidsynth to work on AWS lambda. Do you have any experience with this? Unfortunately, most of the literature I'm finding on cmake and cross-compilation seems really opaque, and I can't even find anything that mentions how to make it work for Amazon Linux. I'm especially uncertain about doing this cross compilation, since it'll need to rely on libsndfile, which presumably is built for mac osx on my machine. Thanks, Justin On Sun, Dec 23, 2018 at 7:09 PM Marcus Weseloh <mar...@weseloh.cc> wrote: > Hi Justin, > > you probably compiled Fluidsynth without libsndfile support, so the > resulting audio is a raw 16-bit signed dual-channel float audio file (so > not a .wav file with proper headers). You can either convert this raw file > to wav using some tool, or install libsndfile-dev (or whatever it's called > in your distribution) before building fluidsynth. > > Cheers, > > Marcus > > Am So., 23. Dez. 2018 um 23:34 Uhr schrieb Justin <justin2...@gmail.com>: > >> Hello, I'm trying to compile a fluidsynth binary. For my application, I >> need a way to convert from midi to mp3 on an AWS lambda, and I thought that >> using fluidsynth would be the best way. These are the steps I took: >> >> >> 1. Clone fluidsynth from here: >> https://github.com/FluidSynth/fluidsynth >> 2. Created build directory and ran 'cmake ..' from build directory >> 3. Ran 'make fluidsynth' from build directory. This seemed to create >> a binary file called 'fluidsynth' in build/src directory >> 4. Downloaded a sound font file from >> https://github.com/urish/cinto/blob/master/media/FluidR3%20GM.sf2 >> (renamed to sf.sf2 for convenience >> >> >> Running the binary gave the following output: >> >> > fluidsynth -ni sf.sf2 some_midi.mid -F output.wav -r 44100 >> >> FluidSynth runtime version 2.0.2 >> >> Copyright (C) 2000-2018 Peter Hanappe and others. >> >> Distributed under the LGPL license. >> >> SoundFont(R) is a registered trademark of E-mu Systems, Inc. >> >> >> >> >> Rendering audio to file 'output.wav'.. >> >> >> However, when I tried to play the output.wav file that was generated, it >> just gave a short loud click/pop. >> >> >> I'm not sure what I'm doing wrong. Could someone give me some advice for >> how to figure out how to get this working? Or is there a better way for me >> to get fluidsynth to work on AWS lambda? >> >> >> Thanks! >> >> Justin >> >> >> _______________________________________________ >> fluid-dev mailing list >> fluid-dev@nongnu.org >> https://lists.nongnu.org/mailman/listinfo/fluid-dev >> > _______________________________________________ > fluid-dev mailing list > fluid-dev@nongnu.org > https://lists.nongnu.org/mailman/listinfo/fluid-dev >
_______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/fluid-dev