athenaCL Tutorial Manual: Third Edition, Version 2.0.0a15 | ||
---|---|---|
Prev | Chapter 4. Tutorial 4: Creating and Editing Textures | Next |
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 Section 2.6. 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.
Example 4-1. 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:
Example 4-2. 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