carpeDM: music improvisation software
carpeDM is pir8-x's technomancy
how does it work?
It's like having three synchronized virtual turntables. The performer
can choose to play all three turntables simultaneously, or play
any combination of the three. ( For instance, the audience hears
decks one and three while the technomancer
changes the platter on deck two. )
Of course, we're not talking about actual turntables here... we're
talking about three full-featured synchronized audio-MIDI sequencers.
( Audio-MIDI sequencers are what your favorite producers use to
create your favorite studio tracks. ) So, the technomancer
can actually be remixing platter two while the audience hears
decks one and three.
All of this runs comfortably on a PII 266 celeron laptop, including
real-time performance effects ( i.e. resonant filters on individual
parts ), streaming CD quality digital audio tracks, and wavetable
synthesis ( i.e. a sampler ). No special external hardware is required;
however, MIDI in/out and joystick input ( for real-time control
) are supported.
The application engine is written in C++. It uses Microsoft's DirectX
8 DirectAudio API for MIDI event playback and synchronization, digital
audio streaming, DLS L2 wavetable synthesis, controller I/O, and
The performance interface is written in Visual Basic to allow for
rapid prototyping. ( CarpeDM is constantly evolving. Every show
teaches PIr8_x something new. ) The C++
engine is encapsulated in a .dll which is accessed by the VB shell.
Content ( MIDI sequences, streaming audio, and wavetable synthesis
instruments ) is assembled in DirectMusic Producer. DMP is the audio
content development environment that Microsoft provides for the
DirectX DirectAudio API.