Chord-symbol playback

• Aug 20, 2018 - 20:01

This seems like a simple idea, but potentially very, very useful. Namely, to create a new function, or else some kind of plug-in, that would play chord-symbols, regardless of the notes below them (as a possible option), or that would play back "lead sheets" containing chord symbols, that never had notes below to begin with.

In fact, There are only four or five programs that I know of which perform such a function, so creating such a new function would dramatically increase the versatility of MuseScore.

One such program is "Band-in-a-Box," another is "iReal Pro," another is "Improvisor".

Automated playback could be as simple as a block-chord of whatever instrument the user already has installed, or it could possibly include a kind of automatic arpeggiator using the same. It would not have to be more complicated than that, as long as the playback followed the beat correctly.

I have a handful of scores that include only the melody. Sometimes I would like to hear a playback with simple chord accompaniment, but I could easily type in the chord symbols myself; typing in the notes, however, is a bit of a challenge for me, and at the moment, I have no MIDI connection to "play" them in, either. Either case would require time, and sometimes all I want is a quick "sketch" of how the piece sounds, without too much concern for accuracy and style.

Attachment Size
Jesus_Loves_Me-chords only.mscz 12.55 KB

Comments

In fact, for such a new feature, it would be indispensible if it would not only create these chords or arpeggios, but actually show the new notes on the existing staff, or create a separate staff below and show the new notes or chords there. (If it creates them for listening, why not show them, also?)

Once they are shown on a score, they would automatically be printable, or exportable, along with the original data, in MIDI format or XML, MuseScore format, etc., as if an ordinary multi-instrument score.

For an arpeggio, it would just be a question of making the notes fit into the beat allotted, special considerations for the time signature (e.g., I assume that 3/4 arpeggios would be a bit shorter than 4/4 arpeggios, half-note arpeggios, shorter than quarter-note arpeggios, etc.)

In fact, rather than arpeggios, perhaps we could even choose from some preset permutations. For example, rather than just up and down (e.g., 1-3-5-8-5-3-1), one preset could be 1-5-3-8-5-3-1. Maybe the user could design and pre-define his own patterns within the plug-in (or feature) in a small window, using an array of eighth-notes, quarter-notes, half-notes, rests., etc.) (By the way, have you ever used the freeware program for PC called "Weird Metronome"? It has an interesting approach by which the user has unlimited freedom to design the patterns (and sounds) that he needs for tailor-made rhythm settings. It is simply incredible, but the same principles could be applied to a new MuseScore plug-in or built-in feature)

So, instead of allowing only whole-note chords, arpeggios and interesting permutations could be allowed in the new plug-in or feature.

Consequently, the user could then duplicate the new staff on his own, and redesign the duplicate staff to play the same chords in yet a different way. For example, on one of the new staves he could have simple block chords, but on the duplicate he could have an interesting arpeggio going simultaneously.

Well, it's not a simple idea. I try it every now-and-then (once in a year or two), and give up. I'm a retired programmer, which means that I'm qualified to the job, but there are obstacles on the way.

The first one is that I'm not young, and I'm not becoming younger every year. The second is the QML framework, which resembles the WPF framework that I used in the past, but lacks many features. Luckily it uses the Javascripts language, which I know. The algorithms for playing chords, other than block chords, are not so simple. The last, but not least, is the poor documentation of the MuseScore plugins framework.

To sum up, I am going to continue, but promise nothing.

In reply to by gideonrv

I want to show an example of poor documentation:

The Harmony object, the most important object for my plugin, is documented as in the screenshot below. Sorry it's not a workable documentation; I can't get the chord notes out of it. So I went to the older MuseScore 1 and found this link: https://musescore.org/en/plugin-development/harmony-object, which helps only a little.

Then I posted an issue: https://musescore.org/en/node/231191, and the negative answer I got is not there. No great help. The last clue that I found is here: "id integer the chord id, as in styles/chords.xml" (in MuseScore 1 above). What is it, a charade?

Then I found the xml file (attached). Since I can read XML, I understand this clue. In all my long professional life, I have never read such a documentation.

Attachment Size
chords.xml 30.51 KB

In reply to by gideonrv

Well, I am very grateful that you have taken the time to try. I am not even a programmer, but I come up with lots of novel ideas for improving any program, and, unfortunately, they always seem to make life harder for the programmers. Ha.

Of course, it is really a small miracle that MuseScore has come as far as it has, so, in a sense, I should not complain.

Thank you so much for all of your hard work and generous contributions of time.

In reply to by gideonrv

Realistically, I would not recommend trying to do this by plugin, since as mentioned, the facility is kind of limited. Instead, I think one's programming talents would be much better put to use actually designing and implementing a feature within MuseScore itself. It is, after all, open source. But it would be important to get some consensus on how it should work before starting the implementation.

In reply to by markshepherd

I was excited to hear the news, but I am still using MuseScore 2.3.2., and apparently this plug-in will not work in 2.3.2. Jojo said that rumor had it that I could possibly install the new version on 32-bit Vista bwith a little hacking, but I have not been able to try it yet.

I assume that you had your reasons for limiting it for use in MuseScore 3.0+ only. Too bad for me.

In reply to by ErikJon

Sorry to hear that you can't use the plugin. I see that there are several Chord Symbol plugins available for MuseScore 1 and 2. Are they not suitable for you?

Unfortunately, creating plugins for version 2 is quite different from version 3. So it would be a lot of extra work.

In reply to by ErikJon

I definitely recommend installing MuseScore 3 - the improvements are too vast to count at this point. But, might as well wait a few weeks for 3.5, then you won't even need the plugin, as chord symbol playback will be built in.

As far as I know, the 32-bit installer should work on Vista with at most only a very short extra step of installing an support library from Microsoft.

In reply to by Marc Sabatella

Yes, I certainly would like to install version 3.x, but it doesnot work on my Vista Ultimate SP2 operating system.

Otherwise, I could buy Windows 7, install it on my computer, re-install about 200 other programs that I am currently using on Vista, some of which take about 45 minutes to install correctly, so that I can use them again on Windows 7 (if they even work on Windows 7), and then re-adjust my OS settings on about 100 different aspects, and then hope that my printer and scanner drivers continue to work, but all of that would take weeks to accomplish, so I am not sure that I can afford the time to do that right now.

But if anyone has a proven testimony to support the rumor that Vista can be hacked in order to make version 3.x function (even without the Start Center), I would be delighted to know the secret. For the moment, simply running "C:\Program Files\MuseScore 3\bin\MuseScore3.exe" -w in the command prompt does not work for me.

Although it is curious that I was even able to install version 3.0 without any error messages. The error messages appear only when trying to open it, even with "comatibility" options selected for XP/Vista.

On the other hand, I have downloaded version 3.4., and my OS will not even allow it to be installed, even with the same compatibility options selected.

In reply to by Marc Sabatella

Oh no. Poor Mark Shepherd, after all that work, and now the plug-in is built in to the newest version! Well, I guarantee you that there will be hundreds of users happy to have the plug-in, in the meantime, as it makes life so much easier (for those who can use the plug in). Thanks for your great contribution, Mark!

As I mentioned on another post today (just to quote it from https://musescore.org/en/node/275458#comment-994759):

"But if anyone has a proven testimony to support the rumor that Vista can be hacked in order to make version 3.x function (even without the Start Center), I would be delighted to know the secret. For the moment, simply running "C:\Program Files\MuseScore 3\bin\MuseScore3.exe" -w in the command prompt does not work for me.

"Although it is curious that I was even able to install version 3.0 without any error messages. The error messages appear only when trying to open it, even with "comatibility" options selected for XP/Vista.

"On the other hand, I have downloaded version 3.4., and my OS will not even allow it to be installed, even with the same compatibility options selected"

In reply to by ErikJon

Oh, and by the way, thos other chord plug-ins exist for doing the exact OPPOSITE of what Shepherd's plug-in does; namely, it reads the chords at each point of the song, and creates a chord symbol above the staff based on the interpretation, albeit not always accurately, but better than nothing. (Of course, some chords can be interpreted in different ways, so it is understandable that the results should not always be as desired, but at the same time, it is curious to see that the plug-in has a bit of a knack for choosing the wrong interpretation, when compared against an original score. There must be a logical explanation for that, far beyond my limited knowledge of programming and music, but it can be frustrating. Even so, I try to stay calm and remain thankful that it does what it does, and so quickly. I try to make it easier for the plug-in, but moving the simple, continuous chords to the top of the page, and having the bass-line on the second staff, and hiding all ther other staves, but the problem persists. Maybe I just don't know how the interpretation process is taking place.

In reply to by ErikJon

Hi Erikjon, I am aware of two MuseScore 2 plugins that do the same thing (roughly) as my ExpandChordSymbols plugin:
1. musescore-chordsToNotes. The website says this is no longer maintained, but maybe it still works, I don't know.
2. notesFromChordTexts. I tried this a while ago and it worked OK.

Congratulations on keeping your Vista machine working for so long (15 years?). Be careful though. I suggest you make frequent backups because hard drives tend to wear out and crash as they get old (same as you and me:). Also, the browser you use may no longer be supported by the manufacturer - if so, you are not getting any security updates, which leaves you more vulnerable to malware and other attacks.

In reply to by markshepherd

Thank you, Mark.

Yes, I am just beginning to have a few conflicts between Firefox and Vista, for the first time, and even with Chrome, but not yet something I cannot live without. It just makes it harder to attach a PDF to an e-mail lately, in Firefox, but not in Chrome, on Vista.

Thanks for the warning about back-ups. I certainly try to back up everything. The machine itself is only about six or seven years old, and as a clone, it had Vista pre-installed, I believe. If not, I might have installed it myself, in order to avoid conflicts with software and drivers known to work with Vista on a previous computer.

I would like to stay a little behind as long as possible, not only to avoid new problems, but conflicts with old cherished software that does not work on the newer OS. Some people do not understand that concept, but that is the main reason that I am always slow to upgrade.

Not to mention, that lots of new software tends to be bloated with unnecessary features and consumes much more memory than the older version. When I confront the programmer about it, he inevitably says something like, "Well, we try to take advantage of the increase in technology and resources available to the average consumer these days, such as larger hard drives, more memory, and so on, so we don't limit ourselves as much as we used to, when it comes to saving space or memory...that is why the new version is 800MB in size, and the old version was only 120MB, for example." So then, after upgrading the software, we end up upgrading the OS, which leads to upgrading the hardware, in a vicious cycle.

I have an older edition of ProTools that works fine on Vista. and Photoshop CS2, Indesign CS2, Acrobat 8, and Illustrator CS2. What am I supposed to do? Upgrade the OS just to make Firefox and Musescore happy, and then pay hundreds of dollars to replace the commercial software, and hundreds of hours trying to find new versions of all the other little programs? Even to buy Windows 7 or 8 separately would cost $100 or more. Even the freeware utilities that I have been using for ten years, are sometimes nearly irreplaceable, and have no "newer versions." So, my experience for the past 20 years has taught me to aim for a reasonable compromise between upgrading and keeping everything working peacefully, because time, itself, is also valuable, but upgrading usually leads to spending more money somewhere along the way, either on the OS, or the software, or the hardware, so I generally upgrade only when necessary, especially when on a very low budget as I am these days.

Thanks to the links to the other plug-ins related to chords, Mark. I don't know if I missed them, or tried them before, but I will look into them immediately.

Incidentally, I wonder if anyone knows the MINIMUM system requirements for the LATEST version of Musescore due to come out in the next few weeks? For example, will it work on Windows 7 32-bit, without performing any particular hacks or running from the command prompt?

In reply to by ErikJon

I don't envy your position. Buying a new computer and updating all the software would cost thousands, plus a lot of time.

BTW, one of the biggest reasons that software vendors do not support older OS versions is testing. You can't release new software until you test it on all supported platforms and versions. It is not economically feasible to test on every old version. Automated testing is very helpful, but you'd be surprised how much manual testing is still done. Manpower = $$$. Another big reason is that newer OS versions offer more under-the-hood capabilities, which programmers can use to do things that were not possible in earlier versions. Why do we need so many new features? One answer: customers demand it. Another answer: to entice customers to buy new software! I think both are true.

In reply to by ErikJon

Don't replace your old, obsolete and unsupported operating system by yet another, Windows 7 or 8. go for 8.1 other 10. I bought 10 Pro for under 60 Euro.
MuseScore 3.x needs Windows 7 or later and 32 or 64 bit, that won't change with 3.5. What has changed since MuseScore 3.4.2 is that Windows 7 ran out or support in January this year.
You most probably don't need a new computer, but if you don't have it yet an SSD would be highly recommend.

In reply to by ErikJon

Hi Erik, if your machine is 6 or 7 years old, its hardware supports virtualization.
So you might install the latest version of virtualbox supported by Vista (it is free), then configure a virtual machine with Ubuntu (or Windows 10 if you buy a licence but before that you would need to validate that it will run in virtualbox on Vista).
Then you can step by step install "modern" software in that virtual machine, such as MuseScore 3.5 or the latest version of Chrome/Firefox, continuing to use Adobe cs2 and your other programs at first level.

In reply to by ErikJon

Everything is going well. I have installed Oracle VM Virtual Box Manager v.5.2. Is this a sort of platform onto which I must still install Ubuntu separately, or is Ubuntu already included in it? I don't understand where to go from here.

If I must download Ubuntu separately and install it onto the Virtual Box Manager, how do I do that, and which version will work on this Vista installation?

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