Introduction Instrument Models
athenaCL features numerous integrated instrument models. In some cases these instrument models are references to external specifications; in other cases these instrument models contain complete source code necessary for instantiating synthesis systems. Textures are assigned an instrument from an Orchestra upon creation, and are able to control a wide variety of instrument-specific parameters.
athenaCL features an integrated library of Csound instruments, providing automated control of both Csound score and orchestra generation and control. For details on installing and using Csound within athenaCL, see . Csound instruments are signal processing and synthesis instructions. These instructions designates a certain number of parameters to expose to the user of the instrument. These parameters allow events in the score to communicate information and settings to the instrument. athenaCL's integrated library of Csound instruments permits dynamically constructed orchestra files to be used with athenaCL-generated Csound scores. Alternatively, users can use external, custom orchestras with athenaCL-written score files. EventModes csoundNative, csoundExternal, and csoundSilence support diverse ways of working with Csound within athenaCL.
athenaCL provides instrument collections (Orchestras) for working with other EventOutput formats. For working with MIDI systems, General MIDI (GM) instrument definitions are provided with the generalMidi and generalMidiPercussion EventModes.
Whenever a Texture is created, an instrument must be specified by number. This is necessary because the Texture must be configured with additional ParameterObjects for instrument-specific parameter control. Instruments are always identified by a number, though within athenaCL descriptive names are provided when available.
The instruments available during Texture creation are dependent on the active EventMode: that is, for any active EventMode, one Orchestra is available from which a Texture's instrument must be selected. In the following example, the user lists available EventModes to check that csoundNative is active, and then views the available instruments with the EMi command.
Listing available Instruments with EMi
pi{}ti{} :: emls
EventMode modes available:
{name}
csoundExternal
+ csoundNative
csoundSilence
midi
midiPercussion
superColliderNative
pi{}ti{} :: emi
csoundNative instruments:
{number,name}
3 sineDrone
4 sineUnitEnvelope
5 sawDrone
6 sawUnitEnvelope
11 noiseWhite
12 noisePitched
13 noiseUnitEnvelope
14 noiseTambourine
15 noiseUnitEnvelopeBandpass
16 noiseSahNoiseUnitEnvelope
17 noiseSahNoiseUnitEnvelopeDistort
20 fmBasic
21 fmClarinet
22 fmWoodDrum
23 fmString
30 samplerReverb
31 samplerRaw
32 samplerUnitEnvelope
33 samplerUnitEnvelopeBandpass
34 samplerUnitEnvelopeDistort
35 samplerUnitEnvelopeParametric
36 samplerSahNoiseUnitEnvelope
40 vocodeNoiseSingle
41 vocodeNoiseSingleGlissando
42 vocodeNoiseQuadRemap
43 vocodeNoiseQuadScale
44 vocodeNoiseQuadScaleRemap
45 vocodeNoiseOctScale
46 vocodeNoiseOctScaleRemap
47 vocodeNoiseBiOctScale
48 vocodeNoiseTriOctScale
50 guitarNylonNormal
51 guitarNylonLegato
52 guitarNylonHarmonic
60 additiveBellBright
61 additiveBellDark
62 additiveBellClear
70 synthRezzy
71 synthWaveformVibrato
72 synthVcoAudioEnvelopeSineQuad
73 synthVcoAudioEnvelopeSquareQuad
74 synthVcoDistort
80 pluckTamHats
81 pluckFormant
82 pluckUnitEnvelope
110 noiseAudioEnvelopeSineQuad
111 noiseAudioEnvelopeSquareQuad
130 samplerAudioEnvelopeSineQuad
131 samplerAudioEnvelopeSquareQuad
132 samplerAudioFileEnvelopeFilter
133 samplerAudioFileEnvelopeFollow
140 vocodeSineOctScale
141 vocodeSineOctScaleRemap
142 vocodeSineBiOctScale
143 vocodeSineTriOctScale
144 vocodeSineQuadOctScale
145 vocodeSinePentOctScale
146 vocodeSineHexOctScale
230 samplerVarispeed
231 samplerVarispeedAudioSine
232 samplerVarispeedReverb
233 samplerVarispeedDistort
234 samplerVarispeedSahNoiseDistort
240 vocodeVcoOctScale
241 vocodeVcoOctScaleRemap
Other EventModes provide other Orchestras for use in Textures. In the example below, the user selects the EventMode midiPercussion with the EMo command and examines the available instruments with the EMi command:
Examining additional Instruments with EMi
pi{}ti{} :: emo mp
EventMode mode set to: midiPercussion.
pi{}ti{} :: emi
generalMidiPercussion instruments:
{number,name}
35 acousticBassDrum
36 bassDrum1
37 sideStick
38 acousticSnare
39 handClap
40 electricSnare
41 lowFloorTom
42 closedHiHat
43 highFloorTom
44 pedalHiHat
45 lowTom
46 openHiHat
47 lowMidTom
48 hiMidTom
49 crashCymbal1
50 highTom
51 rideCymbal1
52 chineseCymbal
53 rideBell
54 tambourine
55 splashCymbal
56 cowBell
57 crashCymbal2
58 vibraSlap
59 rideCymbal2
60 hiBongo
61 lowBongo
62 muteHiConga
63 openHiConga
64 lowConga
65 highTimbale
66 lowTimbale
67 highAgogo
68 lowAgogo
69 cabasa
70 maracas
71 shortWhistle
72 longWhistle
73 shortGuiro
74 longGuiro
75 claves
76 hiWoodBlock
77 lowWoodBlock
78 muteCuica
79 openCuica
80 muteTriangle
81 openTriangle