1 cutter plugin by thomas <thomas@apestaart.org>
5 This plugin emits signals when RMS level of audio signal crosses a
6 threshold for a given amount of time.
8 As soon as the buffer's RMS is greater than the threshold value, the plugin fires a CUT_START signal.
10 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.
12 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.
17 level (between 0 and 1) of threshold
18 GstCutter::threshold_dB
19 level of threshold in dB (between -inf and 0)
21 minimum length (in seconds) before plugin sends cut_stop signal
23 length of pre-recording buffer
28 gets sent when the level of the signal goes above threshold level
30 gets sent when the level of the signal has been below the
31 threshold level for a number of consecutive iterations of which
32 the cumulative length is more than the runlength
36 * RMS value is calculated over the whole data buffer, so
37 the time resolution is limited to the buffer length
38 * RMS value is calculated over all of the channels combined