[Top][All Lists]

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

Re: [fluid-dev] supercharged fluidsynth

From: Josh Green
Subject: Re: [fluid-dev] supercharged fluidsynth
Date: Tue, 22 Apr 2008 22:59:35 -0700

On Tue, 2008-04-22 at 12:57 +0100, cryptoguru wrote:
> Hi All,
> Has anyone looked at the possibility of using CUDA to benefit from the
> PC's graphics card (NVidia DirectX10 cards) as a way of supercharging
> fluidsynth?
> CUDA allows an application to use the graphics processor and graphics
> card memory as fully accessible device allowing data to be bussed to
> and from the card
> and allowing parallel process applications to be sent to the card for
> it to run.
> You can use all the parallel processors on the GPU (128 on most of the
> cards - with as many as 512 when using 2 9800 GX2 cards) to do all the
> hard work.
> I don't know what the biggest overhead in fluidsynth is (cos I have no
> knowledge of the code-base) but I'm guessing you're probably
> modulating wav files
>  and mixing them together.
> Does fluidsynth just fire out 1 pre-mixed stereo audio stream - or
> does it send multiple streams for the soundcard to mix?
> I don't understand how this works.
> Anyway whether its the hardware or software that's doing the hard
> work, CUDA would allow a massive speed-up.
> You could use 2 processors per polyphonic note (for stereo) giving you
> 64 note polyphony for the standard cards and 256 notes for a multiple
> SLI configuration.
> [SLI is a Motherboard feature that allows multiple card to be
> installed in one PC on different PCI-E busses and it manages the
> distribution of all processing]
> Also the clock speed of these processors is 1500 MHZ for most of the
> enabled cards. Processing sound would be much faster than realtime per
> processor.
> The effective computational power of just one of the high end cards is
> 768GFlops ... that's over 1.5TeraFlops when using 2 cards in an SLI
> system.
> There will be quite a few people who have these cards already
> installed in their PCs (if bought recently).
> Is this of any interest?
> -- 
> </stu> 

Certainly seems interesting to me.  Realistically though, I think there
are a lot of other things that are higher priority.

Having said that though, I am curious what kind of processing
instructions can be sent to the GPU and if this standard is open enough
to be able to use from Linux.

FluidSynth uses audio samples (could be thought of as multiple wav
files, but in reality they are all packed into a single file in the case
of SoundFont files).  Samples are played back at varying pitch with
interpolation to which envelopes and oscillator control is applied to
various synthesis parameters (volume, pitch, filter).  This could be
called a single voice, which is then mixed with other active voices and
sent as stereo to the sound card.


reply via email to

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