synthesizer-0.2.0.1: Audio signal processing coded in HaskellSource codeContentsIndex
Synthesizer.SampleRateContext.Cut
Portabilityrequires multi-parameter type classes
Stabilityprovisional
Maintainersynthesizer@henning-thielemann.de
Contents
dissection
glueing
Description
Synopsis
splitAt :: (C t, C t', C t t') => t' -> T t t' -> T y y' yv -> (T y y' yv, T y y' yv)
take :: (C t, C t', C t t') => t' -> T t t' -> T y y' yv -> T y y' yv
drop :: (C t, C t', C t t') => t' -> T t t' -> T y y' yv -> T y y' yv
takeUntilPause :: (C t, C t', C t t', C y', C y yv, C y y') => y' -> t' -> T t t' -> T y y' yv -> T y y' yv
unzip :: T t t' -> T y y' (yv0, yv1) -> (T y y' yv0, T y y' yv1)
unzip3 :: T t t' -> T y y' (yv0, yv1, yv2) -> (T y y' yv0, T y y' yv1, T y y' yv2)
concat :: (Ord y', C y', C y y', C y yv) => T t t' -> [T y y' yv] -> T y y' yv
concatVolume :: (C y', C y y', C y yv) => y' -> T t t' -> [T y y' yv] -> T y y' yv
append :: (Ord y', C y', C y y', C y yv) => T t t' -> T y y' yv -> T y y' yv -> T y y' yv
appendVolume :: (C y', C y y', C y yv) => y' -> T t t' -> T y y' yv -> T y y' yv -> T y y' yv
zip :: (Ord y', C y', C y y', C y yv0, C y yv1) => T t t' -> T y y' yv0 -> T y y' yv1 -> T y y' (yv0, yv1)
zipVolume :: (C y', C y y', C y yv0, C y yv1) => y' -> T t t' -> T y y' yv0 -> T y y' yv1 -> T y y' (yv0, yv1)
zip3 :: (Ord y', C y', C y y', C y yv0, C y yv1, C y yv2) => T t t' -> T y y' yv0 -> T y y' yv1 -> T y y' yv2 -> T y y' (yv0, yv1, yv2)
zip3Volume :: (C y', C y y', C y yv0, C y yv1, C y yv2) => y' -> T t t' -> T y y' yv0 -> T y y' yv1 -> T y y' yv2 -> T y y' (yv0, yv1, yv2)
arrange :: (C t', C t t', RealFrac t, C t, Ord y', C y', C y y', C y yv) => t' -> T t t' -> T t (T y y' yv) -> T y y' yv
arrangeVolume :: (C t', C t t', RealFrac t, C t, C y', C y y', C y yv) => y' -> t' -> T t t' -> T t (T y y' yv) -> T y y' yv
dissection
splitAt :: (C t, C t', C t t') => t' -> T t t' -> T y y' yv -> (T y y' yv, T y y' yv)Source
take :: (C t, C t', C t t') => t' -> T t t' -> T y y' yv -> T y y' yvSource
drop :: (C t, C t', C t t') => t' -> T t t' -> T y y' yv -> T y y' yvSource
takeUntilPause :: (C t, C t', C t t', C y', C y yv, C y y') => y' -> t' -> T t t' -> T y y' yv -> T y y' yvSource
unzip :: T t t' -> T y y' (yv0, yv1) -> (T y y' yv0, T y y' yv1)Source
unzip3 :: T t t' -> T y y' (yv0, yv1, yv2) -> (T y y' yv0, T y y' yv1, T y y' yv2)Source
glueing
concat :: (Ord y', C y', C y y', C y yv) => T t t' -> [T y y' yv] -> T y y' yvSource
Similar to foldr1 append but more efficient and accurate, because it reduces the number of amplifications. Does not work for infinite lists, because no maximum amplitude can be computed.
concatVolume :: (C y', C y y', C y yv) => y' -> T t t' -> [T y y' yv] -> T y y' yvSource
Give the output volume explicitly. Does also work for infinite lists.
append :: (Ord y', C y', C y y', C y yv) => T t t' -> T y y' yv -> T y y' yv -> T y y' yvSource
appendVolume :: (C y', C y y', C y yv) => y' -> T t t' -> T y y' yv -> T y y' yv -> T y y' yvSource
zip :: (Ord y', C y', C y y', C y yv0, C y yv1) => T t t' -> T y y' yv0 -> T y y' yv1 -> T y y' (yv0, yv1)Source
zipVolume :: (C y', C y y', C y yv0, C y yv1) => y' -> T t t' -> T y y' yv0 -> T y y' yv1 -> T y y' (yv0, yv1)Source
zip3 :: (Ord y', C y', C y y', C y yv0, C y yv1, C y yv2) => T t t' -> T y y' yv0 -> T y y' yv1 -> T y y' yv2 -> T y y' (yv0, yv1, yv2)Source
zip3Volume :: (C y', C y y', C y yv0, C y yv1, C y yv2) => y' -> T t t' -> T y y' yv0 -> T y y' yv1 -> T y y' yv2 -> T y y' (yv0, yv1, yv2)Source
arrangeSource
:: (C t', C t t', RealFrac t, C t, Ord y', C y', C y y', C y yv)
=> t'Unit of the time values in the time ordered list.
-> T t t'
-> T t (T y y' yv)A list of pairs: (relative start time, signal part), The start time is relative to the start time of the previous event.
-> T y y' yvThe mixed signal.
Uses maximum input volume as output volume.
arrangeVolumeSource
:: (C t', C t t', RealFrac t, C t, C y', C y y', C y yv)
=> y'Output volume.
-> t'Unit of the time values in the time ordered list.
-> T t t'
-> T t (T y y' yv)A list of pairs: (relative start time, signal part), The start time is relative to the start time of the previous event.
-> T y y' yvThe mixed signal.
Given a list of signals with time stamps, mix them into one signal as they occur in time. Ideally for composing music. Infinite schedules are not supported. Does not work for infinite lists, because no maximum amplitude can be computed.
Produced by Haddock version 2.4.2