Name: synthesizer-core
Version: 0.8.3
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: Low level part
Description:
Low level audio signal processing
used by the other synthesizer packages.
The routines can be really fast
due to StorableVector, Stream-like list type and aggressive inlining.
For an interface to Haskore see <http://code.haskell.org/haskore/revised/synthesizer/>.
For introductory examples see "Synthesizer.Plain.Tutorial"
and "Synthesizer.Generic.Tutorial".
-- the Overview module does not really fit into one of the part packages
-- For an overview of the organization of the package
-- and the discussion of various design issues see "Synthesizer.Overview".
.
Functions:
Oscillators, Noise generators, Frequency filters,
Fast Fourier transform for computation of frequency spectrum
Stability: Experimental
Tested-With: GHC==6.4.1, GHC==6.8.2, GHC==6.10.4, GHC==6.12.3
Tested-With: GHC==7.0.4, GHC==7.2.1, GHC==7.4.2, GHC==7.6.3
Cabal-Version: 1.14
Build-Type: Simple
Extra-Source-Files:
Changes.md
Makefile
Flag optimizeAdvanced
description: Enable advanced optimizations. They slow down compilation considerably.
default: True
Source-Repository this
Tag: 0.8.3
Type: darcs
Location: http://code.haskell.org/synthesizer/core/
Source-Repository head
Type: darcs
Location: http://code.haskell.org/synthesizer/core/
Library
Build-Depends:
sample-frame-np >=0.0.5 && <0.1,
sox >=0.1 && <0.3,
transformers >=0.2 && <0.7,
non-empty >=0.2 && <0.4,
semigroups >=0.1 && <1.0,
event-list >=0.1 && <0.2,
non-negative >=0.1 && <0.2,
explicit-exception >=0.1.6 && <0.2,
numeric-prelude >=0.4.2 && <0.5,
numeric-quest >=0.1 && <0.3,
utility-ht >=0.0.14 && <0.1,
filepath >=1.1 && <1.5,
bytestring >=0.9 && <0.12,
binary >=0.1 && <1,
deepseq >=1.1 && <1.5,
storablevector >=0.2.5 && <0.3,
storable-record >=0.0.1 && <0.1,
storable-tuple >=0.0.1 && <0.1,
QuickCheck >=1 && <3,
array >=0.1 && <0.6,
containers >=0.1 && <0.7,
random >=1.0 && <2.0,
process >=1.0 && <1.7,
base >= 4 && <5
If impl(ghc>=7.0)
-- also warns about NumericPrelude import: -fwarn-missing-import-lists
GHC-Options: -fwarn-unused-do-bind
CPP-Options: -DNoImplicitPrelude=RebindableSyntax
Default-Language: Haskell2010
Default-Extensions: CPP
GHC-Options: -Wall
Hs-source-dirs: src, private
Exposed-modules:
Synthesizer.Storage
Synthesizer.ApplicativeUtility
Synthesizer.Format
Synthesizer.RandomKnuth
Synthesizer.Piecewise
Synthesizer.Zip
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.Core
Synthesizer.Interpolation.Class
Synthesizer.Interpolation.Module
Synthesizer.Interpolation.Custom
Synthesizer.Frame.Stereo
Synthesizer.ChunkySize
Synthesizer.ChunkySize.Cut
Synthesizer.ChunkySize.Signal
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.Hilbert
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.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.Storable.Cut
Synthesizer.Storable.Generate
Synthesizer.Storable.Oscillator
Synthesizer.Storable.Play
Synthesizer.Storable.Repair
Synthesizer.Storable.Signal
Synthesizer.Storable.Filter.NonRecursive
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.Noise
Synthesizer.State.NoiseCustom
Synthesizer.State.Oscillator
Synthesizer.State.Piece
Synthesizer.State.Signal
Synthesizer.State.ToneModulation
Synthesizer.Causal.Process
Synthesizer.Causal.Class
Synthesizer.Causal.Arrow
Synthesizer.Causal.Utility
Synthesizer.Causal.Analysis
Synthesizer.Causal.Cut
Synthesizer.Causal.Displacement
Synthesizer.Causal.Interpolation
Synthesizer.Causal.Oscillator
Synthesizer.Causal.Oscillator.Core
Synthesizer.Causal.ToneModulation
Synthesizer.Causal.Spatial
Synthesizer.Causal.Filter.NonRecursive
Synthesizer.Causal.Filter.Recursive.Integration
Synthesizer.CausalIO.Gate
Synthesizer.CausalIO.Process
Synthesizer.Generic.Analysis
Synthesizer.Generic.Cut
Synthesizer.Generic.CutChunky
Synthesizer.Generic.Control
Synthesizer.Generic.Cyclic
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.Fourier
Synthesizer.Generic.Interpolation
Synthesizer.Generic.Loop
Synthesizer.Generic.Noise
Synthesizer.Generic.Oscillator
Synthesizer.Generic.Piece
Synthesizer.Generic.Signal
Synthesizer.Generic.Wave
Synthesizer.PiecewiseConstant.Signal
Synthesizer.PiecewiseConstant.Generic
Synthesizer.PiecewiseConstant.Storable
-- that's only exposed for Haddock
Synthesizer.Plain.Tutorial
Synthesizer.Generic.Tutorial
-- synthesizer.dimensional:Synthesizer.Dimensional.Causal.Filter import affineComb
Synthesizer.Utility
Other-Modules:
Synthesizer.Basic.Filter.NonRecursive
Synthesizer.Basic.ComplexModule
Synthesizer.Basic.NumberTheory
Synthesizer.Generic.Permutation
Synthesizer.Generic.LengthSignal
Synthesizer.PiecewiseConstant.Private
Test-Suite test
Type: exitcode-stdio-1.0
Build-Depends:
synthesizer-core,
storablevector,
storable-tuple,
event-list,
transformers,
non-empty >=0.2.1 && <0.4,
non-negative,
utility-ht,
numeric-prelude,
QuickCheck,
random,
containers,
base
GHC-Options: -Wall -fwarn-tabs -fwarn-incomplete-record-updates
Hs-Source-Dirs: test, private
If impl(ghc>=7.0)
GHC-Options: -fwarn-unused-do-bind
CPP-Options: -DNoImplicitPrelude=RebindableSyntax
Default-Language: Haskell2010
Default-Extensions: CPP
Other-Modules:
Test.Utility
Test.Sound.Synthesizer.Plain.Analysis
Test.Sound.Synthesizer.Plain.Control
Test.Sound.Synthesizer.Plain.Filter
Test.Sound.Synthesizer.Plain.Filter.Allpass
Test.Sound.Synthesizer.Plain.Filter.Hilbert
Test.Sound.Synthesizer.Plain.Filter.FirstOrder
Test.Sound.Synthesizer.Plain.Interpolation
Test.Sound.Synthesizer.Plain.NonEmpty
Test.Sound.Synthesizer.Plain.Oscillator
Test.Sound.Synthesizer.Plain.ToneModulation
Test.Sound.Synthesizer.Plain.Wave
Test.Sound.Synthesizer.Basic.ToneModulation
Test.Sound.Synthesizer.Basic.NumberTheory
Test.Sound.Synthesizer.Generic.Cut
Test.Sound.Synthesizer.Generic.ToneModulation
Test.Sound.Synthesizer.Generic.Permutation
Test.Sound.Synthesizer.Generic.Fourier
Test.Sound.Synthesizer.Generic.FourierInteger
Test.Sound.Synthesizer.Generic.Filter
Test.Sound.Synthesizer.Storable.Cut
Test.Sound.Synthesizer.Causal.Analysis
Synthesizer.Basic.NumberTheory
Synthesizer.Generic.Permutation
Main-Is: Test/Main.hs
Benchmark fouriertest
Type: exitcode-stdio-1.0
Build-Depends:
synthesizer-core,
numeric-prelude,
timeit >=1.0 && <3,
storablevector >=0.2.7 && <0.3,
storable-tuple >=0.0.1 && <0.1,
utility-ht >=0.0.5 && <0.1,
base >=4 && <5
If impl(ghc>=7.0)
GHC-Options: -fwarn-unused-do-bind
CPP-Options: -DNoImplicitPrelude=RebindableSyntax
Default-Language: Haskell2010
Default-Extensions: CPP
GHC-Options: -Wall
GHC-Prof-Options: -auto-all
Hs-Source-Dirs: speedtest
Main-Is: Fourier.hs
Benchmark speedtest
Type: exitcode-stdio-1.0
Build-Depends:
synthesizer-core,
numeric-prelude,
old-time >= 1.0 && < 1.2,
directory >= 1.0 && < 1.4,
binary,
bytestring,
utility-ht,
base
If impl(ghc>=7.0)
GHC-Options: -fwarn-unused-do-bind
CPP-Options: -DNoImplicitPrelude=RebindableSyntax
Default-Language: Haskell2010
Default-Extensions: CPP
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
Main-Is: SpeedTest.hs
Benchmark speedtest-exp
Type: exitcode-stdio-1.0
Build-Depends:
synthesizer-core,
storablevector,
old-time,
directory,
binary,
bytestring,
array,
base
If impl(ghc>=7.0)
GHC-Options: -fwarn-unused-do-bind
CPP-Options: -DNoImplicitPrelude=RebindableSyntax
Default-Language: Haskell2010
Default-Extensions: CPP
GHC-Options: -Wall -fexcess-precision
Hs-Source-Dirs: speedtest
Main-Is: SpeedTestExp.hs
Benchmark speedtest-simple
Type: exitcode-stdio-1.0
Build-Depends:
synthesizer-core,
binary,
bytestring,
old-time,
base
If impl(ghc>=7.0)
GHC-Options: -fwarn-unused-do-bind
CPP-Options: -DNoImplicitPrelude=RebindableSyntax
Default-Language: Haskell2010
Default-Extensions: CPP
GHC-Options: -Wall
Hs-Source-Dirs: speedtest
Main-Is: SpeedTestSimple.hs