Safe Haskell | Safe-Inferred |
---|
Low level rendering of Sample.Sample
s.
Synopsis
- render :: Resample.Config -> RealTime.RealTime -> Sample.Sample -> IO AUtil.Audio
- ratioCloseEnough :: Y -> Bool
- envelopeDuration :: RealTime.RealTime -> Signal.Signal -> Maybe RealTime.RealTime
- predictFileDuration :: Double -> Signal.Signal -> FilePath -> IO Frames
Documentation
render :: Resample.Config -> RealTime.RealTime -> Sample.Sample -> IO AUtil.Audio Source #
ratioCloseEnough :: Y -> Bool Source #
More or less a semitone 100 cents 10. Anything narrower than this probably isn't perceptible.
envelopeDuration :: RealTime.RealTime -> Signal.Signal -> Maybe RealTime.RealTime Source #
Get the duration implied by the envelope, or Nothing if the envelope won't shorten the duration.
If the envelope ends on a 0, I can clip the sample short. Not just for performance, but because checkpoints rely on the note durations being accurate.
predictFileDuration :: Double -> Signal.Signal -> FilePath -> IO Frames Source #
Predict how long a sample will be if resampled with the given ratio signal.