> Hi,
>
> I'm starting up my first audio project, adding realtime audio support
> to a MIDI program I've developed. I'm looking for resources on the
> principles of audio sequencer development, so I don't have to reinvent
> the wheel. All I have to do at first is take in realtime input and do
> some basic DSP on it. I can find lots of books and resources on DSP
> topics, but not audio-sequencer specific.
>
The principles can be summarized in a sentence: low-latency audio thread
+ background control thread (e.g. GUI) + some form of message-passing
connection between them = standard model-view-controller system.
I don't think there are any books as such, but there is lots of source
code out there. A list of GPL audio hosts for LADSPA plugins (etc) is here:
http://www.ladspa.org
Check out Rosegarden, for example. IIRC, it started as a MIDI app and
later added audio. Other projects probably did it the other way, adding
MIDI support to an audio application.
Csound also has a wide variety of GUI front ends these days.
"Audio sequencer" can mean a lot of different things (most wheels are
round, but come in different sizes and materials, and serve different
purposes). Single-track? Multi-track? Graph-based? And what platform you
are on make a difference too. A widely used cross-platform audio
streaming API supporting full-duplex audio i/o is portaudio
(www.portaudio.com).
You will find many more kindred spirits on this subject on the musicdsp
mailing list.
Richard Dobson
Reply by ●April 22, 20082008-04-22
Hi,
I'm starting up my first audio project, adding realtime audio support
to a MIDI program I've developed. I'm looking for resources on the
principles of audio sequencer development, so I don't have to reinvent
the wheel. All I have to do at first is take in realtime input and do
some basic DSP on it. I can find lots of books and resources on DSP
topics, but not audio-sequencer specific.
I have lots of MIDI programming experience, and with realtime, multi-
threaded development. Any kind of training resources would be greatly
appreciated!
Cheers,
Michael