|
Synthesizer.Dimensional.RateAmplitude.Cut | Portability | requires multi-parameter type classes | Stability | provisional | Maintainer | synthesizer@henning-thielemann.de |
|
|
|
|
|
Description |
|
|
Synopsis |
|
splitAt :: (C t, C u, C v, Storable yv) => T u t -> T s u t (R s v y yv -> (R s v y yv, R s v y yv)) | | take :: (C t, C u, C v) => T u t -> T s u t (R s v y yv -> R s v y yv) | | drop :: (C t, C u, C v) => T u t -> T s u t (R s v y yv -> R s v y yv) | | takeUntilPause :: (C t, C u, C y, C y yv, C v) => T v y -> T u t -> T s u t (R s v y yv -> R s v y yv) | | unzip :: (C u, C v) => T s u t (R s v y (yv0, yv1) -> (R s v y yv0, R s v y yv1)) | | unzip3 :: (C u, C v) => T s u t (R s v y (yv0, yv1, yv2) -> (R s v y yv0, R s v y yv1, R s v y yv2)) | | leftFromStereo :: C u => T s u t (R s u y (T yv) -> R s u y yv) | | rightFromStereo :: C u => T s u t (R s u y (T yv) -> R s u y yv) | | concat :: (Ord y, C y, C v, C y yv) => T s u t ([R s v y yv] -> R s v y yv) | | concatVolume :: (C y, C v, C y yv) => T v y -> T s u t ([R s v y yv] -> R s v y yv) | | append :: (Ord y, C y, C v, C y yv) => T s u t (R s v y yv -> R s v y yv -> R s v y yv) | | appendVolume :: (C y, C v, C y yv) => T v y -> T s u t (R s v y yv -> R s v y yv -> R s v y yv) | | zip :: (Ord y, C y, C v, C y yv0, C y yv1) => T s u t (R s v y yv0 -> R s v y yv1 -> R s v y (yv0, yv1)) | | zipVolume :: (C y, C v, C y yv0, C y yv1) => T v y -> T s u t (R s v y yv0 -> R s v y yv1 -> R s v y (yv0, yv1)) | | zip3 :: (Ord y, C y, C v, C y yv0, C y yv1, C y yv2) => T s u t (R s v y yv0 -> R s v y yv1 -> R s v y yv2 -> R s v y (yv0, yv1, yv2)) | | zip3Volume :: (C y, C v, C y yv0, C y yv1, C y yv2) => T v y -> T s u t (R s v y yv0 -> R s v y yv1 -> R s v y yv2 -> R s v y (yv0, yv1, yv2)) | | mergeStereo :: (Ord y, C y, C v, C y yv) => T s u t (R s v y yv -> R s v y yv -> R s v y (T yv)) | | mergeStereoVolume :: (C y, C v, C y yv) => T v y -> T s u t (R s v y yv -> R s v y yv -> R s v y (T yv)) | | arrange :: (C t, C u, RealFrac t, C t, Ord y, C y, C v, C y yv) => T u t -> T s u t (T t (R s v y yv) -> R s v y yv) | | arrangeVolume :: (C t, C u, RealFrac t, C t, C y, C v, C y yv) => T v y -> T u t -> T s u t (T t (R s v y yv) -> R s v y yv) |
|
|
|
dissection
|
|
|
|
take :: (C t, C u, C v) => T u t -> T s u t (R s v y yv -> R s v y yv) | Source |
|
|
drop :: (C t, C u, C v) => T u t -> T s u t (R s v y yv -> R s v y yv) | Source |
|
|
takeUntilPause :: (C t, C u, C y, C y yv, C v) => T v y -> T u t -> T s u t (R s v y yv -> R s v y yv) | Source |
|
|
unzip :: (C u, C v) => T s u t (R s v y (yv0, yv1) -> (R s v y yv0, R s v y yv1)) | Source |
|
|
unzip3 :: (C u, C v) => T s u t (R s v y (yv0, yv1, yv2) -> (R s v y yv0, R s v y yv1, R s v y yv2)) | Source |
|
|
leftFromStereo :: C u => T s u t (R s u y (T yv) -> R s u y yv) | Source |
|
|
rightFromStereo :: C u => T s u t (R s u y (T yv) -> R s u y yv) | Source |
|
|
glueing
|
|
concat :: (Ord y, C y, C v, C y yv) => T s u t ([R s v y yv] -> R s v 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 v, C y yv) => T v y -> T s u t ([R s v y yv] -> R s v y yv) | Source |
|
Give the output volume explicitly.
Does also work for infinite lists.
|
|
append :: (Ord y, C y, C v, C y yv) => T s u t (R s v y yv -> R s v y yv -> R s v y yv) | Source |
|
|
appendVolume :: (C y, C v, C y yv) => T v y -> T s u t (R s v y yv -> R s v y yv -> R s v y yv) | Source |
|
|
zip :: (Ord y, C y, C v, C y yv0, C y yv1) => T s u t (R s v y yv0 -> R s v y yv1 -> R s v y (yv0, yv1)) | Source |
|
|
zipVolume :: (C y, C v, C y yv0, C y yv1) => T v y -> T s u t (R s v y yv0 -> R s v y yv1 -> R s v y (yv0, yv1)) | Source |
|
|
zip3 :: (Ord y, C y, C v, C y yv0, C y yv1, C y yv2) => T s u t (R s v y yv0 -> R s v y yv1 -> R s v y yv2 -> R s v y (yv0, yv1, yv2)) | Source |
|
|
zip3Volume :: (C y, C v, C y yv0, C y yv1, C y yv2) => T v y -> T s u t (R s v y yv0 -> R s v y yv1 -> R s v y yv2 -> R s v y (yv0, yv1, yv2)) | Source |
|
|
mergeStereo :: (Ord y, C y, C v, C y yv) => T s u t (R s v y yv -> R s v y yv -> R s v y (T yv)) | Source |
|
|
mergeStereoVolume :: (C y, C v, C y yv) => T v y -> T s u t (R s v y yv -> R s v y yv -> R s v y (T yv)) | Source |
|
|
|
:: (C t, C u, RealFrac t, C t, Ord y, C y, C v, C y yv) | | => T u t | Dim of the time values in the time ordered list.
| -> T s u t (T t (R s v y yv) -> R s v y yv) | The mixed signal.
| Uses maximum input volume as output volume.
|
|
|
|
:: (C t, C u, RealFrac t, C t, C y, C v, C y yv) | | => T v y | Output volume.
| -> T u t | Dim of the time values in the time ordered list.
| -> T s u t (T t (R s v y yv) -> R s v y yv) | The 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 |