Skip to content

newlandsvalley/music-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 

Repository files navigation

Summary of Music Projects

PureScript

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.

dependencies

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.

Elm

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.

Scala

musicrest is the backend for tradtunedb.

Haskell

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.

About

Summary of music projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published