Talking Scores, home page

Change log

What has changed, newest first.

A score that did not read correctly before is worth trying again after a change.

What it handles today

  • Scores of a few instruments read well; dense orchestral scores are harder to follow.
  • Most testing uses MusicXML exported from MuseScore.
  • A very large file times out after about five minutes.

The code is on GitHub, where every change is recorded in full. This site is a separate version of Talking Scores by Ben Timms, with changes that are not in the original.

October 2026

  • Play the whole score follows repeats, first and second endings, and D.C. and D.S. marks, and says each bar number again when a repeated bar comes round
  • A group holding D.C. or Fine plays its own bars instead of failing to play
  • Transposing instruments such as the clarinet in B flat play at concert pitch
  • Grace notes play as short notes before the note they lead to
  • Each part plays on its own sampled instrument channel, so the balance setting and held notes stay with that part
  • Lead sheets with a chord such as C7♯9 open as talking scores
  • Chord symbols are read with flat and sharp signs, such as B♭m7
  • A bar of rests under chord symbols reads its chords beat by beat
  • Chord symbols are read on a line of their own above the parts, named in words, such as B flat minor seventh
  • Options can add each chord's notes, or read the chord as written, such as B♭m7
  • A stave with two voices is read one voice at a time, each on its own line
  • Plainer wording on the home, Find a score, progress, error, contact and privacy pages, and the home page says who Talking Scores is for
  • The button that makes a talking score now reads "Create talking score"
  • Error messages for a link that cannot be opened now say what to do next
  • Screen readers hear "Talking Scores, home page" on the site name, and no longer hear the drag and drop hint
  • A short link on every talking score that reads as words, with a button that copies it, under Share, download or print: the title for a score from the library or a web address, such as /s/ode-to-joy, and three music words for an uploaded file, such as /s/presto-cello-fugue
  • A MIDI player page that plays any MIDI file in the browser with instrument sounds, such as one saved from a talking score
  • Find a score now holds over 2,000 free scores: piano pieces, songs, choral music, string quartets and Bach chorales, searchable or listed by collection
  • Three examples on the home page that open as talking scores straight away
  • A Download MusicXML link beside every library score in Find a score
  • Every talking score starts private, open only to people with its link. The reader who opened the file can list it in Find a score, under Shared by readers; an uploaded file is listed only after its reader confirms they can share it, and others get the talking score, not the file
  • The talking score page keeps six controls in view: previous and next group, the bars on screen, read aloud, and the two play buttons, each of which turns into Stop while it runs
  • Settings, Go to a bar, About this score and Share, download or print fold away, one open at a time; the settings sit in five tabs
  • Keyboard shortcuts: Alt+N and Alt+P move between groups, Alt+R reads aloud, Alt+L plays, Alt+G goes to a bar
  • Text size can enlarge the buttons and menus as well as the notes, and is set on the Options page as well as the talking score page
  • Picking a style on the Options page fills in every detail below it; changing a detail makes the wording your own instead of being ignored
  • A choice of speaking voice for reading aloud, from the voices on the device
  • Options opens on the choices a talking score was made with, from the Change the wording link on its page
  • A Wording tab under Settings rewrites the talking score in another style and comes back to the same bar
  • Fingering: fingers printed in a score are read under each bar as hand positions and moves, with every finger one step away
  • Suggested piano fingering for the notes a score leaves unfingered, chosen under Options and always read as suggested
  • Suggested fingering for guitar (strings and frets), violin (first position) and trumpet (valves)
  • Fingering for another instrument: under Options, any score can be fingered for piano, guitar, violin or trumpet

September 2026

  • Rebuilt the talking score page around bars, with headings, a contents list and a place kept in each score
  • Five styles, from everyday words to a reference style that names stems and beams
  • Downloads of the whole talking score as a page, as plain text or as uncontracted braille
  • Playback in the browser: any range of bars, at any speed, with a click, and with parts on or off
  • Playback of the whole score from one button, and a download of it as one MIDI file
  • Playback with sampled instrument sounds, so each part sounds like the instrument it is written for
  • Reading aloud: the open group read in the device's own voice, with a choice to play each bar after its words or to hear each bar number during playback
  • Colours, text size and a high contrast setting, kept on the device
  • Rebuilt the pages that open a score, leading with the choice each one makes
  • Find a score: search 1,462 songs and 196 string quartets from OpenScore, and open any of them as a talking score
  • Drag and drop on the home page is back
  • A link to a file's page on GitHub works as well as a link to the file
  • The home page leads with where to find a MusicXML file, with one line on exporting
  • Removed the analytics code and every script loaded from another site
  • Pages now carry their usual names: Privacy policy, Contact, Options
  • The code link goes to this version, and the footer names the original Talking Scores by Ben Timms
  • Messages now go to contact@davidbuik.com
  • Shorter wording on every page, and the result is called a talking score throughout
  • Server error messages now say what to do next, next to the control that caused them
  • A bar used once more reads "used 1 more time", and the download messages and privacy policy say what the site does
  • Reads slurs, articulations, repeat marks, clefs and written directions
  • Reads a tied note within a chord, an accidental carried from earlier in the bar, a natural that cancels the key signature, and drums struck together
  • Keeps tuplet groups and hairpins as written in the file, including where the bracket is left out
  • Reads a bar split across two printed halves, both halves of a repeat ending, and every bar in a file whose numbering skips a number
  • The bar count leaves out the pickup bar, and a score that names only its movement takes that name
  • The page now grows with the browser window and stays readable at any zoom level, with bar lines kept visible
  • Gave the site an icon so its browser tab is identifiable
  • High contrast now drops custom colours
  • A rejected upload keeps what was entered, so it does not need retyping
  • Marks the open group with a turned chevron, and shows why "one note per line" is locked at the largest text size

June 2026

  • Removed the analytics tracking script from every page
  • Rejects an uploaded file or web link that is not a MusicXML file, and files over 10 MB, with a message saying so
  • Asks the reader to select at least one part before generating a talking score
  • Changing an option and generating again now produces a fresh talking score instead of reusing the old one
  • Keeps the answers on the Options page if something is entered wrong, instead of losing them
  • The processing page now shows real progress while a score is generated, instead of a fixed wait
  • The talking score can be downloaded as a self-contained page that follows the reader's system light or dark setting

July 2025

  • Added a dark mode switch, and improved its contrast and compatibility across the site
  • The home page now takes a file by drag and drop, and drops the italic "No file selected" text
  • Redesigned the Options page with a live preview, colour customisation for pitch, octave and rhythm, and an option to leave out repetition information
  • Fixed the octave announcement option not collapsing when its parent choice is set to none
  • Added a floating navigation ribbon and fixed a scroll bug on the score page
  • Fixed several bugs in the talking score, including a missing pickup bar, skipped grace notes and bars split into the wrong groups
  • Fixed an option change not actually changing the talking score shown, and made MIDI files load faster on a score already read
  • Removed the beta tag and switched to British spellings throughout

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 libraries 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
  • Improved 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 throughout 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 "Unknown 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 change 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.