GEN23 — Reads numeric values from a text file.
"filename.txt" -- numeric values contained in "filename.txt" (which indicates the complete pathname of the character file to be read), can be separated by spaces, tabs, newline characters or commas. Also, words that contains non-numeric characters can be used as comments since they are ignored.
size -- number of points in the table. Must be a power of 2 , power of 2 + 1, or zero. If size = 0, table size is determined by the number of numeric values in filename.txt. (New in Csound version 3.57)
![]() |
Note |
---|---|
All characters following ';' or '#' (comment) are ignored until next line (numbers too). |
Here is an example of the GEN23 opcode. It uses the file gen23.csd and spectrum.txt.
Example 1091. Example of the GEN23 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 -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o gen23.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 ;"spectrum.txt" is created by the spectrum plotter of Audacity (set at size 128), using "fox.wav". instr 1 ;performs additive synthesis based on spectrum.txt indx =0 ;start reading at first value loop: ifreq tab_i indx, 2 ;take odd values of list (= frequency) iamp tab_i indx+1, 2 ;take even values of list (= amplitude) event_i "i", 10, 0, p3, iamp, ifreq ;use "event_i" to trigger instr. 10 loop_lt indx, 2, 128, loop ;use all 128 frequency and amplitude values endin instr 10 ;generate sound iamp = p4 ifreq = p5 asig poscil ampdb(iamp), ifreq, 1 asig linen asig, .01, p3, p2 outs asig, asig endin </CsInstruments> <CsScore> f 1 0 16384 10 1 ;sine wave f 2 0 128 -23 "spectrum.txt" ;"spectrum.txt" can be found in /manual/examples i1 0 2 e </CsScore> </CsoundSynthesizer>
This is the diagram of the waveform of the GEN23 routine, as used in the example:
f 2 0 128 -23 "spectrum.txt" - not normalized