- 1 General
- 2 Notation software
- 2.1 Common Music Notation
- 2.2 MuseScore
- 2.3 LilyPond
- 2.4 mingus
- 2.5 Music Suite
- 2.6 Notezilla
- 2.7 PianoBooster
- 2.8 Midi Sheet Music
- 2.9 Jniz
- 2.10 Noteedit
- 2.11 NtED
- 2.12 LiederNet Archive
- 2.13 Verovio
- 2.14 Canorus
- 2.15 Guido Engine Library
- 2.16 Muscript
- 2.17 Mup
- 2.18 INScore
- 2.19 CLCE
- 2.20 Antescofo
- 2.21 TuxGuitar
- 2.22 Chordious
- 2.23 Belle
- 2.24 to sort
- 3 Notation data formats
- semibreve, 4/4
- minim, 2/4
- crotchet, 1/4
- semi-quaver, 1/8
- https://en.wikipedia.org/wiki/Solmization - a system of attributing a distinct syllable to each note in a musical scale. Various forms of solmization are in use and have been used throughout the world, but solfège is the most common convention in Europe and North America.
- https://en.wikipedia.org/wiki/Shape_note - a music notation designed to facilitate congregational and community singing. The notation, introduced in 1801, became a popular teaching device in American singing schools. Shapes were added to the note heads in written music to help singers find pitches within major and minor scales without the use of more complex information found in key signatures on the staff.
- 8notes.com - Free Sheet Music, Riffs, Lessons and Tools for musicians who play.
- https://en.wikipedia.org/wiki/List_of_musical_symbols - the marks and symbols, used since about the 13th century in the musical notation of musical scores, styles, and instruments to describe pitch, rhythm, tempo and, to some degree, its articulation (a composition in its fundamentals).
- Mutopia Project - offers sheet music editions of classical music for free download. These are based on editions in the public domain or under Creative Commons licenses. 2099 pieces of music – free to download, modify, print, copy, distribute, perform, and record – in PDF, MIDI, and editable LilyPond file formats.
- SMuFL - Standard Music Font Layout is a Steinberg specification that provides a standard way of mapping the thousands of musical symbols required by conventional music notation into the Private Use Area in Unicode’s Basic Multilingual Plane for a single (format-independent) font.
- GNBU Solfege - an ear training program written in Python intended to help musicians improve their skills and knowledge. It is free software and part of the GNU Project.
- Jalmus - a free, open source music education software helping the musicians, especially pianists, to improve their sight-reading. You can train to read music with both exercises on notes or rhythms.
- Impro-Visor - short for “Improvisation Advisor”, is a music notation program designed to help jazz musicians compose and hear solos similar to ones that might be improvised. The objective is to improve understanding of solo construction and tune chord changes. There are other, secondary, things it can do, such as improvise on its own. It has also been used for transcription. Because rhythm-section (e.g. piano, bass, drums) accompaniment is automatically generated from chords, Impro-Visor can be used as a play-along device. Now having a wider array of accompaniment styles, its use is not limited to jazz.
- https://github.com/free-creations/Repetitor - a MIDI player intended as a music training tool.
- Hacklily - an online sheet-music editor and publishing tool. It consists of a frontend Lilypond editor using monaco (the editor that powers vscode) and a backend Lilypond renderer. It can publish songs directly to GitHub. 
VexFlow / VexTab
- VexTab - a language that allows you to easily create, edit, and share standard notation and guitar tablature. Unlike ASCII tab, which is designed for readability, VexTab is designed for writeability.
- Nootka - an application to learn classical score notation. It helps to understand the rules of reading and writing scores and helps with developing skills of playing and singing notes. Simply: users looks at piece of a score, plays it, Nootka is listening to it, checks and shows was it played well. All in real time. The application is free and open source. It works under Windows, Linux, MacOs and Android.
- Prelude - a modern web application for helping you practice your sheet music reading musical abilities and perhaps more. This project is still in development.
- Partifi - An automated tool for creating parts from music scores
- Hummingbird - A fresh take on music notation — easier to learn, faster to read, and simpler for even the trickiest music.
- https://en.wikipedia.org/wiki/Rhythm - (from Greek ῥυθμός, rhythmos, "any regular recurring motion, symmetry" (Liddell and Scott 1996)) generally means a "movement marked by the regulated succession of strong and weak elements, or of opposite or different conditions" (Anon. 1971, 2537). This general meaning of regular recurrence or pattern in time can apply to a wide variety of cyclical natural phenomena having a periodicity or frequency of anything from microseconds to millions of years.
In the performance arts rhythm is the timing of events on a human scale; of musical sounds and silences, of the steps of a dance, or the meter of spoken language and poetry. Rhythm may also refer to visual presentation, as "timed movement through space" (Jirousek 1995,[page needed]) and a common language of pattern unites rhythm with geometry. In recent years, rhythm and meter have become an important area of research among music scholars. Recent work in these areas includes books by Maury Yeston (1976), Fred Lerdahl and Ray Jackendoff (Lerdahl and Jackendoff 1983), Jonathan Kramer, Christopher Hasty (1997), Godfried Toussaint (2005), William Rothstein (1989), and Joel Lester (Lester 1986).
In Thinking and Destiny, Harold W. Percival defined rhythm as the character and meaning of thought expressed through the measure or movement in sound or form, or by written signs or words (Percival 1946, 1006).
- https://en.wikipedia.org/wiki/Meter_(music) - of music is its rhythmic structure, the patterns of accents heard in regularly recurring measures of stressed and unstressed beats (arsis and thesis) at the frequency of the music's pulse.
A variety of systems exist throughout the world for organising and playing metrical music, such as the Indian system of tala and similar systems in Arabian and African music.
Western music inherited the concept of metre from poetry (Scholes 1977; Latham 2002b) where it denotes: the number of lines in a verse; the number of syllables in each line; and the arrangement of those syllables as long or short, accented or unaccented (Scholes 1977; Latham 2002b). The first coherent system of rhythmic notation in modern Western music was based on rhythmic modes derived from the basic types of metrical unit in the quantitative meter of classical ancient Greek and Latin poetry (Hoppin 1978, 221).
Later music for dances such as the pavane and galliard consisted of musical phrases to accompany a fixed sequence of basic steps with a defined tempo and time signature. The English word "measure", originally an exact or just amount of time, came to denote either a poetic rhythm, a bar of music, or else an entire melodic verse or dance (Merriam-Webster 2015) involving sequences of notes, words, or movements that may last four, eight or sixteen bars.
- https://en.wikipedia.org/wiki/Additive_rhythm_and_divisive_rhythm - terms used to distinguish two types of both rhythm and meter. A divisive (or, more commonly, multiplicative) rhythm is a rhythm in which a larger period of time is divided into smaller rhythmic units or, conversely, some integer unit is regularly multiplied into larger, equal units; this can be contrasted with additive rhythm, in which larger periods of time are constructed by concatenating (joining end to end) a series of units into larger units of unequal length, such as a 5/8 meter produced by the regular alternation of 2/8 and 3/8 (London 2001, §I.8). When applied to meters, the terms "perfect" and "imperfect" are sometimes used as the equivalents of "divisive" and "additive", respectively (Read 1969, 150).
- https://en.wikipedia.org/wiki/Drum_beat - a rhythmic pattern, or repeated rhythm establishing the meter and groove through the pulse and subdivision, played on drum kits and other percussion instruments. As such a "beat" consists of multiple drum strokes occurring over multiple musical beats while the term "drum beat" may also refer to a single drum stroke which may occupy more or less time than the current pulse. Many drum beats define or are characteristic of specific music genres.
- https://en.wikipedia.org/wiki/Bell_pattern - a rhythmic pattern, often a key pattern (also known as a guide pattern, phrasing referent, timeline, or asymmetrical timeline), struck on an Idiophone, in most cases, a metal bell, such as an agogô, gankoqui, or cowbell, or a hollowed piece of wood, or wooden claves. In contemporary music, bell patterns are also played on the metal shell of the timbales, and drum kit cymbals.
- https://en.wikipedia.org/wiki/Clave_(rhythm) - a rhythmic pattern used as a tool for temporal organization in Afro-Cuban music. It is present in a variety of genres such as Abakuá music, rumba, conga, son, mambo, salsa, songo, timba and Afro-Cuban jazz. The five-stroke clave pattern represents the structural core of many Afro-Cuban rhythms.
The clave pattern originated in sub-Saharan African music traditions, where it serves essentially the same function as it does in Cuba. In ethnomusicology, clave is also known as a key pattern, guide pattern, phrasing referent, timeline, or asymmetrical timeline. The clave pattern is also found in the African diaspora musics of Haitian Vodou drumming, Afro-Brazilian music, African American music which is known as Hambone and also found in Louisiana Voodoo drumming as well as Afro-Uruguayan music (candombe). The clave or known in the United States as hambone pattern is used in North American popular music as a rhythmic motif or simply a form of rhythmic decoration.
- A Dictionary of Exotic Rhythms - With a brief note on their combinatorial properties. Mike Keith.
- From Polychords to Pólya: Adventures in Musical Combinatorics (1991) by Michael Keith
- PDF: The Geometry of Musical Rhythm - Godfried Toussaint
- PDF: Mathematical Features for Recognizing Preferencein Sub-Saharan African Traditional Rhythm Timelines - Godfried Toussaint
- Tempo Mental - by Steve Vai
- PDF: The Euclidean Algorithm Generates Traditional Musical Rhythms - Godfried Toussaint
- PDF: The Geometry of Musical Rhythm - Godfried Toussaint
- PDF: The Distance Geometry of Music - Godfried Toussaint, et al, 2007
- YouTube: Euclidean Rhythms - finishes in a modular synth context - 4:24
- YouTube: "Killer Rhythms", Part 2: Godfried Toussaint's Euclidean Rhythms - 12:59
- https://en.wikipedia.org/wiki/Cross-rhythm - or cross-rhythm is a specific form of polyrhythm. The term cross rhythm was introduced in 1934 by the musicologist Arthur Morris Jones (1889–1980). The technique of cross-rhythm is a simultaneous use of contrasting rhythmic patterns within the same scheme of accents or meter … By the very nature of the desired resultant rhythm, the main beat scheme cannot be separated from the secondary beat scheme. It is the interplay of the two elements that produces the cross-rhythmic texture.
- http://test.hemiola.com/polyrhythm/ - very basic poly rhythm generator. use Reload setting, doesn't drop beats.
- YouTube: "African Polyphony & Polyrhythm" by Chris Ford - Strange Loop
- https://en.wikipedia.org/wiki/Tablature - or tabulature, or tab for short) is a form of musical notation indicating instrument fingering rather than musical pitches. Tablature is common for fretted stringed instruments such as the lute, vihuela, or guitar, as well as many free reed aerophones such as the harmonica. Tablature was common during the Renaissance and Baroque eras, and is commonly used today in notating many forms of music. Three types of organ tablature were used in Europe: German, Spanish and Italian. To distinguish standard musical notation from tablature, the former is usually called "staff notation" or just "notation".
- https://github.com/YuriyGuts/dechorder - Automatic chord recognition application powered by machine learning
- https://github.com/senshu/TablaZinc - Generate guitar tablatures using a constraint solver
- http://www.openculture.com/2014/07/the-oldest-song-in-the-world.html 
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
- https://github.com/sletz/CLCE - Common Lisp Compositional Environment
- 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.
- https://github.com/burnson/belle - engrave a graph representation of sheet music and render it to an output device such as a PDF or a screen. As Belle is a cross-platform software library, it does not have a frontend user interface. However, Belle has been used for many interactive applications: it is the sheet music renderer in MusicPal and Harmonia.
- 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://github.com/vgmtrans/vgmtrans - converts a music files used in console video games into standard midi and dls/sf2 files. It also plays these files in-program.
- 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://github.com/protodomemusic/mmml - This little project was built to facilitate simple composing of 1-bit music for AVR microcontrollers using a derivation of Music Macro Language (MML). You can then, with the most basic of components, make cool embedded albums that run off a single coin cell battery.
- 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
- 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.
- https://wiibrew.org/wiki/BRSTM_file - contain ADPCM sound data. They are used for music in some games, such as Super Smash Bros. Brawl and Mario Kart Wii.
- https://github.com/libertyernie/brawltools - BrawlLib and BrawlBox are designed to edit various types of data files found in Super Smash Bros. Brawl.
- https://github.com/kenrick95/nikku - Web-based BRSTM player
- 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
- https://github.com/webern/mx - C++ binding for MusicXML.
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.
- Performance Markup Language (PML) - an open, extendable XML-based representation which is intended to be used as a basis for systems used to investigate elements of musical performance. It can be used to extend XML-based musical notation representations to include support for the representation of performance markup and analytical structures.