fin — Read signals from a file at a-rate.
fin ifilename, iskipframes, iformat, ain1 [, ain2] [, ain3] [,...]
fin ifilename, iskipframes, iformat, arr[]
ifilename -- input file name (can be a string or a handle number generated by fiopen).
iskipframes -- number of frames to skip at the start (every frame contains a sample of each channel)
iformat -- a number specifying the input file format for headerless files.
-2 - 32 bit floating points without header
-1 - 16 bit integers without header
0 - take values from the header
fin (file input) is the complement of fout: it reads a multichannel file to generate audio rate signals. The user must be sure that the number of channels of the input file is the same as the number of ainX arguments.
![]() |
Note |
---|---|
Please note that since this opcode generates its output using input parameters (on the right side of the opcode), these variables must be initialized before use, otherwise a 'used before defined' error will occur. You can use the init opcode for this. |
Here is an example of the fin opcode. It uses the file fin.csd and fox.wav.
Example 1330. Example of the fin 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 fin.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 asnd init 0 ;input of fin must be initialized fin "fox.wav", 0, 0, asnd ;read audiofile aenv follow asnd, 0.01 ;envelope follower kenv downsamp aenv asig rand kenv ;gate the noise with audiofile outs asig, asig endin </CsInstruments> <CsScore> i 1 0 3 e </CsScore> </CsoundSynthesizer>