GEN23
Prev | Score Statements and GEN Routines | Next

## GEN23

GEN23 — Reads numeric values from a text file.

## Description

This subroutine reads numeric values from an external ASCII file.

## Syntax

    f # time size -23 "filename.txt"

## Initialization

"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
All characters following ';', '#' (comment) or '<' (XML tag from version 6.04) are ignored until next line (numbers too).

## Examples

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

Example 1302. Example of the GEN23 generator.

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, 126, loop			;use all 126 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

## Credits

Author: Gabriel Maldonado
Italy
February, 1998

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

Prev | Up | Next
GEN21 | Home | GEN24