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-2014 George Giorgidze and Henrik Nilsson
AuthorGeorge Giorgidze and Henrik Nilsson
MaintainerGeorge Giorgidze (giorgidze@gmail.com)
Stabilityexperimental
CategorySound, Music
Home pagehttp://www-db.informatik.uni-tuebingen.de/team/giorgidze
Source repositoryhead: git clone https://github.com/giorgidze/YampaSynth.git
Executablesyampasynth-gtk, yampasynth-openal, yampasynth-wav
Upload dateFri May 30 00:20:40 UTC 2014
Uploaded byGeorgeGiorgidze
Downloads484 total (44 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.Disabled
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.Disabled

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