cutcutcodec.core.filter.audio.cat

Allow to temporarily concatenate several audio streams.

Classes

FilterAudioCat(in_streams)

Concatenate the streams end-to-end.

Details

class cutcutcodec.core.filter.audio.cat.FilterAudioCat(in_streams: Iterable[Stream])[source]

Concatenate the streams end-to-end.

Examples

>>> import torch
>>> from cutcutcodec.core.filter.audio.cat import FilterAudioCat
>>> from cutcutcodec.core.filter.audio.subclip import FilterAudioSubclip
>>> from cutcutcodec.core.generation.audio.noise import GeneratorAudioNoise
>>>
>>> (s_audio_0,) = FilterAudioSubclip(GeneratorAudioNoise(0).out_streams, 0, 10).out_streams
>>> (s_audio_1,) = GeneratorAudioNoise(.5).out_streams
>>> (s_chain_audio,) = FilterAudioCat([s_audio_0, s_audio_1]).out_streams
>>>
>>> (
...     s_chain_audio.snapshot(0, 1, 20) == torch.cat(
...         (s_audio_0.snapshot(0, 1, 10), s_audio_1.snapshot(0, 1, 10)), 1
...     )
... ).all()
tensor(True)
>>>