vocoder-audio-0.1.0.0: Phase vocoder for conduit-audio
Copyright(c) Marek Materzok 2021
LicenseBSD2
Safe HaskellNone
LanguageHaskell2010

Vocoder.Audio

Description

This module allows easy frequency-domain processing on audio streams created in conduit-audio.

Synopsis

Documentation

data VocoderAudioSource m Source #

Constructors

VocoderAudioSource 

Fields

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.