filepeak

filepeak — Returns the peak absolute value of a sound file.

Description

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

Performance

filepeak returns the peak absolute value of the sound file ifilcod.

Examples

Here is an example of the filepeak opcode. Play filepeak.csd, and Church.wav

Example 298. Example of the filepeak 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 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

filelen, filenchnls, filesr

Credits

Author: Matt Ingalls
July 1999

New in Csound version 3.57