Chapter 3 - Architecture
The Bhajis Loops sound engine as well as its user interface
are based on the following hierarchy:
- The source of everything is... samples. A sample is simply a digital recording
of a sound, with extra looping information. That's all! Samples can be imported
from .WAV files stored on expansion cards, from sample packs, or from a small
sample library stored directly in the application resources. Samples can be
as complex as a drum loop or gamelan break, or as simple as a looped waveform
to provide a basic oscillator.
- An instrument contains a reference to a sample - that is to say, the same
sample can be shared between several instruments - and information about how
to play this sample, such as relative pitch, filter and enveloppe parameters,
etc. The notion of instrument is very similar to the notion of Program
found on hardware samplers.
- The basic bricks to build your songs are notes. A note is described by its
start time, its duration, its pitch, its velocity, the instrument which should
play it, and optional performance parameters that override the instrument
settings (eg pan, cutoff, vibrato depth...).
- A group of notes that are structurally related and likely to be repeated
can be gathered in a pattern. For example, a rhythm or a bassline can be considered
as patterns. The notion of pattern is very similar to the notion of Blocks
manipulated in sequencers such as Logic Audio or Cubase, the only difference
being that a Bhajis Loops pattern can contain notes played
on several different instruments.
- A song is finally made by assembling and chaining patterns together, in
an arrange window like editor.
- Each instrument can be routed to one of the two effect buses. An effect
plug-in can be selected for each bus. The resulting global signal is sent
to a final effect bus.
- Finally, automation curves can be drawn to control the evolution of sound
parameters over time.
That's all! To go further into terminology, a file that contains a complete
song, that is to say: its structure, its patterns, notes, instruments and samples
is named a module.
All contents and code © Olivier Gillet 2003-2006 - ol
dot gillet at gmail dot com
Index - 1 - 2
- 3 - 4 - 5
- 6 - 7
- 8 - 9 - 10
- 11 - 12 - 13
- 14