| Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
doc:piano_notation_from_midi [2025/10/07 18:17] tedfelix [Piano Left Hand] |
doc:piano_notation_from_midi [2025/10/15 02:13] (current) tedfelix [Piano Right Hand] |
| |
| Based on "Piano Notation by Example" (https://rosegardenmusic.com/tutorials/supplemental/piano/index.html). | Based on "Piano Notation by Example" (https://rosegardenmusic.com/tutorials/supplemental/piano/index.html). |
| | |
| | ===== Initial Setup ===== |
| | |
| | Before we get started, we need to adjust one of Rosegarden's preferences. In the menu, go to Edit > Preferences... > Notation and make sure "Show notation-quantized notes in a different color" is checked. This makes finding notes that belong to different voices much easier. It highlights them in a bright, attention-getting, poisonous fluorescent chartreuse. |
| | |
| | {{:doc:pnfm-chartreuse.png}} |
| | |
| | //This might interfere with other color indicators, but I suspect it is low priority and gets hidden by them instead. Need to do a little experimenting.// |
| |
| ===== Water of Tyne ===== | ===== Water of Tyne ===== |
| * {{:doc:wateroftyne-let.pdf|wateroftyne-let.pdf}} | * {{:doc:wateroftyne-let.pdf|wateroftyne-let.pdf}} |
| |
| Open the .mid file with Rosegarden. Rosegarden will ask about the text encoding. Choose "UTF-8 (Unicode variable-width)" and you should see "e'e," appear as the example text: | Open the .mid file with Rosegarden. Rosegarden will ask about the text encoding. This dialog usually does a pretty good job figuring out the encoding, and it leans toward picking UTF-8 which is pretty much the standard these days. |
| |
| {{:doc:pnfm-choose-text-encoding.png}} | {{:doc:pnfm-choose-text-encoding.png}} |
| |
| Click ok. | Check the "Example text from file" to see if it looks right. In our case, the "e'e," looks good. Click OK. |
| |
| ===== Initial Cleanup ===== | ===== Initial Cleanup ===== |
| {{:doc:pnfm-notation-02.png}} | {{:doc:pnfm-notation-02.png}} |
| |
| Fortunately this file has the piano left and right hands separated for us. If you are working from a performance, you will have left and right in a single segment and you can use "Split by Pitch" to help split those. It isn't perfect, but it can save time. | Fortunately this file has the piano left and right hands separated for us. If you are working from a performance, you will have left and right in a single segment and you can use "Segment > Split > Split by Pitch" in the main window's menu to help split those. It isn't perfect, but it can save time. |
| |
| //At this point, we need another tutorial to show how to use "Split by Pitch" on a single piano track with both hands. Preferably an actual performance that we can quantize and maybe even leave the performance alone. Though I don't think that works right now.// | //At this point, we need another tutorial to show how to use "Split by Pitch" on a single piano track with both hands. Preferably an actual performance that we can quantize and maybe even leave the performance alone. Though I don't think that works right now.// |
| {{:doc:pnfm-score-1.png}} | {{:doc:pnfm-score-1.png}} |
| |
| Before working on a staff, it's a good idea to do three things: | Before working on a staff, it's a good idea to do two things: |
| |
| * Triple-Click to select everything. In the menu: Adjust > Quantize > Remove Notation Quantization. | |
| * Triple-Click to select everything. Ctrl+N to normalize rests. | * Triple-Click to select everything. Ctrl+N to normalize rests. |
| * Triple-Click to select everything. Ctrl+Alt+B to auto-beam. | * Triple-Click to select everything. Ctrl+Alt+B to auto-beam. |
| |
| //Why doesn't Remove Notation Quantization also Normalize Rests? That would reduce the number of steps. And it seems really obvious that it should.// | |
| |
| Close the notation editor and do a Ctrl+A and N to bring it back up again. And here's where we stand: | Close the notation editor and do a Ctrl+A and N to bring it back up again. And here's where we stand: |
| ===== Piano Right Hand ===== | ===== Piano Right Hand ===== |
| |
| Begin by doing the usual three things to the right hand staff: | Begin by doing the usual two things to the right hand staff: |
| |
| * Triple-Click to select everything. In the menu: Adjust > Quantize > Remove Notation Quantization. | |
| * Triple-Click to select everything. Ctrl+N to normalize rests. | * Triple-Click to select everything. Ctrl+N to normalize rests. |
| * Triple-Click to select everything. Ctrl+Alt+B to auto-beam. | * Triple-Click to select everything. Ctrl+Alt+B to auto-beam. |
| Now let's add a new track and segment for the second voice in the right hand. | Now let's add a new track and segment for the second voice in the right hand. |
| |
| Select track 2 (Piano RH). Press Ctrl-T to add a track under it. Double click <untitled> on the new track 3 and name the track "Piano RH 2". Using the pencil tool (F3), draw a new segment in this track that stretches from bar 1 to bar 10. To align the segment with the others, we need to adjust its start time. In the menu, go to Segment > Set Start Time... and set 0:2:16 for the bar/beat/64ths. | Select track 2 (Piano RH). Press Ctrl-T to add a track under it. Double click <untitled> on the new track 3 and name the track "Piano RH 2". Using the pencil tool (F3), draw a new segment in this track that stretches from bar 1 to bar 10. To align the segment with the others, use the arrow tool (F2) and click and drag the segment left to align it. |
| | |
| {{:doc:pnfm-segment-start-time.png}} | |
| |
| {{:doc:pnfm-main-rh-voice-2.png}} | {{:doc:pnfm-main-rh-voice-2.png}} |
| //Should we make "Tie Notes at Barlines" part of the "usual three steps" for each staff?// | //Should we make "Tie Notes at Barlines" part of the "usual three steps" for each staff?// |
| |
| Let's move RH notes from voice 1 to voice 2 where they belong. In bar 1, the D and the C# need to be moved to voice 2. First, make sure the position pointer (vertical blue line) is in the Piano RH staff. Click in a blank area and confirm that the position pointer appears there. In the following screenshot, it is just prior to bar 1: | Let's move RH notes from voice 1 to voice 2 where they belong. Since we turned on "Show notation-quantized notes in a different color" we can see the five notes that need to be moved in bright chartreuse. First, make sure the position pointer (vertical blue line) is in the Piano RH staff. Click in a blank area and confirm that the position pointer appears there. In the following screenshot, it is just prior to bar 1: |
| |
| {{:doc:pnfm-notation-08.png}} | {{:doc:pnfm-notation-08.png}} |
| |
| //Note: "Move to Staff Below" only works if the staff with the selected notes also has the position pointer within it. Is this a bug? Why can't selected notes be moved to the next staff relative to the staff the selected notes are in?// | Select all five of the highlighted notes (use shift+click to add to selection). Then right-click anywhere within the score and select "Move to Staff Below Cursor". The notes will be moved to the staff below. Bar one will look like this: |
| | |
| Click on the D and Shift+Click on the C# to select them both. Then right-click anywhere within the score and select "Move to Staff Below". The notes will be moved to the staff below: | |
| |
| {{:doc:pnfm-notation-09.png}} | {{:doc:pnfm-notation-09.png}} |
| |
| In bar 8, select the second D and Move to Staff Below. In bar 9, select the two A's below middle C and Move to Staff Below. Bars 8 and 9 should look like this: | And bars 8 and 9 will look like this: |
| |
| {{:doc:pnfm-notation-10.png}} | {{:doc:pnfm-notation-10.png}} |
| | |
| | //Feature: Why don't we automate this? Either with a "select all chartreuse" (or whatever) or with an even more powerful "split voices" feature of some kind? It could create the segment for the second voice and move all the chartreuse notes to it. Even if it's not quite right, it will still save a lot of time. We could also mark notes as "voice 2" using event properties when we do the initial notation quantization. This way the "voice 2" concept isn't lost even if the user removes the notation quantization. Then "split voices" could work based on that information. It could also invert stems and phrase markings, hide rests, and perhaps other things. See [[https://sourceforge.net/p/rosegarden/feature-requests/538/|Feature Request #538]].// |
| |
| ===== Right Hand Voice 1 ===== | ===== Right Hand Voice 1 ===== |
| ===== Right Hand Voice 2 ===== | ===== Right Hand Voice 2 ===== |
| |
| At this point, we would perform the usual three adjustments to the staff before starting, but in this case there are no issues that would be fixed by that. Still, it doesn't hurt to get into the habit: | At this point, we would perform the usual two adjustments to the staff before starting, but in this case there are no issues that would be fixed by that. Still, it doesn't hurt to get into the habit: |
| |
| * Triple-Click then Adjust > Quantize > Remove Notation Quantization. | |
| * Triple-Click then Ctrl+N to normalize rests. | * Triple-Click then Ctrl+N to normalize rests. |
| * Triple-Click then Ctrl+Alt+B to auto-beam. | * Triple-Click then Ctrl+Alt+B to auto-beam. |
| ===== Combine Voices Into One Track ===== | ===== Combine Voices Into One Track ===== |
| |
| Finally we need to move the voice 2 segment to the track with voice 1 so that they will print as a single staff. Close the notation editor and go back to the main window. With the arrow tool (F2), click somewhere to deselect everything. Click and drag the "r2" segment onto the Piano RH track. Don't fight the "snap to beat" which moves the segment to bar 2. Go to Segment > Set Start Time and set the bar/beat/64ths to 0:2:16 like before to get it lined back up. //Why doesn't snap to beat actually **snap to beat*** in 6/8 time?// | Finally we need to move the voice 2 segment to the track with voice 1 so that they will print as a single staff. Close the notation editor and go back to the main window. With the arrow tool (F2), click somewhere to deselect everything. Click and drag the "r2" segment onto the Piano RH track and line it up with the others. |
| |
| We're done with the Piano RH 2 track. Click on its label and press Ctrl+D to delete it. | We're done with the Piano RH 2 track. Click on its label and press Ctrl+D to delete it. |
| |
| To get rid of the track names to the left of the staves, set the track names to nothing. //Kind of awkward. Maybe this should be an option in the LilyPond dialog?// | To get rid of the track names to the left of the staves, set the track names to nothing. //Kind of awkward. Maybe this should be an option in the LilyPond dialog?// |
| |
| ===== Bugs ===== | |
| |
| Bug: It makes no sense that snap-to-beat doesn't snap to beat in 6/8 time. For some reason it snaps to every three beats. This makes lining up segments with anacrusis impossible, creating loop ranges impossible, etc... Need to fix this. The beat is not a dotted quarter! It's an eighth!!! | |
| |
| Bug: Notation shows notes of incorrect duration when there are voices. This makes it difficult to see that notes need to be moved to a different voice. It should mark modified notes with a color (or something) so they are easy to spot. E.g. if it is a quarter and rg has decided to show it as an eighth so it will fit, mark it with a color. It looks like tenutos may appear in some cases but it's not reliable. For the tutorial, we have the original score. That won't always be the case in the real world. Perhaps we should work toward automatic voice detection? I would assume this has already been researched and solved. Find a paper on this. | |
| |