packages feed

synthesizer-inference-0.2: src/Synthesizer/Inference/Monad/Play.hs

module Synthesizer.Inference.Monad.Play where

import qualified Synthesizer.Basic.Binary as BinSmp

import qualified Synthesizer.Inference.Monad.Signal  as SigI
import qualified Synthesizer.Physical.Play     as PlayP

import qualified Algebra.OccasionallyScalar as OccScalar
import qualified Algebra.VectorSpace        as VectorSpace
import qualified Algebra.Field              as Field
import qualified Algebra.RealField          as RealField

import System.Exit(ExitCode)


toInt16 ::
   (RealField.C a, Field.C q, Ord q, BinSmp.C v,
    OccScalar.C a q, VectorSpace.C a v) =>
   q -> q -> SigI.Process a q v -> IO ExitCode
toInt16 freqUnit amp proc =
   PlayP.toInt16 freqUnit amp (SigI.run proc)