synthesizer-llvm: Efficient signal processing using runtime compilation
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
Efficient signal processing
using runtime compilation and vector instructions.
It uses LLVM library, thus it is not bound to a specific CPU.
There are some example executables that you can build
with Cabal flag buildExamples
:
synthi-llvm-render
: Render a MIDI file into an audio file using some arbitrary instruments.synthi-llvm-alsa
: A realtime software synthesizer that receives MIDI events via ALSA and in response plays tones via ALSA. If you have no ALSA (or Linux at all), then you can disable this example with-f-alsa
.synthi-llvm-jack
: The same realtime software synthesizer using JACK. If you have no JACK, then you can disable this example with-f-jack
.synthi-llvm-example
: Not very useful as an executable. You should better load the according module into GHCi and play around with it. The module Synthesizer.LLVM.LAC2011 should be especially useful for an introduction.
Properties
Versions | 0.2, 0.2.0.1, 0.3, 0.5, 0.5.0.1, 0.5.0.2, 0.6, 0.7, 0.7.0.1, 0.8, 0.8.1, 0.8.1.1, 0.8.1.2, 0.8.2, 0.8.2.1, 0.8.3, 0.9, 0.9, 1.0, 1.1, 1.1.0.1 |
---|---|
Change log | Changes.md |
Dependencies | alsa-pcm (>=0.6 && <0.7), alsa-seq (>=0.6 && <0.7), base (>=4 && <5), containers (>=0.1 && <0.7), event-list (>=0.1 && <0.2), explicit-exception (>=0.1.7 && <0.2), gnuplot (>=0.5 && <0.6), jack (>=0.7 && <0.8), llvm-dsl (>=0.0 && <0.1), llvm-extra (>=0.10 && <0.11), llvm-tf (>=9.0 && <9.3), midi (>=0.2.1 && <0.3), midi-alsa (>=0.2.1 && <0.3), non-empty (>=0.2.1 && <0.4), non-negative (>=0.1 && <0.2), numeric-prelude (>=0.3 && <0.5), optparse-applicative, pathtype (>=0.8 && <0.9), random (>=1.0 && <1.2), semigroups (>=0.1 && <1.0), shell-utility, sox (>=0.2 && <0.3), storable-record (>=0.0.3 && <0.1), storablevector (>=0.2.6 && <0.3), synthesizer-alsa (>=0.5 && <0.6), synthesizer-core (>=0.8 && <0.9), synthesizer-llvm, synthesizer-midi (>=0.6 && <0.7), tfp (>=1.0 && <1.1), transformers (>=0.2 && <0.6), unsafe (>=0.0 && <0.1), utility-ht (>=0.0.15 && <0.1), vault (>=0.3 && <0.4) [details] |
License | GPL-3.0-only |
Author | Henning Thielemann <haskell@henning-thielemann.de> |
Maintainer | Henning Thielemann <haskell@henning-thielemann.de> |
Category | Sound, Music |
Home page | http://www.haskell.org/haskellwiki/Synthesizer |
Source repo | this: darcs get http://code.haskell.org/synthesizer/llvm/ --tag 0.9 head: darcs get http://code.haskell.org/synthesizer/llvm/ |
Uploaded | by HenningThielemann at 2020-03-22T18:05:49Z |
library synthesizer-llvm
Modules
- Synthesizer
- LLVM
- Causal
- Synthesizer.LLVM.Causal.Controlled
- Synthesizer.LLVM.Causal.ControlledPacked
- Synthesizer.LLVM.Causal.Process
- Synthesizer.LLVM.Causal.ProcessPacked
- Synthesizer.LLVM.Causal.ProcessValue
- CausalParameterized
- Synthesizer.LLVM.CausalParameterized.Controlled
- Synthesizer.LLVM.CausalParameterized.ControlledPacked
- Synthesizer.LLVM.CausalParameterized.Functional
- Synthesizer.LLVM.CausalParameterized.FunctionalPlug
- Synthesizer.LLVM.CausalParameterized.Helix
- Synthesizer.LLVM.CausalParameterized.Process
- Synthesizer.LLVM.CausalParameterized.ProcessPacked
- Synthesizer.LLVM.CausalParameterized.ProcessValue
- Synthesizer.LLVM.CausalParameterized.RingBuffer
- Synthesizer.LLVM.CausalParameterized.RingBufferForward
- Synthesizer.LLVM.Complex
- Filter
- Synthesizer.LLVM.Filter.Allpass
- Synthesizer.LLVM.Filter.Butterworth
- Synthesizer.LLVM.Filter.Chebyshev
- Synthesizer.LLVM.Filter.ComplexFirstOrder
- Synthesizer.LLVM.Filter.ComplexFirstOrderPacked
- Synthesizer.LLVM.Filter.FirstOrder
- Synthesizer.LLVM.Filter.Moog
- Synthesizer.LLVM.Filter.NonRecursive
- Synthesizer.LLVM.Filter.SecondOrder
- Synthesizer.LLVM.Filter.SecondOrderCascade
- Synthesizer.LLVM.Filter.SecondOrderPacked
- Synthesizer.LLVM.Filter.Universal
- Synthesizer.LLVM.Fold
- Synthesizer.LLVM.Frame
- Synthesizer.LLVM.Frame.Binary
- Synthesizer.LLVM.Frame.SerialVector
- Synthesizer.LLVM.Frame.Stereo
- Synthesizer.LLVM.Frame.StereoInterleaved
- Generator
- Synthesizer.LLVM.Generator.Exponential2
- Synthesizer.LLVM.Interpolation
- Synthesizer.LLVM.MIDI
- Synthesizer.LLVM.MIDI.BendModulation
- Synthesizer.LLVM.Parameter
- Parameterized
- Synthesizer.LLVM.Parameterized.Signal
- Synthesizer.LLVM.Parameterized.SignalPacked
- Plug
- Synthesizer.LLVM.Plug.Input
- Synthesizer.LLVM.Plug.Output
- Server
- CausalPacked
- Synthesizer.LLVM.Server.CausalPacked.Instrument
- Synthesizer.LLVM.Server.CausalPacked.InstrumentPlug
- Synthesizer.LLVM.Server.CausalPacked.Speech
- Synthesizer.LLVM.Server.Common
- Synthesizer.LLVM.Server.CommonPacked
- Packed
- Synthesizer.LLVM.Server.Packed.Instrument
- Synthesizer.LLVM.Server.Parameter
- Synthesizer.LLVM.Server.SampledSound
- Scalar
- Synthesizer.LLVM.Server.Scalar.Instrument
- CausalPacked
- Simple
- Synthesizer.LLVM.Simple.Signal
- Synthesizer.LLVM.Simple.SignalPacked
- Synthesizer.LLVM.Simple.Value
- Storable
- Synthesizer.LLVM.Storable.Process
- Synthesizer.LLVM.Storable.Signal
- Synthesizer.LLVM.Wave
- Causal
- LLVM
library synthesizer-llvm:server
Modules
- Synthesizer
- LLVM
- Server
- CausalPacked
- Synthesizer.LLVM.Server.CausalPacked.Arrange
- Synthesizer.LLVM.Server.Default
- Synthesizer.LLVM.Server.OptionCommon
- CausalPacked
- Server
- LLVM
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
buildexamples | Build example executables | Disabled |
alsa | Build ALSA synthesizer if examples are built | Enabled |
jack | Build JACK synthesizer if examples are built | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- synthesizer-llvm-0.9.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees