[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [fluid-dev] Sample-accurate timing
From: |
Ken Restivo |
Subject: |
Re: [fluid-dev] Sample-accurate timing |
Date: |
Fri, 8 Jun 2007 18:24:54 -0700 |
User-agent: |
Mutt/1.4i |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Thu, Jun 07, 2007 at 03:02:10PM -0700, Nathaniel Gray wrote:
> Hi fluid-devs,
>
> I'm doing a VST/AU/etc embedding of FluidSynth and I've had a lot of
> success so far, but there's one issue I'm not sure about. As usual
> in audio plugin architectures, I've got a callback for rendering a
> "chunk" of audio samples. The callback also gets a list of midi
> events that should occur within the chunk, along with the sample
> offset of each event within the chunk. My current approach is just
> to throw away the offset and trigger every event at the beginning of
> the chunk, since I couldn't see a way to schedule an event without
> using the sequencer interface (which would probably be overkill).
> This is not *too* bad, but I'd really prefer to get sample-accurate
> timing. Is there some way to do this?
>
> BTW, I'll let you know when the plugin is ready for public consumption.
>
> Thanks,
> -n8
>
> PS: I know this is the fluidsynth list, but I know Josh is around
> here and I thought you might want to know that the swami website is
> dead with some trac error.
>
The best and perhaps easiest way to get sample-accurate timing would be to
support JACK MIDI, which is in the currently-released JACK, and will be in the
1.0 JACK release too.
This will also enable a very cool feature: with JACK MIDI, one can dump an
entire MIDI-based sequence to a wav file, in "freewheeling mode" (faster than
RT), in sync with audio tracks using a DAW, an excellent feature for dumping
mixes.
The JACK MIDI API is also reported to be easier and saner than ALSA, and more
reliable, and sample-accurate using the same clock as JACK transport.
- -ken
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFGagFme8HF+6xeOIcRAs6RAJ4nqVBO9j1MUmjH0pDBDkkM7CK8WACgknnA
kToXusjZxlLoJZSYDGTQstg=
=RHFL
-----END PGP SIGNATURE-----