filepeak
Prev | Orchestra Opcodes and Operators | Next

## 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. It uses the file filepeak.csd, and Church.wav.

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

Prev | Up | Next
filenchnls | Home | filesr