Package Info

YampaSynth


Software synthesizer


Development/Libraries/Haskell

YampaSynth is a software synthesizer implemented in Yampa, domain specific language embedded in Haskell. It contains a little framework of sound generating and sound shaping modules (e.g. oscillator, amplifier, mixer, envelope generator, filter, etc.) and example applications:

  • "yampasynth-wav" is an application which synthesizes a MIDI music and writes

result into a WAVE audio file.

  • "yampasynth-openal" is an application which synthesizes a MIDI music and

sends audio data in real-time to a sound card. We use Haskell binding of OpenAL library as an interface to audio hardware.

  • "yampasynth-gtk" is an application with the simple graphical user interface

which allows you to play a music with various instruments in real-time using the keyboard of your computer. We use Haskell binding of GTK library for GUI programming and Haskell binding of OpenAL library as an interface to audio hardware.

Software synthesizer uses the MIDI standard as a music description and the SoundFont standard as an instrument description.

Implementation is based on the paper "Switched-on Yampa: Declarative Programming of Modular Synthesizers", by George Giorgidze and Henrik Nilsson (<http://www.cs.nott.ac.uk/~ggg/publications/padl2008.pdf>), In Proceedings of 10th International Symposium on Practical Aspects of Declarative Languages, San Francisco, CA, USA, January 7-8, 2008.

This is mainly a proof of concept, but already useful to some extent.


License: BSD-3-Clause
URL: https://hackage.haskell.org/package/YampaSynth

Categories

Releases

Package Version Update ID Released Package Hub Version Platforms Subpackages
0.2-bp150.2.3 info GA Release 2018-08-01 15
  • AArch64
  • YampaSynth
0.2-bp150.2.6 info GA Release 2018-07-31 15
  • ppc64le
  • YampaSynth
0.2-bp150.2.9 info GA Release 2018-07-30 15
  • x86-64
  • YampaSynth