medkit.audio.preprocessing
==========================

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


Submodules
----------

.. toctree::
   :maxdepth: 1

   /reference/api/medkit/audio/preprocessing/downmixer/index
   /reference/api/medkit/audio/preprocessing/power_normalizer/index
   /reference/api/medkit/audio/preprocessing/resampler/index


Classes
-------

.. autoapisummary::

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


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

.. 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:attribute:: output_label


   .. py:attribute:: prevent_clipping
      :value: True



   .. 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:attribute:: output_label


   .. py:attribute:: channel_wise
      :value: False



   .. py:attribute:: target_value
      :value: 1.0



   .. 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


