[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [fluid-dev] fluid_synth_one_block()'s use of only fx_left_buf and n
From: |
David Henningsson |
Subject: |
Re: [fluid-dev] fluid_synth_one_block()'s use of only fx_left_buf and not fx_right_buf |
Date: |
Wed, 22 Jul 2009 16:14:25 +0200 |
User-agent: |
Thunderbird 2.0.0.22 (X11/20090608) |
Stephen Hazel skrev:
> From what I can grok, the call progression for rendering seems to be:
> fluid_synth_write_s16() calls
If you want to have 16-bit output, that's correct. If you want 32-bit
output, you will start with another call. Anyway if I didn't overlook
something, as fluid_synth_write_s16() calls fluid_synth_one_block() with
"do_not_mix_fx_to_out" to 0, which means that fx_right_buf is never used
and fx_left_buf is used as a mono reverb/chorus buffer.
> It's good, but maaaan, when I see all those funky symbols and such
> i start to freak out :(
> If somebody rattles off "bresenhem line algorithm" (or whatever), I freak.
Yeah, sometimes it's easier to understand things just reading the
source, instead of trying to understand all the math behind it :-)
> I'd like to tack on a .mid + .sf2 => .wav bit of functionality.
> (not .SF2, actually, I split sf2 presets into .WAVs and an ascii file
> that describes each preset.)
Fluidsynth almost has render-to-wave functionality. Current status of
that is: In version 1.0.9 you can do render to raw with the -a file
option, but it will be just as slow as playing the tune in real-time. In
the upcoming version (and present in SVN), there is the -F switch that
will render at the pace that your computer can handle. What's left to
implement is to render to another file format than raw (wave / ogg / mp3
/ etc), which will probably be done by linking with libaudiofile or
libsndfile.
// David