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
Change logNone available
Dependenciesarray, base, bytestring, containers, glade, gtk, HCodecs, OpenAL, Yampa
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
UploadedMon Apr 7 05:42:02 UTC 2008 by GeorgeGiorgidze
DistributionsLTSHaskell:0.2, NixOS:0.2, Stackage:0.2
Downloads1122 total (53 in last 30 days)
StatusDocs not available [build log]
All reported builds failed as of 2015-05-22 [all 2 reports]

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