GEN23 — Reads numeric values from a text file.


This subroutine reads numeric values from an external ASCII file.


f # time size -23 "filename.txt"


"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.

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] Note

All characters following ';', '#' (comment) or '<' (XML tag from version 6.04) are ignored until next line (numbers too).


Here is an example of the GEN23 generator. It uses the file gen23.csd and spectrum.txt.

Example 1203. Example of the GEN23 generator.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; 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

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
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, 126, loop			;use all 128 frequency and amplitude values


instr 10 ;generate sound

iamp  = p4
ifreq = p5
asig  poscil ampdb(iamp), ifreq, 1
asig  linen asig, .01, p3, p2
      outs  asig, asig

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


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

f 2 0 128 -23 "spectrum.txt" - not normalized


Author: Gabriel Maldonado
February, 1998

New in Csound version 3.47. Comments starting with '#' are ignored from Csound version 5.12.