Name | Description |
---|---|
purescript-abc-editor | edit, play and see scores of tunes in ABC notation |
purescript-abc-tutorial | learn ABC by means of an interactive tutorial |
share-a-tune | play (possibly polyphonic) ABC scores and share them |
purescript-school-of-music | (PSoM) port of the Haskell School of Music |
MIDI keyboard player | play a MIDI keyboard through the browser |
polska-metronome | 3/4 metronome with irregular beats |
chord-editor | edit guitar chord diagrams |
tunebook | quick and dirty generation of a booklet of scores |
tunebank-frontend | UI to musicrest |
purescript-audiograph | declarative interface into web-audio |
All these projects run in the browser, and use web-audio to generate sound. All the projects use Halogen as the UI framework although legacy Pux versions exist for some of them. tunebank-frontend incorporates all the ABC utilities. The last project is an experiment built solely around purescript-webaudio. The first four projects share various libraries whose interdependencies are shown below.
The audio libraries include:
Name | Description |
---|---|
purescript-soundfonts | play notes using web-audio soundfonts |
purescript-midi | General MIDI, Web-MIDI and MIDI instruments |
purescript-abc-parser | parser for the ABC notation |
purescript-abc-scores | generate music scores using VexFlow |
purescript-abc-melody | convert ABC directly to a monophonic soundfont melody |
purescript-abc2psom | convert ABC to a polyphonic PSoM melody |
purescript-halogen-components | various components including a generic player |
Note that these libraries are for use in the browser and are not available for Node.
Earlier versions of the projects used Pux exclusively under PureScript 0.11. These used a base purescript-soundfont-player with two specialised players - purescript-midi-player and purescript-psom-player built by wrapping the base soundfont player.
Much of the same ground is covered in the Elm projects. However, these are now long in the tooth, having been written for Elm 0.18. They are no longer being actively maintained (in favour of the purescript implementations) and most have been archived.
musicrest is the backend for tradtunedb.
Name | Description |
---|---|
MidiToAbc | An attempt to convert a monophonic MIDI melody into the ABC notation. |
Tunebank | An experimental rewrite of musicrest using Servant and Postgresql. |