• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Transpose Bug?
#16
itsme, I'm a little confused by something you said above. If a key is detected in the chord pro file, that does overwrite anything else that would be detected. If not, are you saying the detection doesn't work? Or do you have a problem with that behavior? Set starting key lets you change whatever is detected or was set in the file. If you tap the button, you can just tap cancel to not make any changes, so I don't know how you would end up with a bad starting key from that. The original key is shown in the button, so hitting reset resets to that. What else would you expect it do? Being able to set the starting key is important if for some reason the key directive is not found and the detected key is incorrect. Otherwise you would have to exit the program, manually edit the chord pro file, reload MS Pro, swap the old file for the new, as the automatic file change detection does not re-read the key. That key is not the same as the key in the song editor, so if I don't provide that option, there is literally no other way to change it.

As far as the issue you are reporting, I'm confused. If you have C/Am, toggling between sharp or flat shouldn't matter, as neither of those chords is sharp or flat. If you had C#, and you selected flag, I would expect that to be Db, but I wouldn't expect C to change to C# just because you tapped the sharp button. If you are saying you selected C/Am and then tapped sharp or flat and it made no difference to the transposed songs chords, that may be true, as that toggle just flips what chords are allowed as you go left or right - not whether the transposed chords will be sharp or flat. C is neither sharp nor flat but I believe for the purposes of transposing, I treat it like a sharp chord when it comes to picking what other chords will be. That only matters if you are transposing from another key to C though, otherwise I wouldn't change what chords are displayed in a song.

Mike
Reply
#17
I think itsme refers to the case where a song has sharp / flat chords even though it is in the key of C. For example when there's a Bb chord, pressing the sharp button in the transpose dialog does not change the Bb into A#. The sharp and flat buttons seem to only affect subsequent transpositions, they do not trigger an action themselves.
Johan
johanvromans.nl — hetgeluidvanseptember.nl — mojore.nl -- howsagoin.nl
Samsung Galaxy Note S7FE (T733) 12.4", Android 13.0, AirTurn Duo & Digit (Gigs).
Samsung Galaxy Note S4 (T830) 10.5", Android 10.0 (maintenance and backup).
Samsung A3 (A320FL), Android 8.0.0 (emergency).
Reply
#18
Yes, that's it. I was mislead by starting key erroneously set to C/Am whereas the ChordPro file in fact was in Bb.
The "#" and "b" buttons only change the sequence of destination keys. The usage of flats and sharps within the song depends on the selected destination key. That's correct.
To use sharps in case of C/Am as destination key is also OK.
An option to change the usage of flats and sharps in the song independent of the destination key would not make anything better, but would be an endless cause of confusion.
But "Detect Key By" should be used on import to set the starting key and the "Keys:" meta tag in case no {key: tag is found that overwrites it. I have no doubt that this is a bug (or a missing implementation).
first language: German
Acer A1-830, Android 4.4.2 - HP x2 210 G2 Detachable, Win 10 22H2 - Huawei Media Pad T5, Android 8.0 - Boox Tab Ultra C, Android 11
www.moonlightcrisis.de - www.basdjo.de - www.frankenbaend.de


Reply
#19
My opinion about transposing is caused by the workflow that I use:
Setting the starting key is part of preparing a song. Create the file, transfer it to the tablet, edit the meta data, check that it displays OK. That's done at home, no problem to change tools, use a computer, think about what's happening. When this is finished, the starting key should be correct and will hopefully never need to be changed. So opening the file and adding {key: in case "Detect Key By" fails is not an issue, nothing different to changing a chord within the file or correcting a typo.
Transposing on the other hand is mainly a use case during a session. Someone asks for a different key or I notice that I'm in the wrong key for any reason. So this should be as quick and error-proof as possibly.
That's why I prefer to remove setting the starting key from the transpose dialog.
first language: German
Acer A1-830, Android 4.4.2 - HP x2 210 G2 Detachable, Win 10 22H2 - Huawei Media Pad T5, Android 8.0 - Boox Tab Ultra C, Android 11
www.moonlightcrisis.de - www.basdjo.de - www.frankenbaend.de


Reply
#20
The key detection in the companion is not working correctly as of the latest version and the tablet may also not be working quite right. The "Detect Key By: Chord Progression" logic also has a number of issues. I've been working on the code tonight and I have everything fixed in the companion, so I'll tackle transferring the code over to the tablet side tomorrow. You are correct that if {key} is not present, no key will be set (and it will default to C). This is not due to the detection failing though - just an oversight that caused me not to pass that detected key properly around the code as needed.

Thanks,
Mike
Reply
#21
Much better in 1.3.5 but still some bugs left:
1.) First / last chord is a minor chord, e.g. Gm
- import ChordPro file
- the key shown in the library is Bbm, not Gm
- open the newly created song for the first time, open the transpose window. It shows Bb / Gm which is correct. On the "SET STARTING KEY" button it shows DBM (if Bbm were correct, Db would match, but it is Dbm). Note that I do not change anything here!
- Cancel, close the song, open the song again, open the transpose window again. Now it shows Db / Bbm, "SET STARTING KEY" shows DBM as before.
This is the case both for "DETECT KEY BY" = "First Chord" and = "Last Chord". If the first / last chord is a major chord it works correctly. I have not tested "DETECT KEY BY" = "Chord Progression".
2.) If "DETECT KEY BY" is set to "First Chord" and the first pair of square brackets does not contain a valid transposable chord (in my library I often find [|] or [|:] at the beginning) the key defaults to C / Am instead of using the first valid chord. With "DETECT KEY BY" set to "Last Chord" it works as expected and the last valid chord is used even if it is followed by another [|] or [:|]
3.) Readability would be much better if the key on the "SET STARTING KEY" button would be displayed with correct lower case letters: Dbm instead of DBM, Db instead of DB


Attached Files Thumbnail(s)
       
first language: German
Acer A1-830, Android 4.4.2 - HP x2 210 G2 Detachable, Win 10 22H2 - Huawei Media Pad T5, Android 8.0 - Boox Tab Ultra C, Android 11
www.moonlightcrisis.de - www.basdjo.de - www.frankenbaend.de


Reply
#22
While at it...
Quote:On the "SET STARTING KEY" button it shows DBM
I will never get used to DBM meaning Dbm. "b" at least looks like "♭", but "B" does not. And in many music notation systems, M is used to indicate a Major chord.
I know it's a limitation of the UI, but nevertheless...
Johan
johanvromans.nl — hetgeluidvanseptember.nl — mojore.nl -- howsagoin.nl
Samsung Galaxy Note S7FE (T733) 12.4", Android 13.0, AirTurn Duo & Digit (Gigs).
Samsung Galaxy Note S4 (T830) 10.5", Android 10.0 (maintenance and backup).
Samsung A3 (A320FL), Android 8.0.0 (emergency).
Reply
#23
I found the bugs in the code related to minor chords. If the key that is detected for the file is a minor key, I switch to the major equivalent, but I wasn't resetting the minor attribute in my code, so it was switching to the major equivalent but still making it minor (i.e. Bbm instead of Bb in your example above). So thanks for helping me locate that.

I've also adjusted the button so that the first part is still in all caps (to stay consistent with other buttons) but the chord part is not capitalized.

Thanks,
Mike
Reply
#24
Partly fixed in 1.3.6 but still some bugs left:
1.) First / last chord is a minor chord, e.g. Gm
=> Fixed for the transpose window, it shows Bb / Gm which is correct.
The Song Editor and the list windows show Bb. It should display Gm.

This is the case both for "DETECT KEY BY" = "First Chord" and = "Last Chord".
=> This is not correct
2.) If "DETECT KEY BY" is set to "First Chord" and the first pair of square brackets does not contain a valid transposable chord (in my library I often find [|] or [|:] at the beginning) the key defaults to C / Am instead of using the first valid chord. With "DETECT KEY BY" set to "Last Chord" it works as expected and the last valid chord is used even if it is followed by another [|] or [:|]
=> This bug is still there.
3.) The key on the "SET STARTING KEY" button is displayed with correct lower case letters: Dbm instead of DBM, Db instead of DB
=> Fixed
4.) Not sure if this is new or if it already existed before:
The "Set Starting Key" window has buttons for "#" and "b" similar to the transpose window, but doesn't use what is set. It uses "#" all the time. (My opinion about the "Set Starting Key" window is unchanged: I think it is not required at all, "DETECT KEY BY" and the {key: tag are fully sufficient)
first language: German
Acer A1-830, Android 4.4.2 - HP x2 210 G2 Detachable, Win 10 22H2 - Huawei Media Pad T5, Android 8.0 - Boox Tab Ultra C, Android 11
www.moonlightcrisis.de - www.basdjo.de - www.frankenbaend.de


Reply
#25
I switch minor chords to their major equivalent to simplify transposing. If Bb is equivalent to Gm, does it matter if Bb shows up in the Song Editor? If so, I'll have to do some work in order to set the song's key to something different than the key saved for the original key when transposing.

I'll fix the other things.

Thanks,
Mike
Reply
#26
It's fine for transposing as the transpose dialog always shows both, but in the song editor it matters if it is major or minor
first language: German
Acer A1-830, Android 4.4.2 - HP x2 210 G2 Detachable, Win 10 22H2 - Huawei Media Pad T5, Android 8.0 - Boox Tab Ultra C, Android 11
www.moonlightcrisis.de - www.basdjo.de - www.frankenbaend.de


Reply
#27
Here's the file that I used for testing. (The Gm in the last measure is just for testing, it doesn't fit in the song)


Attached Files
.pro   ExactlyLikeYou_2.pro (Size: 481 bytes / Downloads: 1)
first language: German
Acer A1-830, Android 4.4.2 - HP x2 210 G2 Detachable, Win 10 22H2 - Huawei Media Pad T5, Android 8.0 - Boox Tab Ultra C, Android 11
www.moonlightcrisis.de - www.basdjo.de - www.frankenbaend.de


Reply
#28
(02-11-2016, 02:45 AM)Zuberman Wrote: I switch minor chords to their major equivalent to simplify transposing. If Bb is equivalent to Gm, does it matter if Bb shows up in the Song Editor?  

It certainly does.  Gm is the relevant minor to Bb major - there is no equivalency here.  If the music calls for a Gm, then you would not want to play a Bb major, that would be totally wrong.
Graeme

1: Samsung 12.2" SM-P900: Android 5.0.2 
2: eSTAR GRAND HD Quad-Core 4G 10.2": Android 5.1 
3: Home-built BT pedal

Some of my music here
Reply
#29
I'm not talking about those two being the same in terms of a chord or note, I'm talking about the key signature. The Bb key signature is the exact same as the Gm key signature (same number of flats). That is what key means to me when you say what key a song is in. That may be wrong or oversimplified, so feel free to correct me if I'm wrong.
Reply
#30
Yes, it is a bit oversimplified. Both a song in Bb (major) and a song in Gm are usually written with two flats at the beginning of each score line. But typical chord sequences are different: a simple song in Bb major uses Bb / F / C7 (I / IV / V7) wheras (I / IV / V7) for a simple song in Gm would be Gm / Cm / D7 or Gm / C / D7. So there's definitely a significant difference.
first language: German
Acer A1-830, Android 4.4.2 - HP x2 210 G2 Detachable, Win 10 22H2 - Huawei Media Pad T5, Android 8.0 - Boox Tab Ultra C, Android 11
www.moonlightcrisis.de - www.basdjo.de - www.frankenbaend.de


Reply




Users browsing this thread:
1 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2024 MyBB Group.