mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-22 16:26:39 +00:00
38 lines
1.5 KiB
Text
38 lines
1.5 KiB
Text
cutter plugin by thomas <thomas@apestaart.org>
|
|
|
|
SYNOPSIS
|
|
|
|
This plugin emits signals when RMS level of audio signal crosses a
|
|
threshold for a given amount of time.
|
|
|
|
As soon as the buffer's RMS is greater than the threshold value, the plugin fires a CUT_START signal.
|
|
|
|
When the buffer's RMS level drops below the threshold value for a consecutive run length longer than the given runlength, it sends a CUT_STOP signal.
|
|
|
|
When a pre-recording buffer is used, the plugin will delay throughput of data when it's in "silent" mode for a maximum length equal to the pre-recording buffer length. As soon as the input level crosses the threshold level, this pre-recorded buffer is flushed to the src pad (so you can actually record the audio just before the threshold crossing) after sending the signal.
|
|
|
|
ARGUMENTS
|
|
|
|
GstCutter::threshold
|
|
level (between 0 and 1) of threshold
|
|
GstCutter::threshold_dB
|
|
level of threshold in dB (between -inf and 0)
|
|
GstCutter::runlength
|
|
minimum length (in seconds) before plugin sends cut_stop signal
|
|
GstCutter::prelength
|
|
length of pre-recording buffer
|
|
|
|
SIGNALS
|
|
|
|
CUT_START
|
|
gets sent when the level of the signal goes above threshold level
|
|
CUT_STOP
|
|
gets sent when the level of the signal has been below the
|
|
threshold level for a number of consecutive iterations of which
|
|
the cumulative length is more than the runlength
|
|
|
|
LIMITATIONS
|
|
|
|
* RMS value is calculated over the whole data buffer, so
|
|
the time resolution is limited to the buffer length
|
|
* RMS value is calculated over all of the channels combined
|