module Synthesizer.Inference.Reader.Play where import qualified BinarySample 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 auto :: (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 () auto freqUnit amp sampleRate proc = PlayP.auto freqUnit amp (SigR.run sampleRate proc)