filenchnls — Returns the number of channels in a sound file.


Returns the number of channels in a sound file.


ir filenchnls ifilcod [, iallowraw]


ifilcod -- sound file to be queried

iallowraw -- (Optional) Allow raw sound files (default=1)


filenchnls returns the number of channels in the sound file ifilcod. filechnls can return the number of channels of convolve and PVOC files if the iallowraw flag is not zero (it is non-zero by default).


Here is an example of the filenchnls opcode. It uses the file filenchnls.csd, fox.wav, and kickroll.wav.

Example 293. Example of the filenchnls opcode.

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 filechnls.wav -W ;;; for file output any platform

sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1

instr 1 ; choose between mono or stereo file

ilen   filelen p4	;calculate length of soundfile
;print  ilen
ichn filenchnls  p4	;check number of channels
print  ichn

if (ichn == 1) then
;mono signal
asig diskin2 p4, 1	
     outs    asig, asig

;stereo signal
aL, aR diskin2 p4, .5, 0, 1 
       outs    aL, aR



i 1 0 3 "fox.wav"	;mono signal
i 1 5 2 "kickroll.wav"	;stereo signal


The audio file fox.wav is monoaural (1 channel), while kickroll.wav is stereo (2 channels) So filenchnls's output should include lines like this:

instr 1:  ichn = 1.000
instr 1:  ichn = 2.000

See Also

filebit, filelen, filepeak, filesr


Author: Matt Ingalls
July 1999

New in Csound version 3.57