@hackage / synthesizer-llvm

Efficient signal processing using runtime compilation

Latest1.1.0.1

About

Metadata

  • Last updated , by HenningThielemann
  • License GPL-3.0-only
  • Categories Audio
  • Maintained by: Henning Thielemann <haskell@henning-thielemann.de>

  • Lottery factor: 0

Links

Installation

Tested Compilers

  1. 9.6.3
  2. 9.4.7
  3. 9.2.2
  4. 8.10.7
  5. 8.8.4
  6. 8.6.5
  7. 7.10.3

Package Flags

Use the -f option with cabal commands to enable flags

    buildexamples (off by default)

    Build example executables

    alsa (on by default)

    Build ALSA synthesizer if examples are built

    jack (off by default)

    Build JACK synthesizer if examples are built

Readme

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.