The YampaSynth package

[Tags: bsd3]

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:

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.


Properties

Versions0.0.1, 0.0.2, 0.1, 0.1.1, 0.1.2, 0.2
LicenseBSD3
Copyright(c) 2007-2008 George Giorgidze and Henrik Nilsson
AuthorGeorge Giorgidze and Henrik Nilsson
MaintainerGeorge Giorgidze (GGG at CS dot NOTT dot AC dot UK)
Stabilityexperimental
CategorySound, Music
Home pagehttp://www.cs.nott.ac.uk/~ggg/
Executablesyampasynth-gtk, yampasynth-openal, yampasynth-wav
Upload dateSun Jun 20 19:16:17 UTC 2010
Uploaded byGeorgeGiorgidze
Downloads530 total (56 in last 30 days)

Flags

NameDescriptionDefault
wavBuilds yampasynth-wav executable which synthesizes a MIDI music and writes result into a WAVE audio file.Enabled
openalBuilds yampasynth-openal executable which synthesizes 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.Enabled
gtkBuilds yampasynth-gtk executable with simple graphical user interface which allows you to play music with various instruments in real-time using 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.Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees