cutcutcodec.core.filter.audio.subclip

Selects a time slice of an audio stream.

Classes

FilterAudioSubclip(in_streams[, delay, ...])

Extract a segment from an audio stream.

Details

class cutcutcodec.core.filter.audio.subclip.FilterAudioSubclip(in_streams: Iterable[Stream], delay: Real = Fraction(0, 1), duration_max: Real = inf)[source]

Extract a segment from an audio stream.

It is a particular case of cutcutcodec.core.filter.audio.cut.FilterAudioCut. Allows to start a flow after the beginning and or finish it before the end.

A sample is reachable if it feel totaly in the interval \(\left[t_0, t_0+\delta\right]\). Assuming a sample rate \(s_r\), let consider the sample as a door function in the interval \(\left[t, t+\frac{1}{s_r}\right]\).

The sample is defined if it is include in the interval. ie raise OutOfTimeRange if \(t \in \left]-\infty, t_0\right[ \cup \left[t_0+\delta-s_r, +\infty\right[\).

Examples

>>> from cutcutcodec.core.filter.audio.subclip import FilterAudioSubclip
>>> from cutcutcodec.core.generation.audio.noise import GeneratorAudioNoise
>>>
>>> (s_a,) = GeneratorAudioNoise(0).out_streams
>>> (s_b,) = GeneratorAudioNoise(0).out_streams
>>> s_subclip_a, s_subclip_b = FilterAudioSubclip([s_a, s_b], 10, 20).out_streams
>>>
>>> s_subclip_a.beginning
Fraction(10, 1)
>>> s_subclip_a.duration
Fraction(20, 1)
>>> s_subclip_b.beginning
Fraction(10, 1)
>>> s_subclip_b.duration
Fraction(20, 1)
>>>

Initialise and create the class.

Parameters

in_streamstyping.Iterable[Stream]

Transmitted to cutcutcodec.core.classes.filter.Filter.

delay: numbers.Real, default=0

Transmitted to cutcutcodec.core.filter.subclip.FilterSubClip.

duration_maxnumbers.Real, default=inf

Transmitted to cutcutcodec.core.filter.subclip.FilterSubClip.