synthesizer-inference-0.2: src/Synthesizer/Inference/Reader/Play.hs
module Synthesizer.Inference.Reader.Play where
import qualified Synthesizer.Basic.Binary as BinSmp
import qualified Synthesizer.Inference.Reader.Signal as SigR
import qualified Synthesizer.Inference.Reader.Process as ProcR
import qualified Synthesizer.Physical.Play as PlayP
import qualified Algebra.OccasionallyScalar as OccScalar
import qualified Algebra.VectorSpace as VectorSpace
import qualified Algebra.RealField as RealField
import qualified Algebra.Field as Field
import System.Exit(ExitCode)
toInt16 ::
(RealField.C t, BinSmp.C yv,
Field.C t', OccScalar.C t t',
Field.C y', OccScalar.C y y',
VectorSpace.C y yv) =>
t' -> y' -> t' -> ProcR.T t t' (SigR.T y y' yv) -> IO ExitCode
toInt16 freqUnit amp sampleRate proc =
PlayP.toInt16 freqUnit amp (SigR.run sampleRate proc)