|
HPKComposer, a 3D Art composition tool for
Csound - version 2.1
Here is a brief
description of the main characteristics. For a more
complete description, click on the "GUI" button
on the left.
The overall objective of HPKComposer is to
be an authoring tool that lets you
- HPKComposer simplifies the use of Csound,
through a graphical user interface, by the
use of algorithmic generators for building
the score events, and by allowing sound design
with the help of software synthesizers.
The virtual synthetizer pluggable structure
allows the use of different software synthetizer
that are all using Csound. Three are providing:
- HPKSynthe
has a classical structure made of sound
generators, filters and modulators, and
complety hides the Csound synthesis
language,
- Csounds
Orc allows the direct use of the Csound opcodes
through a text editor.
- Modular allows to build modular synthetizers where
modules are high level Csound opcodes.
- The algorithmic generators are based on CMask,
and have been extended (fractal,random patterns
list, multi segment generator, polyphonic
support, scale quantification, randomization).
A score is made of up to 8 Structures, each
one having its own algorithmic generator,
and using one of the 8 Instruments. High
level tools are available, like chord morphing,
clouds generator and step sequencer.
- The
definition of the instrument parameters is
dynamic, they are defined in the virtual
synthesizer editor and then controlled in the
Structure editor using any of the algorithmic
generators.
- It is possible to generate VRML97 world where
graphical objects transformations can be
linked to instrument parameters values, or
modifyied by external MIDI devices.
- Csound
compilation is launched from HPKComposer.
- A MIDI file
can also be generated from the note events
Structures.
- The
resulting sound file can be played from
HPKComposer using an external sound player.
Score
The score is
made of 8 structures that can be individually activated.
Each structure is assigned to one of the 8 available
Instruments. A structure represents how the score events
will be generated, and when. Each note event is defined
by several parameters: start time, duration, pitch
(primary and 3 optional secondary values for polyphonic
pitch), amplitude, and 16 controllers that are assigned
to the Instrument parameters in the Instrument editor.
For each event parameter, you specify the evolution using
a generator, a mask modifier and a quantifier. The range
of every parameters, except those related to the timing
of the event, are normalised to 127. This simplifies the
editing, the copy operations and allow easy integration
with MIDI controls.
HPKSynthe
software synthesizer
Its structure is common in the synthesizer
world: four sound generators can be routed
or not through a transformation module (ring
modulation and filters), and through up to
8 global effects (delay and reverberations).
Some sound generators and filters parameters
can be modulated by LFO, envelopes or random
generators.
Sound generators
are extensible by writing Java classes, but a fairly
complete sound palette is available in standard.
- Pluck,
pluck opcode
- Granular
sampler, sound file as grains, taken from CMask
- Granular,
grain opcode
- FM with
waveshaping
- Simple
oscillator
- Risset
pseudo-flanger
- Sawtooth
oscillator (band limited impulse train), from
Hans Mikelson
- Pulse
oscillator, from Hans Mikelson
- Analog VCO
- Lyon double
resonated noise
- Randi
pitched noise
- Pink Noise
- Electric
Priest (Tobias Enhus)
- Electric
Priest Aaah (Tobias Enhus)
- Variable
Spectrum Oscillator (gbuzz opcode)
3D world
builder
The 3D world
editor lets you describe a background theme for the
world, how the produced sounds are places in it, and let
you add pre-defined graphical objects, that can follow or
not sound evolution. You can also describe how external
MIDI device can interoperate with this 3D world. As in
fact a graphical object can also be a sound file, it is
possible to add external sound files to the scene and to
mix them using external MIDI device. The supported MIDI
interactions are note, velocity and controler messages.
|