prealloc — Creates space for instruments but does not run them.
insnum -- instrument number
icount -- number of instrument allocations
“insname” -- A string (in double-quotes) representing a named instrument.
All instances of prealloc must be defined in the header section, not in the instrument body.
Here is an example of the prealloc opcode. It uses the file prealloc.csd.
Example 338. Example of the prealloc opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in No messages -odac -iadc -d ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o prealloc.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Pre-allocate memory for five instances of Instrument #1. prealloc 1, 5 ; Instrument #1 instr 1 ; Generate a waveform, get the cycles per second from the 4th p-field. a1 oscil 6500, p4, 1 out a1 endin </CsInstruments> <CsScore> ; Just generate a nice, ordinary sine wave. f 1 0 32768 10 1 ; Play five instances of Instrument #1 for one second. ; Note that 4th p-field contains cycles per second. i 1 0 1 220 i 1 0 1 440 i 1 0 1 880 i 1 0 1 1320 i 1 0 1 1760 e </CsScore> </CsoundSynthesizer>