Chord Playback

• Oct 21, 2015 - 02:36

It would be great if you could hear the chords when you play back the music you have created.


Comments

In reply to by tuckertulbert

This is not supported. There are other programs that speciailize in that sort of thing - Impro-Visor being one open source example. MuseScore instead focuses on the notation itself. It's possible some day we will integrate with a program that specializes in computer-generated accompaniment.

In reply to by Marc Sabatella

It's not only for accompaniment, it is also for prooflistening to make sure your notation including the chord symbols are right. It would be nice if this playing of chords just would be added in MuseScore (if you have to use another application for every little other feature, it becomes very annoying).

I think you would have to add the chords into an extra staff as sets of notes, rather than using the chord text notation feature. If you just have a few chords, you could copy/paste them as needed reasonably easily. Assuming block chords are sufficient and duration isn't all that important it should go fairly quickly.

The problem with implementing something like this is that you would have to write some sort of AI to generate the chords.

eg A C major chord can be played in 4 different ways on the guitar - how is MuseScore going to know which one you want? And how is it going to know which strum pattern to use?

This would add yet another layer of complexity on an already complex program, which would require maintenance alongside the other areas of the application, thus slowing development and bug fixing in other areas.

The MuseScore development team is tiny - there are only 2 full time programmers. The rest of it is made up of people who provide their expertise as and when other commitments make it possible.

Once score layout and basic playback issues have been resolved then of course it may be considered for inclusion in a future release.

In reply to by Jojo-Schmitz

Yes, but then you only get get playback if someone actually uses fret diagrams and provides strum rhythms. The vast majority of lead sheets do neither. And realistically, a somole repeating "strum rhythm" is almost never how chords are actually in many of the styles of music that use chord symbols. You need a while AI system that is "style aware" so it can voice C7 differently for folk versus funk versus jazz, and come up with appropriate rhythms for each style - also patterns appropriate for guitar versus piano versus bass versus other instruments that play from chord symbols. Plus in most styles, you'd expect to hear drums too. Getting anything remotely usable as accompaniment from chord symbols is a monumental undertaking. Given that other programs have taken this task on, why reinvent the wheel?

In reply to by Jojo-Schmitz

Sure it's *simple* to just play those in that order in that octave. But it's not the way music is actually played - not on not on guitar, not on piano, not on bass, etc. Naive approaches to chird playback like that sound absolutely terrible and end up being not really worth the trouble to implement. But doing it well is far from simple.

There is a reason there are entire applications out there that specialize in trying to solve these problems in realistic ways. Rather than do a terrible job of rolling our own crude and limited / naive form of playback, I'd much rather see us do a good job of integrating with a program that itself does a good job of generating realistic accompaniment.

In reply to by Marc Sabatella

yes, not for a realistic playback, just for an audible checking option (and of course with an option to turn on and off).
If there is a chord symbol, just build the chord as per music theory and play, if there is a fretboard diagram however, we could go a step furter, then we know the exact voicing/fingering, so can make it sound correct.

In reply to by Jojo-Schmitz

For an audible checking option, instead of playing the canonical version of the chord, it might be better to play all of the notes of a chord over the range of the piano. Some sort of volume envelope centered on the first octave below middle C, and the tonic, would seem needed. Presumably that's what they do for those synthesized chords on digital keyboards. Sounds saccharine for sure, but for checking and testing progressions it could be best.

In reply to by MikeN

For the record this facility in Finale 2003 used to drive me crackers until I worked out how to turn it off!

The chords from the melody/vocal line were rendered as root position triads from the middle octave of the piano, thus clashing horribly with many passing notes or suspensions! Particularly if they were secondary 7ths, half diminished or diminished chords :(

Rather than expect the computer to do this it would be better to put some effort into aural training so you can hear what you're notating.

In reply to by ChurchOrganist

Here's another vote for "stupid" chord symbol playback, just to help me make sure I wrote what I meant. It would be great just to hear each chord played once in root position. Maybe one nice addition would be to allow the user to choose the playback instrument for the chords, so it wouldn't clash so much with the melody.

@tuckertulbert is the playback of chord symbols something you would purely use as an audible verification of the just entered symbol?

There is another notation program, EasyABC which uses ABC notation and it supports playback of chords with lead lines. It is primitive but it does play the chords as expected in a very basic way.

EasyABC takes MusicXML files as input (and also has an experimental MusicXML Export feature which seems to work at least on simple charts) so you can notate in MuseScore, export to XML, then import to EaseABC and play with chords on (make sure you go to the Settings and click "Play Chords" as the default is off).

You can make changes in EasyABC using ABC notation (much more tedious than MuseScore IMHO but workable) and then you can reverse the process (export to XML from EasyABC) and import in MuseScore to see any changes you made.

It all seems to work nicely if a bit awkwardly.

Fwiw, I've done the following experiment to generate a playalong to Sonny Rollins' Tenor Madness:

1. Write down the chords in ChordTrane (http://www.chordtrane.com/)
2. Generate a MIDI file of the accompaniment
3. Import the MIDI file back into MuseScore

Here's the original tune: https://musescore.com/infojunkie/scores/2028751 and here's the playalong: https://musescore.com/infojunkie/scores/2028781

ChordTrane seems to work well enough - but it's packaged as a web app and it's written in Scala. Ideally, the core logic of the playalong generation would be re-written as a MuseScore plugin.

Do you still have an unanswered question? Please log in first to post your question.