packages feed

synthesizer-core-0.9.0.1: synthesizer-core.cabal

Name:           synthesizer-core
Version:        0.9.0.1
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.
  manual:      True
  default:     False


Source-Repository this
  Tag:         0.9.0.1
  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,
    event-list >=0.1 && <0.2,
    non-negative >=0.1 && <0.2,
    explicit-exception >=0.1.6 && <0.3,
    numeric-prelude >=0.4.2 && <0.5,
    numeric-quest >=0.1 && <0.3,
    utility-ht >=0.0.14 && <0.1,
    filepath >=1.1 && <1.6,
    bytestring >=0.9 && <0.13,
    binary >=0.1 && <1,
    deepseq >=1.1 && <1.7,
    storablevector >=0.2.12 && <0.3,
    storable-record >=0.0.1 && <0.1,
    storable-tuple >=0.0.1 && <0.2,
    QuickCheck >=1 && <3,
    array >=0.1 && <0.6,
    containers >=0.1 && <0.9,
    random >=1.0 && <1.4,
    process >=1.0 && <1.7,
    base >=4.11 && <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-Extensions: CPP

  Default-Language: Haskell2010
  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.Oscillator.BandLimited
    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.Storable
    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,
    doctest-exitcode-stdio >=0.0 && <0.1,
    doctest-lib >=0.1.1 && <0.1.2,
    QuickCheck,
    random,
    containers,
    base >=4 && <5
  Default-Language: Haskell2010
  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-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.ToneModulation
    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
    Synthesizer.Basic.NumberTheory
    Synthesizer.Generic.Permutation
    DocTest.Main
    DocTest.Synthesizer.Basic.Wave
    DocTest.Synthesizer.Storable.Cut
    DocTest.Synthesizer.Plain.Oscillator
    DocTest.Synthesizer.Generic.Signal
    DocTest.Synthesizer.Causal.Analysis
  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,
    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-Extensions: CPP

  Default-Language: Haskell2010
  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 >=4 && <5

  If impl(ghc>=7.0)
    GHC-Options: -fwarn-unused-do-bind
    CPP-Options: -DNoImplicitPrelude=RebindableSyntax
    Default-Extensions: CPP

  Default-Language: Haskell2010
  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 >=4 && <5

  If impl(ghc>=7.0)
    GHC-Options: -fwarn-unused-do-bind
    CPP-Options: -DNoImplicitPrelude=RebindableSyntax
    Default-Extensions: CPP

  Default-Language: Haskell2010
  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 >=4 && <5

  If impl(ghc>=7.0)
    GHC-Options: -fwarn-unused-do-bind
    CPP-Options: -DNoImplicitPrelude=RebindableSyntax
    Default-Extensions: CPP

  Default-Language: Haskell2010
  GHC-Options: -Wall
  Hs-Source-Dirs: speedtest
  Main-Is: SpeedTestSimple.hs