- 1 Notation software
- 1.1 Common Music Notation
- 1.2 MuseScore
- 1.3 LilyPond
- 1.4 mingus
- 1.5 Music Suite
- 1.6 Notezilla
- 1.7 PianoBooster
- 1.8 Midi Sheet Music
- 1.9 Jniz
- 1.10 Noteedit
- 1.11 NtED
- 1.12 LiederNet Archive
- 1.13 Verovio
- 1.14 Canorus
- 1.15 Guido Engine Library
- 1.16 Muscript
- 1.17 Mup
- 1.18 INScore
- 1.19 Antescofo
- 1.20 TuxGuitar
- 1.21 Chordious
- 1.22 to sort
- 2 Notation data formats
See also Music#Notation
Common Music Notation
- CMN - Common Music Notation, is a free western music notation package written in Common Lisp. I think it works in sbcl, cmucl, ACL, Clisp, and openMCL.
- cnm - a simple little hack that can create and display traditional western music scores. It is available free via anonymous ftp from ccrma-ftp as pub/Lisp/cmn.tar.gz. cmn is intended as an adjunct to Heinrich Taube's Common Music and my CLM: it can present a notelist (a bewildering morass of numbers) as a standard score. Although I put a lot of effort into making the output legible, it really isn't aimed at producing publishable scores. If you need beautiful output, use Lilypond, Score or Finale.
- MuseScore - Music notation and composition software. Features: WYSIWYG design, notes are entered on a "virtual notepaper", TrueType font(s) for printing & display allows for high quality scaling to all sizes, easy & fast note entry, many editing functions, MusicXML import/export, Midi (SMF) import/export, MuseData import, Midi input for note entry, integrated sequencer and software synthesizer to play the score, print or create pdf files
- LilyPond is a music engraving program, devoted to producing the highest-quality sheet music possible. It brings the aesthetics of traditionally engraved music to computer printouts. LilyPond is free software and part of the GNU Project.
- Frescobaldi - a LilyPond sheet music text editor. It aims to be powerful, yet lightweight and easy to use. Frescobaldi is Free Software, freely available under the General Public License.
- Denemo - a free music notation program for GNU/Linux, Mac OSX and Windows that lets you rapidly enter notation which it typesets using the LilyPond music engraver. Music can be typed in at the PC-Keyboard (watch demo), or played in via MIDI controller (watch demo), or input acoustically into a microphone plugged into your computer’s soundcard.
- Rumor - a realtime monophonic (with chords) MIDI keyboard to Lilypond converter. It receives MIDI events, quantizes them according to its metronome on the fly and outputs handwritten-like corresponding Lilypond notation. Tempo, meter, key and other parameters can be set via command-line options.
- Laborejo - a MIDI sequencer based on classical music notation. Its main purpose is to compose and produce "traditional" music, such as instrumental pieces, soundtracks and other music normally played back by samplers. Unlike other notation editors Laborejo is not meant primarily to print out sheets of notation but to create music within your computer: You get all the tools you know from other midi sequencers for maximum fine control to get exactly the music you want!
- Abjad - helps composers build up complex pieces of music notation in an iterative and incremental way. Use Abjad to create symbolic representations of all the notes, rests, staves, tuplets, beams and slurs in any score. Because Abjad extends the Python programming language, you can use Abjad to make systematic changes to your music as you work. And because Abjad wraps the powerful LilyPond music notation package, you can use Abjad to control the typographic details of the symbols on the page.
- mingus - an advanced, cross-platform music theory and notation package for Python with MIDI file and playback support. It can be used to play around with music theory, to build editors, educational tools and other applications that need to process and/or play music. It can also be used to create sheet music with LilyPond.
- Music Suite - a language for describing music, based on Haskell. It allow representation and manipulation of music in a very general sense, that is compatible with standard notation and supporting a variety of import and export formats. The use of Haskell allow for music to be created, transformed or analyzed using the full expressive power of the Haskell language.
- Notezilla - web tool that successfully brings high quality audio and sheet music together. Our sheet music is synced to real recordings, so users can listen to the recording of a piece while easily studying the underlying sheet music. 
- PianoBooster - a free (Open Source) program that plays Standard Midi Files and allows you to change the speed of playback and transpose the music etc. There is a scrolling musical stave that shows the notes for just one part from all the parts in the complete musical arrangement. PianoBooster is a fun way of playing along with a musical accompaniment and at the same time learning the basics of reading musical notation. The difference between playing along to a CD or a standard midi file is that PianoBooster listens and follows what you are playing on a midi piano keyboard.
Midi Sheet Music
- Midi Sheet Music - a free program that plays MIDI music files while highlighting the piano notes and sheet music notes. Works on Windows, Mac OS X, and Ubuntu Linux.
- Jniz - a free proprietary piece of software designed for musicians as a support tool to the musical composition. It allows you to build and to harmonize several voices according to the rules of classical harmony.
- Noteedit - an editor for music notation that supports an unlimited number of staffs and up to 9 voices per staff. You can use it to create sheets of notes. You can import and export into many formats like midi, musicxml and lilypond.
- NtED - marks the return of Dr. Joerg Anders into the field of Linux music notation software. Professor Anders is perhaps best known for his pioneering NoteEdit.
- LiederNet Archive - the world's largest reference archive of texts and translations of art songs and choral works.
We have been online since May 24, 1995.
- Canorus - a free cross-platform music score editor. It supports an unlimited number and length of staffs, polyphony, a MIDI playback of notes, chord markings, lyrics, import/export filters to formats like MIDI, MusicXML, ABC Music, MusiXTeX and LilyPond
Guido Engine Library
- Guido Engine Library - a generic, portable library and API for the graphical rendering of musical scores. The library is based on the GUIDO Music Notation Format as the underlying data format. It takes account of the conventional music notation system and should be flexible enough to include any graphical sign and musical information if necessary.
- Muscript - a language for typesetting music, and either a Perl script, or a Lua script, which translates this language either into PostScript, or into Encapsulated PostScript, or into MIDI, or into MusicXML, and there is a script muscriptps2svg to translate muscript into SVG. Muscript was written by Peter Billam to typeset his own compositions and arrangements; it started life as an awk script, and was announced to the world in 1996. The ability to define variables was introduced in version 3.1b. The current version of muscript is 3.3d, a bilingual version, available in both Perl and Lua.
- midi2muscript - Lua script to convert midi-files to muscript
- Mup - a program for printing music. It takes an input file containing ordinary (ASCII) text describing music, and produces PostScript output for printing the musical score described by the input.
- INScore - An environmnent for the design of interactive, augmented music scores. INscore extends the music representation to arbitrary graphic objects: Symbolic music notation [ GMN, MusicXML], Textual elements, Bitmaps [jpg, gif, tiff, png,...], Vectorial graphics (rectangles, ellipses, SVG,...), Video files, Sound and gesture graphic representations
- YouTube: Towards dynamic and animated music notation using INScore - Dominique Fober - Linux Audio Conference 2017
- Antescofo~ - a modular polyphonic Score Following system as well as a Synchronous Programming language for musical composition. The module allows for automatic recognition of music score position and tempo from a realtime audio Stream coming from performer(s), making it possible to synchronize an instrumental performance with computer realized elements. The synchronous language within Antescofo allows flexible writing of time and interaction in computer music.
- TuxGuitar - a multitrack guitar tablature editor and player written in Java-SWT, It can open GuitarPro, PowerTab and TablEdit files.
- Chordious - helps you find the chords and scales for any fretted string instrument and gives you powerful customization options.
- Tonelib-JAM - software for creating, editing, printing and listening to tablature and sheet music for guitar and other fretted instruments. You can use Tonelib JAM for regular guitar practicing, for learning songs or for advancing your performance skills to the next level. The Tonelib JAM makes it easy to create backing tracks from just about any song. The internal player lets you change the playback tempo while keeping the same pitch and has facilities to loop a section of the music.
- https://github.com/Audiveris/audiveris - optical music recognition (OMR) engine.
- BMC - the Braille Music Compiler, parses braille music code and transcribes it to several digital music notations formats. Currently, export to LilyPond and MusicXML is implemented.
- FOMUS - a open source software application by David Psenicka that automates many musical notation tasks for composers and musicians, facilitating the process of creating professionally notated scores by allowing the user to separate attributes such as times, durations and pitches from the representation of them in conventional music notation. It is especially useful for composers who work with algorithms and computer music software languages/environments such as CM/Grace, Pure Data and Lisp. It can also be used to import data from MIDI files into a graphical notation editor or creating scores from scratch using text files.
- StaffPad - a brand new class of notation app, designed to take advantage of the active pen and touch input found on Microsoft Surface* and other compatible Windows 10 devices. - $
Notation data formats
- MuseData - a project of the Center for Computer Assisted Research in the Humanities (CCARH). The database was created by Walter Hewlett. Data entry has been primarily done by Frances Bennion, Edmund Correia, Walter Hewlett, and Steve Rasmussen.
- PDF: Music as a Formal Language - Bryan Jurish
- https://en.wikipedia.org/wiki/Music_Macro_Language - a music description language used in sequencing music on computer and video game systems.
- https://github.com/atsushieno/mugene - a music macro language (MML) compiler to generate standard midi format files (SMFs). It has been somewhat extended to also generate Vocaloid song files.
- https://en.wikipedia.org/wiki/SNDH - the most common music format used on the Atari ST series of home computers. Although supporting all methods of sound generation on the Atari ST, most music in the SNDH format is Yamaha YM2149 chip music.
- http://wiki.nesdev.com/w/index.php/NSF - NES Sound Format (.nsf) is used for storing and playing music from the NES and related systems. It is similar to the PSID file format for C64 music/sound, where one rips the music/sound code from an NES game and prepends a small header to the data. An NSF player puts the music code into memory at the proper place, based on the header, prepares sound hardware, then runs it to make music. An NSF can be played on NES/Famicom hardware or in an emulator (NSF player or NES emulator).
- https://en.wikipedia.org/wiki/MOS_Technology_6581#Software_emulation - SID (Sound Interface Device) is the built-in programmable sound generator chip of Commodore's CBM-II, Commodore 64, Commodore 128 and Commodore MAX Machine home computers. It was one of the first sound chips of its kind to be included in a home computer prior to the digital sound revolution. Together with the VIC-II graphics chip, the SID was instrumental in making the C64 the best-selling home computer in history, and is partly credited for initiating the demoscene.
- https://en.wikipedia.org/wiki/VGM_(file_format) - an audio file format for multiple video game platforms, such as Sega Master System, Game Gear, Mega Drive/Genesis, MSX, Neo Geo, IBM PC AT (Adlib/SoundBlaster), and has expanded to a variety of arcade system boards since its release.The standard filename extension is .vgm, but files can also be Gzip compressed into .vgz files. Technically, .vgz files should be named .vgm.gz, but because some popular operating systems' file managers cannot handle file name suffixes that themselves contain a period, .vgz is used in order to launch a VGM player, not a file archiver program such as WinZip or WinRAR.The VGM format is different from formats like NSF or SID, which contain the game's music code. Instead, the instructions sent to the sound chip are logged.On November 20, 2005, VGM 1.50 was officially announced, and a new version of the input plug-in released. The new version of the format supported PCM optimization for the Yamaha YM2612 sound chip, which significantly reduces the size of VGM files by avoiding redundancy. The first YM2612 VGM archive, Project 2612, optimized all of its packages soon after.
- https://github.com/kode54/qsf2vgm - Uses the Highly Quixotic emulation library to render QSF files into VGM files
PSF / GSF / QSF / USF
- https://en.wikipedia.org/wiki/Portable_Sound_Format - an audio file format ripped directly from video games from a variety of video game consoles. The format was originally used for PlayStation video games, but has since been adapted to support other systems.The PSF format was created by Neill Corlett in 2003, who also wrote the Winamp plug-in Highly Experimental that plays PSF1 and PSF2 files.
- https://github.com/kode54/psflib - A small C library for reading Portable Sound Format files
- http://www.vgmpf.com/Wiki/index.php/DLS - DownLoadable Sounds (DLS) file format was firstly created by Interactive Audio Special Interest Group (IASIG) in 1990 and continued by MIDI Manufacturers Association (MMA) later. The file doesn't store music, but it does contain the digital audio samples for instrument collections. Some audio hardware has native DLS support for wavetable synthesis, for example: Creative Sound Blaster Live! Analog Devices SoundMAX series (AD1888, AD1980, AD1985, etc.). Since not many sound cards have native DLS support, Microsoft has developed DirectMusic Synthesizer, firstly bundled with DirectX 6.1, which uses DLS sound banks by design. Also the DirectMusic proprietary format was created to extend MIDI capabilities.
Mainly DLS is used in music formats like RMI or SGT, but some games can use it to store sound effects.
- KernScores - A library of virtual musical scores in the Humdrum **kern data format.
- Themefinder - provides a web-based interface to the Humdrum thema command, which in turn allows searching of databases containing musical themes or incipits.
- The Humdrum Toolkit - Software for Music Research. David Huron created Humdrum in the 1980s, and it has been used steadily for decades. Humdrum is a set of command-line tools that facilitates musical analysis, as well as a generalized syntax for representing sequential streams of data. Because it’s a set of command-line tools, it’s program-language agnostic. Many have employed Humdrum tools in larger scripts that use PERL, Ruby, Python, Bash, LISP, and C++.
- musicxml2mid - Perl script to convert MusicXML to MIDI
Music Markup Language
- Music Markup Language (MML) is an attempt to mark music objects and events with an XML-based language. Marking such objects should enable managing music documents for various purposes, ranging from music theory and notation to practical performance.