My program is basically like the program “TabIt” except I am using a
recording of an instument playing each note. This probably takes up
too much memory, so I would rather use soundfonts.
No resampling that is; the sounds always play at the rate they were
recorded? Well, that would consume quite some memory… (Sound
libraries for direct-from-disk streaming samplers are often made this
way, but that’s not an issue when you can have gigabytes of samples.)
That said, you still need a few different samples to cover the full
pitch range of most instruments, but the looping, modulation and
filtering capabilities of SoundFonts still makes it possible to get
pretty good sound out of relatively small amounts of data.
I just didn’t know how. So I will look into Fluidsynth and
Audiality.
Well, Audiality will handle the resampling, looping, volume envelopes
and some simple effects, but that’s about it for the real time
sampleplayer part. The focus is on the script (*.agw) driven modular
synthesizer, rendering waveforms at load time. Saves an incredible
lot of disk/download space, but it takes a great deal of synth
programming experience to get anything sensible out of it.
Are there any tutorials on how to use them with SDL? Thank you for
your help.
Audiality supports SDL audio directly, so it’s just a matter of
telling it which driver to use. Well, not even that - SDL audio is
the default output driver.
Anyway, there are some command line
tools and examples in the “test” directory in the source archive.
Anyway, Audiality and FluidSynth can take care of audio I/O on their
own, so what you do normally is just use one of them for audio, and
SDL for graphics, leaving the SDL audio API alone.
//David Olofson - Programmer, Composer, Open Source Advocate
.------- http://olofson.net - Games, SDL examples -------.
| http://zeespace.net - 2.5D rendering engine |
| http://audiality.org - Music/audio engine |
| http://eel.olofson.net - Real time scripting |
’-- http://www.reologica.se - Rheology instrumentation --'On Wednesday 10 January 2007 03:33, Nathan Pierluissi wrote: