synthesizer-core

Audio signal processing coded in Haskell: Low level part

http://www.haskell.org/haskellwiki/Synthesizer

Version on this page:0.8.1
LTS Haskell 22.17:0.8.3@rev:4
Stackage Nightly 2024-04-19:0.8.4@rev:1
Latest on Hackage:0.8.4@rev:1

See all snapshots synthesizer-core appears in

LicenseRef-GPL licensed and maintained by Henning Thielemann
This version can be pinned in stack with:synthesizer-core-0.8.1@sha256:a7809bd6f1c79e20196946b3e90cd50948fcd2e7ed9a5d56bb786b5e0a2ede6d,11385

Module documentation for 0.8.1

  • Synthesizer
    • Synthesizer.ApplicativeUtility
    • Synthesizer.Basic
      • Synthesizer.Basic.Binary
      • Synthesizer.Basic.Distortion
      • Synthesizer.Basic.DistortionControlled
      • Synthesizer.Basic.Phase
      • Synthesizer.Basic.ToneModulation
      • Synthesizer.Basic.Wave
      • Synthesizer.Basic.WaveSmoothed
    • Synthesizer.Causal
      • Synthesizer.Causal.Analysis
      • Synthesizer.Causal.Arrow
      • Synthesizer.Causal.Class
      • Synthesizer.Causal.Cut
      • Synthesizer.Causal.Displacement
      • Synthesizer.Causal.Filter
        • Synthesizer.Causal.Filter.NonRecursive
        • Synthesizer.Causal.Filter.Recursive
          • Synthesizer.Causal.Filter.Recursive.Integration
      • Synthesizer.Causal.Interpolation
      • Synthesizer.Causal.Oscillator
        • Synthesizer.Causal.Oscillator.Core
      • Synthesizer.Causal.Process
      • Synthesizer.Causal.Spatial
      • Synthesizer.Causal.ToneModulation
      • Synthesizer.Causal.Utility
    • Synthesizer.CausalIO
      • Synthesizer.CausalIO.Gate
      • Synthesizer.CausalIO.Process
    • Synthesizer.ChunkySize
      • Synthesizer.ChunkySize.Cut
      • Synthesizer.ChunkySize.Signal
    • Synthesizer.Format
    • Synthesizer.Frame
      • Synthesizer.Frame.Stereo
    • Synthesizer.Generic
      • Synthesizer.Generic.Analysis
      • Synthesizer.Generic.Control
      • Synthesizer.Generic.Cut
      • Synthesizer.Generic.CutChunky
      • Synthesizer.Generic.Cyclic
      • Synthesizer.Generic.Displacement
      • Synthesizer.Generic.Filter
        • Synthesizer.Generic.Filter.Delay
        • Synthesizer.Generic.Filter.NonRecursive
        • Synthesizer.Generic.Filter.Recursive
          • Synthesizer.Generic.Filter.Recursive.Comb
          • Synthesizer.Generic.Filter.Recursive.Integration
          • Synthesizer.Generic.Filter.Recursive.MovingAverage
      • Synthesizer.Generic.Fourier
      • Synthesizer.Generic.Interpolation
      • Synthesizer.Generic.Loop
      • Synthesizer.Generic.Noise
      • Synthesizer.Generic.Oscillator
      • Synthesizer.Generic.Piece
      • Synthesizer.Generic.Signal
      • Synthesizer.Generic.Tutorial
      • Synthesizer.Generic.Wave
    • Synthesizer.Interpolation
      • Synthesizer.Interpolation.Class
      • Synthesizer.Interpolation.Core
      • Synthesizer.Interpolation.Custom
      • Synthesizer.Interpolation.Module
    • Synthesizer.Piecewise
    • Synthesizer.PiecewiseConstant
      • Synthesizer.PiecewiseConstant.Generic
      • Synthesizer.PiecewiseConstant.Signal
      • Synthesizer.PiecewiseConstant.Storable
    • Synthesizer.Plain
      • Synthesizer.Plain.Analysis
      • Synthesizer.Plain.Builder
      • Synthesizer.Plain.Control
      • Synthesizer.Plain.Cut
      • Synthesizer.Plain.Displacement
      • Synthesizer.Plain.Effect
        • Synthesizer.Plain.Effect.Fly
        • Synthesizer.Plain.Effect.Glass
      • Synthesizer.Plain.File
      • Synthesizer.Plain.Filter
        • Synthesizer.Plain.Filter.Delay
          • Synthesizer.Plain.Filter.Delay.Block
          • Synthesizer.Plain.Filter.Delay.List
          • Synthesizer.Plain.Filter.Delay.ST
        • Synthesizer.Plain.Filter.LinearPredictive
        • 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.Test
          • Synthesizer.Plain.Filter.Recursive.Universal
      • Synthesizer.Plain.IO
      • Synthesizer.Plain.Instrument
      • Synthesizer.Plain.Interpolation
      • Synthesizer.Plain.LorenzAttractor
      • Synthesizer.Plain.Modifier
      • Synthesizer.Plain.Noise
      • Synthesizer.Plain.Oscillator
      • Synthesizer.Plain.Play
      • Synthesizer.Plain.Signal
      • Synthesizer.Plain.ToneModulation
      • Synthesizer.Plain.Tutorial
      • Synthesizer.Plain.Wave
    • Synthesizer.RandomKnuth
    • Synthesizer.State
      • Synthesizer.State.Analysis
      • Synthesizer.State.Control
      • Synthesizer.State.Cut
      • Synthesizer.State.Displacement
      • Synthesizer.State.Filter
        • Synthesizer.State.Filter.Delay
        • Synthesizer.State.Filter.NonRecursive
        • Synthesizer.State.Filter.Recursive
          • 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.Storable
      • Synthesizer.Storable.Cut
      • Synthesizer.Storable.Filter
        • Synthesizer.Storable.Filter.NonRecursive
      • Synthesizer.Storable.Generate
      • Synthesizer.Storable.Oscillator
      • Synthesizer.Storable.Play
      • Synthesizer.Storable.Repair
      • Synthesizer.Storable.Signal
    • Synthesizer.Storage
    • Synthesizer.Utility
    • Synthesizer.Zip

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.

Functions: Oscillators, Noise generators, Frequency filters, Fast Fourier transform for computation of frequency spectrum

Changes

Change log for the synthesizer-core package

8.1

  • Plain.Filter.Recursive.FirstOrder.highpassInit, Plain.Filter.Recursive.FirstOrder.highpassModifierInit and derived functions change the meaning of the initial parameter. The previous meaning was pretty unclear and useless such that I consider it a bug. We do no longer negate the initial value. This is consistent with lowpassInit.