:py:mod:`medkit.audio.preprocessing`
====================================

.. py:module:: medkit.audio.preprocessing


Submodules
----------
.. toctree::
   :titlesonly:
   :maxdepth: 1

   downmixer/index.rst
   power_normalizer/index.rst
   resampler/index.rst


Package Contents
----------------

Classes
~~~~~~~

.. autoapisummary::

   medkit.audio.preprocessing.Downmixer
   medkit.audio.preprocessing.PowerNormalizer




.. py:class:: Downmixer(output_label: str, prevent_clipping: bool = True, uid: str | None = None)


   Bases: :py:obj:`medkit.core.audio.PreprocessingOperation`

   
   Downmixing operation converting multichannel audio signals to mono.


   :Parameters:

       **output_label** : str
           Label of output downmixed segments.

       **prevent_clipping** : bool, default=True
           If `True`, normalize downmixed signals by number of channels to prevent clipping.

       **uid** : str, optional
           Identifier of the downmixer.














   ..
       !! processed by numpydoc !!
   .. py:method:: run(segments: list[medkit.core.audio.Segment]) -> list[medkit.core.audio.Segment]

      
      Return a downmixed segment for each segment in `segments`.


      :Parameters:

          **segments** : list of Segment
              Audio segments to downmix.

      :Returns:

          list of Segment
              Downmixed segments, one per segment in `segments`.













      ..
          !! processed by numpydoc !!

   .. py:method:: _downmix_segment(segment: medkit.core.audio.Segment) -> medkit.core.audio.Segment



.. py:class:: PowerNormalizer(output_label: str, target_value: float = 1.0, channel_wise: bool = False, uid: str | None = None)


   Bases: :py:obj:`medkit.core.audio.PreprocessingOperation`

   
   Normalization operation setting the RMS power of each audio signal to a target value.


   :Parameters:

       **output_label** : str
           Label of output normalized segments.

       **target_value** : float, default=1.0
           Value to set the RMS power of each segment to.

       **channel_wise** : bool, default=False
           If `True`, the normalization is performed per-channel, thus modifying
           the balance of multichannel signals.

       **uid** : str, optional
           Identifier of the normalizer.














   ..
       !! processed by numpydoc !!
   .. py:method:: run(segments: list[medkit.core.audio.Segment]) -> list[medkit.core.audio.Segment]

      
      Return a normalized segment for each segment in `segments`.


      :Parameters:

          **segments** : list of Segment
              Audio segments to normalize.

      :Returns:

          list of Segment
              Power-normalized segments, one per segment in `segments`.













      ..
          !! processed by numpydoc !!

   .. py:method:: _normalize_segment(segment: medkit.core.audio.Segment) -> medkit.core.audio.Segment



