Talking Scores Beta

Change Log

This page details various updates made to this project. The dates represent the approximate date when particular changes were committed in Git. The actual date that the changes became live on this site will most likely be different. Progress is gradually being made - so please do retry files that may not have worked before.

For more information about specific changes - see the history on Github.

Current State

  • This project currently may produce an acceptable output for fairly simple scores - potentially with multiple instruments.
  • At present - most of the testing is carried out using musicxml files exported from MuseScore.
  • If the musicxml file is too large - then processing will time out (after about 5 minutes)...

28th January 2024

  • Fix a crash trying to read the title of some scores
  • Describe unpitched notes - instead of crashing
  • Fix errors in description and summarisation when the score only had one bar
  • Fix crash when a score doesn't have a time signature

21st January 2024

  • Fixed a crash caused by not being able to read the tempo number

29th October 2023

  • Upgraded Python version and most of the libaries used by this project to more current versions.

10th October 2023

  • Fix crash before options screen if a score doesn't have a key signature
  • Show the error page instead of unfriendly error if a problem occurs before the Options screen

22nd July 2023

  • Fix problems with some filenames
  • Imrpoved text on home page

11th June 2023

  • Tuplets are now described
  • Temporary fix to stop error when scores have non-sequential bar numbers. Eg pickup bars after a repeat might be numbered differently. These bars are not described yet - but at least they won't cause an error!

1st March 2023

  • Summarise time signature / key signature / tempo changes.
  • Describe time signature and key signature changes in the talking score. Tempo changes are on the todo list!
  • Describe tempo referent (ie beat length). Also use it for music segments so playback is at the correct speed.

22nd February 2023

  • Auto summary works on scores with multiple parts.
  • Auto summary now only mentions repetition if is a significant length instead of listing every time each section is repeated. It does however, now mention the number of unique bars.
  • Repetition is now described within the score. Eg this bar was first used at bar 2 and most recently used at bar 7.
  • Describe beat fractions. Eg beat 1 - dotted crochet. Beat 2.5 - quaver.
  • Significantly increased the speed of producing a talking score - potentially over twice as fast.
  • Improved the document outline (how headings are nested) - for easier screen reader navigation.

17th October 2022

  • Each instrument is described separately.
  • If the score has multiple instruments - but you don't select all of them for description - you have the option to listen to All instruments together / All selected instruments together / All unselected instruments together. This should help to demonstrate how particular instruments fit into the rest of the score.
  • While reading the Talking Score - music segments can be played back at 50% / 100% / 150% speed - with or without a click track / metronome. This means 6 midi files are created for each single part instrument in each segment. For a long score with lots of parts - this would take too long and the request would time out... Therefore, midi files are now created on demand - when the first midi file from a particular segment is requested.

19th April 2022
Creates MIDI files for each instrument and each part (or hand) if the instrument has multiple clefs. Still needs a bit of tidying up etc.

21st February 2022
Added option for phonetic pitch names - Charlie / Delta / Echo etc.

19th February 2022
Added options for:


  • Pitch description - Colour / Note names / None
  • Rhythm description - American / British / None
  • Dot - before or after rhythm
  • Rhythm announcement - On change / Every note
  • Octave description - Name / None / Number
  • Octave position - before or after note
  • Octave announcement - Braille rules / Every note / First note of beat / On change

There is now also the option to set the text colour or background colour of pitches / octaves / rhythms.

The final bar is not omitted from the description!

14th February 2022
Mention the dot in dotted rhythms.

Describe unnamed instruments as eg "Instrument 2 (unnamed)".

13th February 2022
Begun working on scores with multiple parts / instruments. Choices from the Options page for each score are now passed to the score generator - but they are not particularly acted upon yet. Added options to play the Selected Instruments and the Unselected Instruments. If these are selected (and eg if there are any unselected Instruments) then a link is added to the top of outputted score; to play the Selected / Unselected Instruments.

A couple of bug fixes.

27th June 2021
Initial release of analysing the score to identify bars (or groups of bars) that have the same pitch and rhythm, or just the same rhythm, or just the same intervals - in order to provide output such as 'Bars 1 to 4 are used almost all of the way through'.

Also attempts to provide a summary of what might be noticeable when glancing at the music; and its distribution throughtout the score - eg 'lots of chords (some Perfect Fifth, almost all minims, mostly 2 notes)' or 'many accidentals (near the end)'.

The lists of repeating bars / groups are not very easy to read at present (especially as they are shown the Score Options page as opposed to the actual Talking Score output page) - so in a later update, they will probably be moved into the main description as eg 'first used at bar 5; most recently used at bar 9'.

28th December 2020
Upgraded Music21 from 5.5.0 to 6.3.0. One of the benefits is increased performance when creating MIDI files.

1st December 2020
Grace notes are described - but maybe not played correctly.
Note ornaments / expressions are described - just using Music21 names so may need to elaborate the description.

2nd September 2020
Rests are now described.
Semibreves are no longer described as "Unkown duration".

31st August 2020
If the score has a pickup bar / anacrusis - it is included in the output.

30th August 2020
The developers are now notified if an error occurs and the user requests to be notified by email when this is fixed.

25th May 2020
If there are no tempo changes at the start of a segment - MIDI files now include the last tempo chnage before the segment.
For example, if there is a tempo mark of 80 bpm in bar 5 and no other tempo changes in the score. If you play bars 8 to 11, the MIDI file will include the tempo change from bar 5 at the start; so that bars 8 to 11 will play at the correct speed.

26th April 2020
Added Change Log, Contact Us and Privacy Policy pages with basic title and description for SEO purposes.

22nd April 2020
Fixed error when long name for Dynamics is not known.

19th April 2020
Tempos are inserted in midi files for the 2nd stave. To-do: - insert current tempo at the start of segments.

13th April 2020
Added Google Analytics. Configured robots.txt and noindex so that completed scores are not indexed or tracked.

5th April 2020
Fixed CORS error so that midi files are played - ie we can listen to the score - or sections of it.

19th January 2020
Use 'bars at a time' from Options screen.

28th July 2019
Fixed 'unknown duration' for notes smaller than quavers.

27th July 2019
Fixed key signature in preamble.

21st July 2019
Fixed pitch ordering within beats and chords.