[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Trouble building/using fluidsynth

From: Justin
Subject: Re: [fluid-dev] Trouble building/using fluidsynth
Date: Mon, 24 Dec 2018 00:53:32 -0500

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']

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.

On Sun, Dec 23, 2018 at 7:09 PM Marcus Weseloh <address@hidden> 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.



Am So., 23. Dez. 2018 um 23:34 Uhr schrieb Justin <address@hidden>:
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?



fluid-dev mailing list
fluid-dev mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]