Copyright | (c) Marek Materzok 2021 |
---|---|
License | BSD2 |
Safe Haskell | None |
Language | Haskell2010 |
This module allows easy frequency-domain processing on audio streams
created in conduit-audio
.
Synopsis
- data VocoderAudioSource m = VocoderAudioSource {}
- concatenateV :: Monad m => VocoderAudioSource m -> VocoderAudioSource m -> VocoderAudioSource m
- sourceVocoder :: Monad m => VocoderAudioSource m -> AudioSource m Double
- sourceVocoderWithPhase :: Monad m => Phase -> VocoderAudioSource m -> AudioSource m Double
- processAudio :: Monad m => VocoderParams -> Filter m -> AudioSource m Double -> AudioSource m Double
- processAudioWithPhase :: Monad m => VocoderParams -> Phase -> Filter m -> AudioSource m Double -> AudioSource m Double
- processVocoderAudio :: Monad m => VocoderParams -> Filter m -> AudioSource m Double -> VocoderAudioSource m
Documentation
data VocoderAudioSource m Source #
concatenateV :: Monad m => VocoderAudioSource m -> VocoderAudioSource m -> VocoderAudioSource m Source #
Connects the end of the first vocoder source to the beginning of the second. The two sources must have the same sample rate, channel count, vocoder hop size and frame length.
sourceVocoder :: Monad m => VocoderAudioSource m -> AudioSource m Double Source #
Creates an audio source from a vocoder source.
sourceVocoderWithPhase :: Monad m => Phase -> VocoderAudioSource m -> AudioSource m Double Source #
Creates an audio source from a vocoder source, with initial phase provided.
processAudio :: Monad m => VocoderParams -> Filter m -> AudioSource m Double -> AudioSource m Double Source #
Applies a conduit filter to an audio stream.
processAudioWithPhase :: Monad m => VocoderParams -> Phase -> Filter m -> AudioSource m Double -> AudioSource m Double Source #
Applies a conduit filter to an audio stream, with initial phase provided.
processVocoderAudio :: Monad m => VocoderParams -> Filter m -> AudioSource m Double -> VocoderAudioSource m Source #
Applies a conduit filter to an audio stream, producing a vocoder stream. This allows to seamlessly concatenate audio streams for vocoder processing.