cutcutcodec.core.filter.mix.audio_cast
Basic linear casts between different audio layouts.
For coefficient downmixing, based on https://www.rfc-editor.org/rfc/rfc7845#section-5.1.1.5 and http://www.atsc.org/wp-content/uploads/2015/03/A52-201212-17.pdf p96
Classes
|
Combine the matrix in order to find the complete transformation chain. |
|
Convertion of a specific layout thanks the transition matrix. |
Details
- class cutcutcodec.core.filter.mix.audio_cast.AudioConvertor(in_layout: Layout | str | Integral, out_layout: Layout | str | Integral)[source]
Combine the matrix in order to find the complete transformation chain.
Examples
>>> import torch >>> _ = torch.manual_seed(0) >>> from cutcutcodec.core.classes.frame_audio import FrameAudio >>> from cutcutcodec.core.filter.mix.audio_cast import AudioConvertor >>> frame_in = FrameAudio(0, 1, "5.1", torch.randn((6, 1024))) >>> (conv := AudioConvertor("5.1", "mono")) AudioConvertor('5.1', 'mono') >>> torch.round(conv(frame_in), decimals=3) FrameAudio(0, 1, 'mono', [[-0.296, 0.279, -0.775, ..., -2.045, -2.013, -0.316]]) >>> torch.round( ... AudioConvertor("stereo", "mono")(AudioConvertor("5.1", "stereo")(frame_in)), decimals=3 ... ) FrameAudio(0, 1, 'mono', [[-0.296, 0.279, -0.775, ..., -2.045, -2.013, -0.316]]) >>>
Initialise and create the class.
Parameters
- in_layoutcutcutcodec.core.classes.layout.Layout
Casted and transmitted to
cutcutcodec.core.filter.mix.audio_cast.LinearAudioConvertinitialisator.- out_layoutcutcutcodec.core.classes.layout.Layout
Casted and transmitted to
cutcutcodec.core.filter.mix.audio_cast.LinearAudioConvertinitialisator.
- class cutcutcodec.core.filter.mix.audio_cast.LinearAudioConvertor(in_layout: Layout, out_layout: Layout, matrix: ndarray[float64])[source]
Convertion of a specific layout thanks the transition matrix.
Parameters
- in_layoutcutcutcodec.core.classes.layout.Layout
The layout of the input frames (readonly).
- out_layoutcutcutcodec.core.classes.layout.Layout
The layout of the converted frames (readonly).
Initialise and create the class.
Parameters
- in_layoutcutcutcodec.core.classes.layout.Layout
The layout of the input frames.
- out_layoutcutcutcodec.core.classes.layout.Layout
The layout of the converted frames.
- matrixarray
The linear transformation matrix.