Copyright | (c) Marek Materzok 2021 |
---|---|
License | BSD2 |
Safe Haskell | None |
Language | Haskell2010 |
This module wraps phase vocoder algorithms for use in Conduit. Two variants are provided, one for single channel processing, and another for processing multiple channels synchronously.
Synopsis
- volumeFix :: Monad m => VocoderParams -> ConduitT STFTFrame STFTFrame m ()
- analysis :: Monad m => VocoderParams -> Phase -> ConduitT Frame STFTFrame m Phase
- synthesis :: Monad m => VocoderParams -> Phase -> ConduitT STFTFrame Frame m Phase
- processFrames :: Monad m => VocoderParams -> (Phase, Phase) -> ConduitT STFTFrame STFTFrame m r -> ConduitT Frame Frame m (r, (Phase, Phase))
- volumeFixF :: (Applicative f, Monad m) => VocoderParams -> ConduitT (f STFTFrame) (f STFTFrame) m ()
- analysisF :: (Applicative f, Monad m) => VocoderParams -> f Phase -> ConduitT (f Frame) (f STFTFrame) m (f Phase)
- synthesisF :: (Applicative f, Monad m) => VocoderParams -> f Phase -> ConduitT (f STFTFrame) (f Frame) m (f Phase)
- processFramesF :: (Applicative f, Monad m) => VocoderParams -> (f Phase, f Phase) -> ConduitT (f STFTFrame) (f STFTFrame) m r -> ConduitT (f Frame) (f Frame) m (r, (f Phase, f Phase))
Single-channel functions
volumeFix :: Monad m => VocoderParams -> ConduitT STFTFrame STFTFrame m () Source #
Corrects for volume change introduced by STFT processing.
analysis :: Monad m => VocoderParams -> Phase -> ConduitT Frame STFTFrame m Phase Source #
Perform the phase vocoder analysis phase.
synthesis :: Monad m => VocoderParams -> Phase -> ConduitT STFTFrame Frame m Phase Source #
Perform the phase vocoder synthesis phase.
processFrames :: Monad m => VocoderParams -> (Phase, Phase) -> ConduitT STFTFrame STFTFrame m r -> ConduitT Frame Frame m (r, (Phase, Phase)) Source #
Perform frequency domain processing.
Multi-channel functions
volumeFixF :: (Applicative f, Monad m) => VocoderParams -> ConduitT (f STFTFrame) (f STFTFrame) m () Source #
Corrects for volume change introduced by STFT processing.
analysisF :: (Applicative f, Monad m) => VocoderParams -> f Phase -> ConduitT (f Frame) (f STFTFrame) m (f Phase) Source #
Perform the phase vocoder analysis phase.
synthesisF :: (Applicative f, Monad m) => VocoderParams -> f Phase -> ConduitT (f STFTFrame) (f Frame) m (f Phase) Source #
Perform the phase vocoder synthesis phase.
processFramesF :: (Applicative f, Monad m) => VocoderParams -> (f Phase, f Phase) -> ConduitT (f STFTFrame) (f STFTFrame) m r -> ConduitT (f Frame) (f Frame) m (r, (f Phase, f Phase)) Source #
Perform frequency domain processing.