FFmpeg 7.1
Since* 0.9
#

Generate an audio signal specified by an expression.

This source accepts in input one or more expressions (one for each channel), which are evaluated and used to generate a corresponding audio signal.

This source accepts the following options:

exprs

Set the ’|’-separated expressions list for each separate channel. In case the channel_layout option is not specified, the selected channel layout depends on the number of provided expressions. Otherwise the last specified expression is applied to the remaining output channels.

channel_layout, c

Set the channel layout. The number of channels in the specified layout must be equal to the number of specified expressions.

duration, d

Set the minimum duration of the sourced audio. See the Time duration section in the ffmpeg-utils(1) manual for the accepted syntax. Note that the resulting duration may be greater than the specified duration, as the generated audio is always cut at the end of a complete frame.

If not specified, or the expressed duration is negative, the audio is supposed to be generated forever.

nb_samples, n

Set the number of samples per channel per each output frame, default to 1024.

sample_rate, s

Specify the sample rate, default to 44100.

Each expression in exprs can contain the following constants:

n

number of the evaluated sample, starting from 0

t

time of the evaluated sample expressed in seconds, starting from 0

s

sample rate

#

Examples

  • Generate silence:

    aevalsrc=0
  • Generate a sin signal with frequency of 440 Hz, set sample rate to 8000 Hz:

    aevalsrc="sin(440*2*PI*t):s=8000"
  • Generate a two channels signal, specify the channel layout (Front Center + Back Center) explicitly:

    aevalsrc="sin(420*2*PI*t)|cos(430*2*PI*t):c=FC|BC"
  • Generate white noise:

    aevalsrc="-2+random(0)"
  • Generate an amplitude modulated signal:

    aevalsrc="sin(10*2*PI*t)*sin(880*2*PI*t)"
  • Generate 2.5 Hz binaural beats on a 360 Hz carrier:

    aevalsrc="0.1*sin(2*PI*(360-2.5/2)*t) | 0.1*sin(2*PI*(360+2.5/2)*t)"