[Top][All Lists]

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

Re: [fluid-dev] Compiling on Windows - how to use --fast-render?

From: Matt Giuca
Subject: Re: [fluid-dev] Compiling on Windows - how to use --fast-render?
Date: Sun, 11 Mar 2012 11:02:02 +1100

I wouldn't bother with all that Rosegarden stuff. Since Dr. Leo has already almost worked out how to use the fast exporter, it seems much easier than having to manually wire up several GUI programs. Pedro's advice is exactly what I do.

Perhaps I'm biased towards command line, but I find that much easier. I have Makefiles set up to build a MIDI into a properly ID3-tagged OGG and MP3 file in a single command, using a chain of fluidsynth, sox and oggenc (in the OGG case).

On Mar 11, 2012 10:09 AM, "Aere Greenway" <address@hidden> wrote:

I am not a fluidsynth developer, but am on their e-mail list. 

I have experience with respect to converting from MIDI to WAV, on Linux (I realize you use Windows, but I don't have much expertise with Windows). 

On Linux, I would simply import the MIDI file into Rosegarden (a sequence editor), and set it up to play the MIDI track(s) using Qsynth (a wrapper for Fluidsynth). 

In doing that, I would adjust the relative volume levels of the tracks, since every synthesizer is different - even though the General MIDI (GM) voices are used.  I would also adjust the pan (left-to-right positioning) of the instruments for optimum sound. 

Then I would play the piece (in the sequence editor), recording it to an audio track (still within the sequence editor, Rosegarden).  The resulting audio track can then be exported to other formats (such as MP3), if desired, using an audio application such as Audacity, or it can be exported simply as a 16-bit WAV file. 

You can (on Linux) can do it all on your computer, using only your computer's sound card. 

I'm sure there is MIDI software on Windows that can handle audio tracks and MIDI tracks simultaneously, but I am not familiar with what's available on Windows enough to name any. 

If you wanted to use Linux, Qsynth (fluidsynth), and Rosegarden, I have a detailed guide I have written on how to do just that, and would be happy to supply it. 

- Aere

On Sat, 2012-03-10 at 22:08 +0100, Dr.Leo wrote:

thanks. As MinGW does the trick, I am not so keen to recompile it on
MSVC9. I just wanted to share a potential problem. But I realise that
the main problem is in my head rather than in fluidsynth's repository. I
understand that you don't want to officially release windows binaries
for the reasons you mention. But I think it would still be useful. If I
had a website I would probably do it myself, well I have a project on
Google code, but this is unrelated to music.

I've tried the -F option. A .raw file is created but I cannot play it.
SoX reports an error as the sampling rate is not specified. I guess this
is a feature, not a bug. Still I want to use sndfile, but I don't know
how.  The docs are tacit on this. There is a Windows binary of sndfile
alongside with the tarball. I tried to compile the tarball successfully.
but I don't know how to include it in FluidSynth. I thought I'd just
copy sndfile.h in FluidSynth's include dir and the dll and def files of
libfluidsynth in the MinGW lib dir. I know this is very basic and should 
not be on this list. So I would also appreciate any link to a concise 
recipe on compiling multiple libraries etc. but my only goal so far is 
to create wav from midi.

Any further tips?


Am 10.03.2012 16:42, schrieb Pedro Lopez-Cabanillas:
> On Saturday 10 March 2012, Dr.Leo wrote:
>> 1. MSVC9
>> I did not manage to build it. It does not even build libfluidsynth.lib.
>> Is there something wrong with the SLN file? Well, cmake produced an
>> error at some point that did not look serious but may have disrupted the
>> build process. If anyone is interested I'll send the log files etc.
> I would try to help if you post a brief message containing the error messages,
> and the exact versions of the software packages involved.
> By the way, I've built FluidSynth SVN with VC++ 2010 Express just now,
> successfully. I've used:
>  From http://www.cmake.org/cmake/resources/software.html
> - CMake 2.8.7,
>  From http://www.gtk.org/download/win32.php
> - GLib 2.28.8 (Run-time, Dev)
> - gettext-runtime (Run-time, Dev)
> - pkg-config 0.26 (Tool)
> CMake complains about the VC Redist runtime files, which are not included in
> Express anymore, but it is a warning not affecting the build at all.
>> Strangely enough, MSVC9 did not complain about a missing dsound.h etc.
> The DirectX SDK is included in Visual Studio, even in VS Express.
>> I think it would be very useful to host a zip archive with the binaries
>> on sf. If you haven't got a Win32 build environment I'd happily send you
>> my .exe and .dll plus a readme file.
> The problem is that we don't want to decide a particular configuration and
> compiler version to distribute an official Windows build. We don't do that for
> Mac OSX or Linux either. Building all permutations is out of the question:
> there are two compilers (VC++ and MinGW), two main architectures (32 and 64
> bit), and several optional dependencies...
> Building the binaries depends on the exact requirements of each program/user
> using FluidSynth. For instance, including Readline changes the license of the
> resulting library from LGPL to GPL, and this may be discouraging for some
> users. Other optional components in Windows can be Sndfile, Portaudio, and
> Jack. Each one has specific use cases and drawbacks, which are justified if
> you really need the functionality (for instance, if you include some of them
> you need to distribute also their runtime DLL as well.)
>> 3. fast-render
>> I don't understand the syntax. I tried from the cmd line:
>> fluidsynth r3.sf2 -f=output.raw input.mid
>> and it just plays the midi file without writing anything. Any hint would
>> be much appreciated.
> The short argument for fast render is "-F", with a capital F letter. In this
> case, followed by an space and the name of the output file name. The long
> argument is "--fast-render", followed by an equal sign ("=") and the output
> file name. Without the help of Readline, the command line options must go
> before the soundfont and midi file names. So, two correct commands would be:
> 	fluidsynth -F output.raw r3.sf2 input.mid
> or
> 	fluidsynth --fast-render=output.raw r3.sf2 input.mid
> Regards,
> Pedro

fluid-dev mailing list



fluid-dev mailing list

reply via email to

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