cutcutcodec.core.edit.generalize.delay_to_fir
Convert a filter delay into a convlolution.
Functions
|
Replace the properties of the delay node by the properties of a conv node. |
Details
- cutcutcodec.core.edit.generalize.delay_to_fir.delay_to_fir(graph: MultiDiGraph, *, node: str)[source]
Replace the properties of the delay node by the properties of a conv node.
Works only for audio streams.
Examples
>>> from pprint import pprint >>> from cutcutcodec.core.classes.container import ContainerOutput >>> from cutcutcodec.core.compilation.tree_to_graph import tree_to_graph >>> from cutcutcodec.core.edit.generalize.delay_to_fir import delay_to_fir >>> from cutcutcodec.core.filter.audio.delay import FilterAudioDelay >>> from cutcutcodec.core.generation.audio.noise import GeneratorAudioNoise >>> out = ContainerOutput(FilterAudioDelay(GeneratorAudioNoise(0).out_streams, 1).out_streams) >>> graph = tree_to_graph(out) >>> >>> pprint(dict(graph.nodes("state"))) {'container_output_1': {}, 'filter_audio_delay_1': {'delay': '1'}, 'generator_audio_noise_1': {'layout': 'stereo', 'seed': 0.0}} >>> pprint(list(graph.edges)) [('filter_audio_delay_1', 'container_output_1', '0->0'), ('generator_audio_noise_1', 'filter_audio_delay_1', '0->0')] >>> delay_to_fir(graph) >>> pprint(dict(graph.nodes("state"))) {'container_output_1': {}, 'filter_audio_fir_1': {'fir_encoded': 'XQAAAAT//////////wAAb/3//6O3/0c+SBVyOWFRuJIo5qOGB/n...', 'fir_rate': 48000}, 'generator_audio_noise_1': {'layout': 'stereo', 'seed': 0.0}} >>> pprint(list(graph.edges)) [('generator_audio_noise_1', 'filter_audio_fir_1', '0->0'), ('filter_audio_fir_1', 'container_output_1', '0->0')] >>>