filepeak
Returns the peak absolute value of a sound file.
Syntax
ir filepeak ifilcod [, ichnl]
Initialization
ifilcod -- sound file to be queried
ichnl (optional, default=0) -- channel to be used in calculating the peak value. Default is 0.
- ichnl = 0 returns peak value of all channels
- ichnl > 0 returns peak value of ichnl
filepeak returns the peak absolute value of the sound file ifilcod.
Examples
Here is an example of the filepeak opcode. It uses the file filepeak.csd, and Church.wav.
Example of the filepeak opcode. |
---|
| <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 filepeak.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1
instr 1
iscaldb = p4 ;set peak amplitude in dB
ipeak filepeak "Church.wav"
iscal = ampdb(iscaldb)/ipeak ;calculate amp multiplier
printf_i "\nPeak value in file '%s' is %f (%.3f dB).\n\n", 1, "Church.wav", ipeak, dbamp(ipeak)
asnd soundin "Church.wav"
outs asnd, asnd
; scale & write file to disk
asig = asnd*iscal ;scale to p4
fout "Church_norm.wav", 14, asig
endin
instr 2 ; play scaled file
aout soundin "Church_norm.wav"
ipknew filepeak "Church_norm.wav"
printf_i "\nPeak value in file '%s' is %f (%.3f dB).\n\n", 1, "Church_norm.wav", ipknew, dbamp(ipknew)
outs aout, aout
endin
</CsInstruments>
<CsScore>
i 1 0 2 -6 ; normalize audio to -6 dB
i 2 2 2
e
</CsScore>
</CsoundSynthesizer>
|
The filepeak's output should include lines like this:
Peak value in file 'Church.wav' is 0.909363 (-0.825 dB).
Peak value in file 'Church_norm.wav' is 0.501190 (-6.000 dB).
See also
Sound File Queries
Credits
Author: Matt Ingalls
July 1999
New in Csound version 3.57