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

## Examples

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

Example 1058. 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

## 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