synthesizer-0.2: synthesizer.cabal
Name: synthesizer
Version: 0.2
License: GPL
License-File: LICENSE
Author: Henning Thielemann <haskell@henning-thielemann.de>
Maintainer: Henning Thielemann <haskell@henning-thielemann.de>
Homepage: http://www.haskell.org/haskellwiki/Synthesizer
Category: Sound
Synopsis: Audio signal processing coded in Haskell
Description:
Audio signal processing
featuring both low-level functions
and high-level functions which use physical units,
abstract from the sample rate and are really fast
due to StorableVector, Stream-like list type and aggressive inlining.
For an interface to Haskore see <http://darcs.haskell.org/haskore-synthesizer/>.
For introductory examples see "Synthesizer.Plain.Tutorial"
and "Synthesizer.Generic.Tutorial".
For an overview of the organization of the package
and the discussion of various design issues see "Synthesizer.Overview".
Stability: Experimental
Tested-With: GHC==6.4.1, GHC==6.8.2
Cabal-Version: >=1.6
Build-Type: Simple
Extra-Source-Files:
Makefile
src/OsciDiffEq.hs
src-3/Synthesizer/Causal/Process.hs
src-4/Synthesizer/Causal/Process.hs
src-4/Synthesizer/Inference/DesignStudy/Applicative.hs
src-4/Synthesizer/Inference/DesignStudy/Monad.hs
src-4/Synthesizer/Inference/DesignStudy/Arrow.hs
Flag splitBase
description: Choose the new smaller, split-up base package.
Flag category
description: Check whether Arrow class is split into Arrow and Category.
Flag optimizeAdvanced
description: Enable advanced optimizations. They slow down compilation considerably.
default: True
Flag buildExamples
description: Build example executables
default: False
Flag buildProfilers
description: Build executables for investigating efficiency of code
default: False
Flag buildTests
description: Build test suite
default: False
Source-Repository this
Tag: 0.2
Type: darcs
Location: http://darcs.haskell.org/synthesizer/
Source-Repository head
Type: darcs
Location: http://darcs.haskell.org/synthesizer/
Library
Build-Depends:
transformers >=0.0.1 && <0.2,
event-list >=0.0.8 && <0.1,
non-negative >=0.0.5 && <0.1,
numeric-prelude >=0.1.1 && <0.2,
utility-ht >=0.0.5 && <0.1,
storable-record >=0.0.1 && <0.1,
sox >=0.0 && <0.1,
gnuplot >=0.2 && <0.4,
-- numeric-quest/Orthogonals is only needed by Filter.Graph
numeric-quest >= 0.1 && <0.2,
-- bytestring and binary are only needed by SpeedTest
bytestring >= 0.9 && <0.10,
binary >=0.1 && <1,
storablevector >=0.2.2 && <0.3,
filepath >=1.1 && <1.2,
-- for ST.Lazy.read
-- QuickCheck is needed for Filter.Delay.Block
QuickCheck >=1 && <2
If flag(category)
Hs-Source-Dirs: src-4
Build-Depends:
base >= 4 && <5,
array >=0.1 && <0.3,
containers >=0.1 && <0.3,
random >=1.0 && <2.0,
process >=1.0 && <1.1
Other-Modules:
Synthesizer.Inference.DesignStudy.Applicative
Synthesizer.Inference.DesignStudy.Arrow
Synthesizer.Inference.DesignStudy.Monad
Else
Hs-Source-Dirs: src-3
If flag(splitBase)
Build-Depends:
base >= 3 && <4,
array >=0.1 && <0.3,
containers >=0.1 && <0.3,
random >=1.0 && <2.0,
process >=1.0 && <1.1
Else
Build-Depends:
base >= 1.0 && < 2,
special-functors >= 1.0 && <1.1
GHC-Options: -Wall
Hs-source-dirs: src
Exposed-modules:
Synthesizer.Overview
Synthesizer.Storage
Synthesizer.Dimensional.Overview
Synthesizer.Inference.Overview
Synthesizer.ApplicativeUtility
Synthesizer.Format
Synthesizer.RandomKnuth
Synthesizer.Piecewise
Synthesizer.Basic.Binary
Synthesizer.Basic.Distortion
Synthesizer.Basic.DistortionControlled
Synthesizer.Basic.Phase
Synthesizer.Basic.ToneModulation
Synthesizer.Basic.Wave
Synthesizer.Basic.WaveSmoothed
Synthesizer.Interpolation
Synthesizer.Interpolation.Class
Synthesizer.Interpolation.Module
Synthesizer.Interpolation.Custom
Synthesizer.Frame.Stereo
Synthesizer.Plain.Signal
Synthesizer.Plain.Analysis
Synthesizer.Plain.Cut
Synthesizer.Plain.Control
Synthesizer.Plain.Displacement
Synthesizer.Plain.Filter.NonRecursive
Synthesizer.Plain.Filter.Recursive
Synthesizer.Plain.Filter.Recursive.Allpass
Synthesizer.Plain.Filter.Recursive.AllpassPoly
Synthesizer.Plain.Filter.Recursive.Butterworth
Synthesizer.Plain.Filter.Recursive.Chebyshev
Synthesizer.Plain.Filter.Recursive.Comb
Synthesizer.Plain.Filter.Recursive.FirstOrder
Synthesizer.Plain.Filter.Recursive.FirstOrderComplex
Synthesizer.Plain.Filter.Recursive.Integration
Synthesizer.Plain.Filter.Recursive.Moog
Synthesizer.Plain.Filter.Recursive.MovingAverage
Synthesizer.Plain.Filter.Recursive.SecondOrder
Synthesizer.Plain.Filter.Recursive.SecondOrderCascade
Synthesizer.Plain.Filter.Recursive.Universal
Synthesizer.Plain.Filter.Recursive.Test
Synthesizer.Plain.Filter.Delay
Synthesizer.Plain.Filter.Delay.ST
Synthesizer.Plain.Filter.Delay.List
Synthesizer.Plain.Filter.Delay.Block
Synthesizer.Plain.Filter.LinearPredictive
Synthesizer.Plain.Interpolation
Synthesizer.Plain.LorenzAttractor
Synthesizer.Plain.Modifier
Synthesizer.Plain.Noise
Synthesizer.Plain.Oscillator
Synthesizer.Plain.ToneModulation
Synthesizer.Plain.Wave
Synthesizer.Plain.Miscellaneous
Synthesizer.Plain.Instrument
Synthesizer.Plain.Effect
Synthesizer.Plain.Effect.Fly
Synthesizer.Plain.Effect.Glass
Synthesizer.Plain.Builder
Synthesizer.Plain.IO
Synthesizer.Plain.File
Synthesizer.Plain.Play
Synthesizer.FusionList.Control
Synthesizer.FusionList.Filter.NonRecursive
Synthesizer.FusionList.Oscillator
Synthesizer.FusionList.Signal
Synthesizer.Storable.Cut
Synthesizer.Storable.Oscillator
Synthesizer.Storable.Signal
Synthesizer.Storable.Instance
Synthesizer.State.Analysis
Synthesizer.State.Control
Synthesizer.State.Cut
Synthesizer.State.Displacement
Synthesizer.State.Filter.NonRecursive
Synthesizer.State.Filter.Delay
Synthesizer.State.Filter.Recursive.Comb
Synthesizer.State.Filter.Recursive.Integration
Synthesizer.State.Filter.Recursive.MovingAverage
Synthesizer.State.Interpolation
Synthesizer.State.Miscellaneous
Synthesizer.State.Noise
Synthesizer.State.NoiseCustom
Synthesizer.State.Oscillator
Synthesizer.State.Signal
Synthesizer.State.ToneModulation
Synthesizer.Causal.Process
Synthesizer.Causal.Displacement
Synthesizer.Causal.Interpolation
Synthesizer.Causal.Oscillator
Synthesizer.Causal.ToneModulation
Synthesizer.Generic.Analysis
Synthesizer.Generic.Cut
Synthesizer.Generic.Control
Synthesizer.Generic.Displacement
Synthesizer.Generic.Filter.NonRecursive
Synthesizer.Generic.Filter.Delay
Synthesizer.Generic.Filter.Recursive.Integration
Synthesizer.Generic.Filter.Recursive.MovingAverage
Synthesizer.Generic.Filter.Recursive.Comb
Synthesizer.Generic.Interpolation
Synthesizer.Generic.Noise
Synthesizer.Generic.Oscillator
Synthesizer.Generic.Signal
Synthesizer.Generic.Signal2
Synthesizer.Generic.Wave
Synthesizer.Dimensional.Abstraction.Flat
Synthesizer.Dimensional.Abstraction.Homogeneous
Synthesizer.Dimensional.Abstraction.HomogeneousGen
Synthesizer.Dimensional.Abstraction.RateIndependent
Synthesizer.Dimensional.Amplitude
Synthesizer.Dimensional.Amplitude.Analysis
Synthesizer.Dimensional.Amplitude.Cut
Synthesizer.Dimensional.Amplitude.Control
Synthesizer.Dimensional.Amplitude.Displacement
Synthesizer.Dimensional.Amplitude.Filter
Synthesizer.Dimensional.Amplitude.Signal
Synthesizer.Dimensional.Arrow
Synthesizer.Dimensional.Map
Synthesizer.Dimensional.Causal.Process
Synthesizer.Dimensional.Causal.ControlledProcess
Synthesizer.Dimensional.Causal.Displacement
Synthesizer.Dimensional.Causal.Filter
Synthesizer.Dimensional.Causal.Oscillator
Synthesizer.Dimensional.ControlledProcess
Synthesizer.Dimensional.Cyclic.Signal
Synthesizer.Dimensional.Process
Synthesizer.Dimensional.Rate
Synthesizer.Dimensional.RatePhantom
Synthesizer.Dimensional.RateWrapper
Synthesizer.Dimensional.Rate.Analysis
Synthesizer.Dimensional.Rate.Control
Synthesizer.Dimensional.Rate.Cut
Synthesizer.Dimensional.Rate.Dirac
Synthesizer.Dimensional.Rate.Filter
Synthesizer.Dimensional.Rate.Oscillator
Synthesizer.Dimensional.RateAmplitude.Analysis
Synthesizer.Dimensional.RateAmplitude.Cut
Synthesizer.Dimensional.RateAmplitude.Control
Synthesizer.Dimensional.RateAmplitude.Displacement
Synthesizer.Dimensional.RateAmplitude.File
Synthesizer.Dimensional.RateAmplitude.Filter
Synthesizer.Dimensional.RateAmplitude.Instrument
Synthesizer.Dimensional.RateAmplitude.Noise
Synthesizer.Dimensional.RateAmplitude.Play
Synthesizer.Dimensional.RateAmplitude.Signal
Synthesizer.Dimensional.Straight.Displacement
Synthesizer.Dimensional.Straight.Signal
-- historical and experimental modules
Synthesizer.Filter.Basic
Synthesizer.Filter.Composition
Synthesizer.Filter.Example
Synthesizer.Filter.Fix
Synthesizer.Filter.Graph
Synthesizer.Filter.Graphic
Synthesizer.Filter.MonadFix
Synthesizer.Filter.OneWay
Synthesizer.Filter.TwoWay
-- this approach is replaced by Generic modules
-- but we may still define an UArray instance of Generic classes
Sound.Signal
Sound.Signal.Block
Sound.Signal.StrictBlock
Synthesizer.Physical
Synthesizer.Physical.Cut
Synthesizer.Physical.Control
Synthesizer.Physical.File
Synthesizer.Physical.Filter
Synthesizer.Physical.Noise
Synthesizer.Physical.Oscillator
Synthesizer.Physical.Play
Synthesizer.Physical.Signal
Synthesizer.Physical.Displacement
Synthesizer.Amplitude.Signal
Synthesizer.Amplitude.Cut
Synthesizer.Amplitude.Control
Synthesizer.Amplitude.Filter
Synthesizer.Amplitude.Displacement
Synthesizer.SampleRateContext.Rate
Synthesizer.SampleRateContext.Signal
Synthesizer.SampleRateContext.Oscillator
Synthesizer.SampleRateContext.Cut
Synthesizer.SampleRateContext.Control
Synthesizer.SampleRateContext.Filter
Synthesizer.SampleRateContext.Displacement
Synthesizer.SampleRateContext.Noise
Synthesizer.SampleRateContext.Play
-- that's only exposed for Haddock
Synthesizer.Plain.Tutorial
Synthesizer.Generic.Tutorial
Other-Modules:
TruncatedSine
FourierSeries
Synthesizer.Utility
Executable demonstration
If !flag(buildExamples)
Buildable: False
GHC-Options: -Wall -fexcess-precision
If flag(optimizeAdvanced)
GHC-Options: -O2 -fvia-C -optc-O2
-- -ddump-simpl-stats
Hs-Source-Dirs: src
If flag(category)
Hs-Source-Dirs: src-4
Else
Hs-Source-Dirs: src-3
Main-Is:
Demonstration.hs
Other-Modules:
Synthesizer.Dimensional.RateAmplitude.Demonstration
Executable traumzauberbaum
If !flag(buildExamples)
Buildable: False
GHC-Options: -Wall -fexcess-precision
If flag(optimizeAdvanced)
GHC-Options: -O2 -fvia-C -optc-O2
Hs-Source-Dirs: src
If flag(category)
Hs-Source-Dirs: src-4
Else
Hs-Source-Dirs: src-3
Main-Is: Synthesizer/Dimensional/RateAmplitude/Traumzauberbaum.hs
Executable test
If !flag(buildTests)
Buildable: False
GHC-Options: -Wall
Hs-Source-Dirs: src
If flag(category)
Hs-Source-Dirs: src-4
Else
Hs-Source-Dirs: src-3
Other-Modules:
Test.Utility
Test.Sound.Synthesizer.Plain.Analysis
Test.Sound.Synthesizer.Plain.Control
Test.Sound.Synthesizer.Plain.Filter
Test.Sound.Synthesizer.Plain.Interpolation
Test.Sound.Synthesizer.Plain.Oscillator
Test.Sound.Synthesizer.Plain.ToneModulation
Test.Sound.Synthesizer.Plain.Wave
Test.Sound.Synthesizer.Basic.ToneModulation
Test.Sound.Synthesizer.Generic.ToneModulation
Main-Is: Test/Main.hs
Executable fusiontest
If !flag(buildProfilers)
Buildable: False
GHC-Options: -Wall -fexcess-precision
If flag(optimizeAdvanced)
GHC-Options: -ddump-simpl-stats
Hs-Source-Dirs: speedtest, src
If flag(category)
Hs-Source-Dirs: src-4
Else
Hs-Source-Dirs: src-3
Main-Is: FusionTest.hs
Executable speedtest
If !flag(buildProfilers)
Buildable: False
GHC-Options: -Wall -fexcess-precision
If flag(optimizeAdvanced)
GHC-Options: -optc-ffast-math -optc-O3
-- -funfolding-use-threshold=20 -funfolding-creation-threshold=100
-- -optc-march=pentium4 -optc-mfpmath=sse
Hs-Source-Dirs: speedtest, src
If flag(category)
Hs-Source-Dirs: src-4
Else
Hs-Source-Dirs: src-3
Main-Is: SpeedTest.hs
Executable speedtest-exp
If !flag(buildProfilers)
Buildable: False
GHC-Options: -Wall -fexcess-precision
Hs-Source-Dirs: speedtest, src
If flag(category)
Hs-Source-Dirs: src-4
Else
Hs-Source-Dirs: src-3
Main-Is: SpeedTestExp.hs
If flag(splitBase)
Build-Depends:
old-time >= 1.0 && < 1.1, directory >= 1.0 && < 1.1
Executable speedtest-simple
If !flag(buildProfilers)
Buildable: False
GHC-Options: -Wall
Hs-Source-Dirs: speedtest, src
If flag(category)
Hs-Source-Dirs: src-4
Else
Hs-Source-Dirs: src-3
Main-Is: SpeedTestSimple.hs