Scordatura Plug-in discussion

• Sep 16, 2020 - 17:49

Forum members have recently suggested the development of plug-in for transposing scordatura playback. I'm certainly open to the idea and would like to focus plug-in discussion here.

I'm suggesting this because I'd like to prevent my recently created a Scoratura topic from being subsumed or derailed by side topics, despite their merit!

I hope this is viewed as a reasonable request.

In the thread just mentioned I myself spurred a side discussion by inquiring about a range selection filter. On seeing the rush of replies I created a forum separate topic on a pitch range selection filter. I did so in an attempt to keep the discussion focused on scordatura, and that worked out well.

I was then able to report back concisely and provide a link to the discussion on pitch-range selection

Thanks for your cooperation on this!

scorster


Comments

It's unclear to me how a MuseScore plug-in could automatically identify candidate notes in scordatura, the notes that need playback transposition. Ultimately it seems that would require mind reading the scordaturist. Nevertheless I'm open to the concept, which is why I created this topic.

I glean that the existing Tempo plug-in requires the user to first add markers throughout their score. This leaves me concerned anyone using a scordatura plug-in would first be required to mark candidate notes and doing so may amount to more work than selecting them manually.

Surely, a range selection filter would assist by doing the bulk of the work, but that feature would have widespread usefulness in MuseScore. So I'd rather see a note-range filter baked into the app itself.

Please add general comments about a range filter here. That way we can stay focused on a scordatura plug-in in this thread.

Much appreciated!

Scorster

In reply to by scorster

The TempoChanges plugin was an example to show that plugins can be interactive if needed. I think this would be vital for a scordatura plugin. Another plugin, the Color Notes plugin, that comes preinstalled in the program is an example of selecting certain notes either score wide or within a selection and changing something about them. Using techniques from both plugins would enable the user to change select notes displayed pitch as needed. The fixed to line problem would need to be fixed somehow though. This isn't out of the question.

In reply to by mike320

I wouldn't assume that at all. I would take it at face value - as I said, a suggestion to start a new forum thread on the "fix to line" feature so we can fully understand what changes might be desired by a broad selection of users. Making a change that happens to make things better for a scordatura plugins but worse for everyone else is not something that I can get behind. Building a consent sus of how the feature could be improved for everyone is. Once there is a good solid design everyone is on board with, we can implement it.

Meanwhile, I haven't really followed the discussion here, but my guess is a plugin could still be developed using the capabilities that are present already. If someone can summarize the expected results - not just of fix to line, but precisely what the plugin should be doing to a given note and why - most likely we can help design it.

To help further this discussion—and clarify my position—I've pasted these comments I express in another thread on scordatura.

===================

A plug-in would need:

a) a means of determining what objects to target
b) a designated impact to perform on those objects

Given the scenario I've outlined I can't conceive of an algorithm that could effectively achieve "a".

At first blush it would appear that a plug-in could simply ask the user to define one (or more) target pitch ranges. But in scordatura a pitch doesn't necessarily indicate a particular string.

For instance, if I have a mandolin (normally GADE) retuned to GDAD, in the Guidian staff the written E above the open A string could be played as:

  • the 7th fret on the A string
  • the open 1st string (the one retuned to D!)

I unable to see how such choices could be automated. That said, I don't need them to be, nor was I recommending it. And if there's not an effective programmatic means of achieving "a" there no reason to think about "b". But perhaps I've overlooked something obvious. I do that all the time!

Scordatura is manual labor—like writing regular notation—and there lots of design decisions made along the way. Naturally I'm comfortable with that because Scordatura itself is easily achieved on the Guidian staff.

Is the believe that, on the fly, a plug-in can transpose of the sound output of scordatura notation? That's all I'm looking for. But again, first one would have to achieve "a" ... exactly as the scordaturist would want. I'd love to be wrong on this, but that possibility seems somewhat far fetched to me.

========

In reply to by sammik

Hi sammik,

The approach your plugin takes is interesting and logical:

  • it looks at written scoradatura and generates actual pitch notation on a parallel staff
  • or visa versa: the plugin looks at standard notation and generates scordatura.

I think there's PLENTY of merit in that. For one, the result clearly illustrates and explains the nature of scordatura.

But can you imagine a plugin—or an option added to your plugin—that simply transposes pitch playback of notes designated to the retuned strings?

For instance, if the violin is retuned from GDAE to GDGB then:

  • The 2nd string is tuned to G (rather than A) and sounds a whole step lower than normal
  • The 1st string is tuned to B (rather than E) and sounds 5 semitones lower than normal

Everything works out as long as the plugin knows which string the note is played on. And that can be easily addressed by referencing an accurately configured tablature staff (or less favorably, via string indication symbols such as those used in guitar notation.)

The plugin would cause Musescore to affect playback (and the sound of notes clicked during editing) so that according to the GDGB example:

  • notes on the 2nd string sound a whole step lower than notated.
  • notes on the 1st string sound 5 semitones lower than notated.

For instance:

  • A B C D written on the 2nd string sounds G A Bb C on playback (or when the notes are clicked)

  • B C D written on the 1st string sounds E F G on playback (or when the notes are clicked)

===================

For my workflow I'd certainly want to write the scordatura and have Musescore (or a plugin) handle the rest. And I recall that you shared the same preference for writing in scordatura.

Of course we can write scordatura in any notation application. But I've never seen an app that invokes the necessary pitch adjustments so the app's sound output is equivalent to a musician performing on a retuned instrument while playing from scordatura notation. And the pitch adjustment are important because:

  • Proofreading scordatura in a notation app without output transposition is truly taxing, and only feasible if you have the retuned instrument on hand and the facility to play it.

  • Likewise, without sound output adjustments, it's impossible to directly include a scordatura staff as part of larger score. (Sad DAW emoji.)

@Doug Kerr wrote:

> What is needed here is to be able, for a given note, to offset the sounded pitch by an integral number of semitones from the notated pitch. This is the same thing that is done today, on a staff-wide basis, by the transposition setting.
>
> If the notated pitch is 72, then we may need to send to the synthesizer not "sound 72" but rather "sound 70", or maybe "sound 68".

And that would about do it. As long as the method knows the string on which the note is to be played. (I don't mind that this is a one-way street, i.e., it does not translate standard notation into scordatura.)

All for now!

scorster

In reply to by scorster

I was curious if the plugin's Tuning fields would accent lowercase letters.

The first time I tried it Musescore crashed.

Other times the lowercase letter persists in the field, but elsewhere (like in the Strings section) the tuning alpha chars are all caps.

scorster

In reply to by scorster

Many thanks to sammik for his scordatura plugin!

The plugin allowed me to quickly edit and refine my 2008 transcription of Texas Belles by Dirk Powell, where the fiddle is tuned to Calico A: A E A C#

By realizing a notation for a "sounding staff" the plugin allowed let me easily proofread my transcription while maintaining my focus on editing/entering notes on the scordatura staff. (I leave the scordatura staff muted and listen only to the sounding staff.)

Texas Belles 05 Scrd.png

Once completed I expect to post Texas Belles to Musescore.com as my first uploaded score. The remaining work is likely just the addition of more drone notes in a separate voice.

scorster

In reply to by scorster

Im glad, You found my plugin useful. :)

Few comments
1) I see "Should be G" - You can easy edit scordatura symbol in inspector (y-offset)
2) Shouldnt be C# in scordatura symbol, if tuning is C#?
3) I would use different key signature for scordatura staff, only two sharps /quasi D major/ (Ctrl+drag), but may be, in theese fiddle toons there is different habitude

In reply to by sammik

sammik wrote >> I'm glad, You found my plugin useful. :)

The plugin is quite useful. Thanks for creating it.

Did you make it in part for your own scoring purposes? If so, in what realms do you use scordatura notation?

sammik wrote >> 1) I see "Should be G" - You can easy edit scordatura symbol in inspector (y-offset)

Problem is, I can’t select the A note in the scordatura symbol. I was able select and move the other noteheads, but not the low A.

On this point, it seems the Create Scordatura Symbol button always adds—to the selected staff—the tuning associated with the scordatura staff. As you can see, for clarification, I wanted to add a tuning Symbol to standard staff too. (Perhaps, if the user has the standard staff selected, the plugin could generate a "standard tuning" symbol for that staff!)

sammik wrote >> 2) Shouldnt be C# in scordatura symbol, if tuning is C#?

Thanks! I hadn’t noticed the missing C#! … nor do I know how that happened.

Is there a plugin command for deleting a scordatura symbol? That could be handy. Then I could remove the errant symbol and then regenerate a new one.

sammik wrote >> 3) I would use different key signature for scordatura staff, only two sharps /quasi D major/ (Ctrl+drag), but may be, in these fiddle tunes there is different habit

I see your point: All the G notes in the scordatura staff are natural. Indeed, with scordatura there may pros and cons about the likely candidate key signatures.

And I think the A key signature is apt for Texas Belles. The tune and chords are in A. And the fingering and the Calico tuning are a lot like fiddling in A (standard tuning) or in Cross A tuning (AEAE.) The key of D simply eliminates the G natural accidentals.

Thanks again!

scorster

In reply to by scorster

1) "should be G"
I see. It is behind ledger line. May be, I will try to fix this once.
Workround for now, You need to move ledger lines aside from note first, than You will be able to select bottom note and than move ledger lines back.

2) you can delete it sign by sign, it is a bit unconfortable, but works

3) I mostly work with scordatura in baroque violin music
Biber: Mystery Sonaas is really nice work.
There it is common to have two different key signatures, one "real" - sounding, in basso (and in sounding staff) and other for scordatura (there used to be many strage accidentals combinations - sharps, flats, naturals in one key signature) in scordatura staff.

In reply to by sammik

sammik wrote >> I mostly work with scordatura in baroque violin music
Biber: Mystery Sonatas are really nice.

Those Biber compositions are wonderful!

So perhaps you're a good person to ask ...

I recall a performance of either the Bach B minor Mass (BWV 232) or St. Mathew's Passion (BWV 244) and somewhere in the midst of the grandeur a light violin duet appeared with such a sparkle I assumed the violins were likely tuned AEAE. Does that sound familiar? Do you have any idea where that is in Bach's repertoire? (When I google for "Bach violin scordatura" I usually just get references for the Cello Suite No. 5. (BWV 1011) which is famous as a scordatura piece, where the A string (the 1st string) is lowered to G for CGDG, which is analogous to GDAD tuning on violin.)

Thanks, scorster

In reply to by scorster

Yes, it is because You use instrument with string data (mandolin) and saved string data of instrument (Staff properties -> Edit String Data) is different than values set by plugin.
I recommend to edit instrument string data too (thats why warning shows).

Sadly this cannot be done automagically by plugin, as "string data" is not editable by plugin API, user need to do it manualy.

Sounding staff needs scordatura tuning string data (A, E, A C#)
Scordatura staff needs standard standard tuning (G, D A E)

Cheers

In reply to by sammik

Hi sammik,

Clearly that's what the plugin's alert states.

I'm going to have to think on this. Previously I'm pretty sure I've always associated the scordatura tuning with the scordatura staff, and the standard tuning with the sounding staff. And I never saw that alert.

scorster

In reply to by sammik

Hi sammik,

The following pertains to using unliked staves with your plugin.
(I believe that linked stave are not allowed. Is that correct?)

In my successful, initial project with your plugin:

  • I put the scordatura tuning in the scordatura field
  • I put the sounding tuning in the sounding staff field

… and everything worked fine.

Your animated GIF shows this configutation ... and it was this setup I initially and successfully followed.

Screen Shot 2021-08-17 at 1.39.00 PM.png

Then, after installing a newer version of the plugin, I encountered the "tuning" alert.

Scoratura plugin - Calico Tuning Alert Sm.png

You advised that I switch the settings. And in this post you state state the same:

  • Scordatura staff have to be set as in standard tuning - string data: G-D-A-E
  • Sounding staff have to be set as scordatura tuning - string data: G-D-A-D

BUT I’m getting the alert even after I've reversed the settings to:

  • the scordatura tuning in the sounding staff field
  • the sounding tuning in the scordatura staff field

====

I'll look into your comment about tablature, but first I think I should get the basic plugin configurations working reliably.

Also, can you post your tutorial videos in video format on the MuseScore.org forum, or provide a link to youTube? It's not easy to study from an animated GIF, primarily because there's no option to pause or rewind.

Thanks!

scorster

In reply to by scorster

I guess, you worked with unfreted instruments before.

Freted instruments has "string data" setting an it is highly recomded to set this right.

If you dont plan to work with tablature, you can simply ignore that warning.

But much better is to set it right.

I am not tolking about settings in plugin, but settings in "staff properties"
https://musescore.org/en/handbook/3/tablature#change-tuning
https://musescore.org/en/handbook/3/staff-part-properties#plucked-strin…

anyway, here it is update version, which hides warning when you click "ignore, or change" in warning.

Attachment Size
scordaturaPlugin.qml 47.41 KB

In reply to by sammik

Obviously I'm confused.

Hmmm. Do I enter the scordatura tuning and standard tuning only one? Or do the Scordatura staff and Standard staff each have a setting of unique set of two tunings?

Perhaps a schematic would be helpful.

Certainly, written documentation would help me further use and explore the plugin. Once I understand the mechanism I'm glad to contribute to and/or edit any documentation. Learning just from the GIF "videos" is pretty challenging.

I'm at a stage where I can't (or don't know how to) continue working on scores I "edited" with the plugin. Do you have instructions for returning to work on a score that uses the plugin?

I have lots of existing scordatura work so I'd love to have more information on using the plugin!

scorster

In reply to by scorster

I was thinking of it, but I didnt find good reason to add it.

Sounding staff is exact copy of scordatura staff (or vice versa), just translated.

1) So why one would need to translate just some part (not whole staff)?

2) There i also practical complication. Lets say, you have set "scordatura" as source, but select two bars of sounding staff and than click "translate". What should program do? Ignore "source setting"?

In reply to by sammik

Right now I'm seeing that the plugin duplicates text from the source staff onto the destination staff. So I have to delete all those text objects.

And it looks like slur adjustments are lost when the plugin overwrites the staff.

Those are just a couple of things I noticed recently. I excect there will be more. If I can restrict the Translation to the selected notes or measures, then I can limit the amount of details I have to reset.

scorster

In reply to by scorster

1) "plugin duplicates text from the source staff onto the destination staff"
Yes, I would call it feature, not a bug. It copies whole content (dynamics, crescendo, articulations, expressions, text instructions, ...).

2) "slur adjustments are lost when the plugin overwrites the staff"
I am not sure I understand. It should copy slur adjustments as well.

I will think about it. May be, It can be so, if selection is range and only single staff is selected, it translates only selection (and ignores "source staff" setting).

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