synthesizer-0.0.3: Audio signal processing coded in HaskellSource codeContentsIndex
Synthesizer.Inference.Reader.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 :: (C y, 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 :: (C y, 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 :: (C y, 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 :: (C y, 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' yv)Source
drop :: (C t, C t', C t t') => t' -> T t t' (T y y' yv -> T y y' yv)Source
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)Source
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 :: (C y, Ord y', C y', C y y', C y yv) => T t t' ([T y y' yv] -> T y y' yv)Source
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' yv)Source
Give the output volume explicitly. Does also work for infinite lists.
append :: (C y, 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)Source
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)Source
zip :: (C y, 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 :: (C y, 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) -> T y y' yv)
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) -> T y y' yv)
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.3.0