Jump to content

Welcome to CustomsForge Forums
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account

Learn & Play Rocksmith!

Want to play the songs you love? Registration and the use of this website is 100% free.
The only thing you need is a legal copy of Rocksmith 2014 w/ a cable. Click here to buy it.
 
Having trouble logging in or registering? Please click "Support" below.



Photo

handshape/arpeggio for multiple notes at a time?

- - - - - handshape arpeggio eof

Best Answer raynebc, 02 May 2016 - 11:45 AM

Yes, a long time ago. You should be able to just place a handshape phrase over several consecutive chords. Go to the full post »


  • Please log in to reply
29 replies to this topic

#1
Offline   th1rtyf0ur

th1rtyf0ur

    Expert Guitarist

  • Member
  • PipPipPipPip
  • 128 posts
  • 27 thanks
  • Location:Tokyo, Japan

I'm trying to figure out how to display phrases like this the most cleanly (assume a "let ring" there):

3VBy4a8.png

 

Ideally, I'd like the arpeggio/handshape functionality to display the 1 & 3 fingers at the first & second frets throughout the whole 4-chord sequence, while keeping the standard chord boxes, but this doesn't appear to work.  With no handshape/arpeggio marks, the result is as expected, with "different" chords showing up for the 10 & 02 blocks, and the fingerings appearing & disappearing per chord:

 

t8bgsAY.png

 

If I add ghost notes to fill them out, the fingerings still don't display. Which leaves the options of using handshape or arpeggio, but these end up looking rather messy:

 

handshape:

nugEpkx.png

 

arpeggio:

pNeDzjh.png

 

This looks about the same whether I mark the entire block as a single handshape, or each chord separately (w/ appropriate ghost notes & fingerings). Or is it just not possible to do what I'm trying to do? Any instances of multiple notes without a bounding box around them tends to look really confusing & ugly, and, most importantly, are hard to tell that they actually fall on the same beat (especially when they fly by at full speed), but the overall fingering won't display otherwise... :\



#2
Offline   Rockfirstlast

Rockfirstlast

    Hall of Fame Guitarist

  • Member
  • PipPipPipPipPipPipPip
  • 1,270 posts
  • 324 thanks

Is this what you want?

 

g4MxoDk.gif

 

If so, at the end of the XML there is a handshape section.  Change the handshape chord id numbers to match the first chord.



Thanked by 1 Member:

#3
Offline   th1rtyf0ur

th1rtyf0ur

    Expert Guitarist

  • Member
  • PipPipPipPip
  • 128 posts
  • 27 thanks
  • Location:Tokyo, Japan

Yes! Thanks. Never tried mucking w/ the XML directly.



#4
Offline   th1rtyf0ur

th1rtyf0ur

    Expert Guitarist

  • Member
  • PipPipPipPip
  • 128 posts
  • 27 thanks
  • Location:Tokyo, Japan

Tried this & it works great. Would be really nice to be able to mark this in EOF, though, instead of having to manually look up the chord IDs by beat time & changing them all manually in the XML. raynebc, any chance of a feature to do this? :D (I'll submit a request)



#5
Offline   raynebc

raynebc

    Guitar God

  • Rocksmith Custom Developer

  • PipPipPipPipPipPipPipPip
  • 2,850 posts
  • 761 thanks
You should be able to author that directly in EOF with something like this:
let%20chords%20ring%20handshape_zpsoubnj

Except there's some kind of bug I have to track down that is removing the fret/finger value from the ghost note gems and causing it to not export to XML correctly. If you didn't care about the chord name showing up, you could author all three chords inside a single handshape phrase and it should export pretty much exactly like Rockfirstlast's example.

#6
Offline   th1rtyf0ur

th1rtyf0ur

    Expert Guitarist

  • Member
  • PipPipPipPip
  • 128 posts
  • 27 thanks
  • Location:Tokyo, Japan

The issue w/ putting it all in a handshape is that seems to force the notes into crazy mode, which puts the sustain tails on them. Although I suppose your example wouldn't do that, since the notes don't have any length to them. XD But that still leaves the issue of the notes showing up "floating" instead of having a box around them to visually group them together- otherwise it isn't immediately clear that they're in the same plane.



#7
Offline   raynebc

raynebc

    Guitar God

  • Rocksmith Custom Developer

  • PipPipPipPipPipPipPipPip
  • 2,850 posts
  • 761 thanks
Allowing chords inside of handshape tags (instead of forcing them to export as single notes) was brought up a while ago. I'll need to put some thought into it. Is it still considered necessary for chords inside arpeggio phrases to be broken up into single notes?

#8
Offline   th1rtyf0ur

th1rtyf0ur

    Expert Guitarist

  • Member
  • PipPipPipPip
  • 128 posts
  • 27 thanks
  • Location:Tokyo, Japan

I find that when there are more than 1 note at a time inside a handshape/arpeggio, it's hard to tell that they're actually supposed to be played at the same time- it often looks like the top note comes slightly after, especially during really fast (16ths or lower) phrases. This is even worse when one of the strings is open, as the perspective makes it looks like it's closer (i.e. earlier) than any fretted notes on top of it. Like in my examples above:

nugEpkx.png

 

It looks like the open yellow strings come before the blue 1st frets, and that the 2nd red fret comes before the open yellow string. Hence trying to get the box to show up around them. :) The way I got it to work was by editing the XML as follows:

 

Spoiler

which looks pretty much like Rockfirstlast's example:

 

Sk8PpOl.png

 

I suppose it could be "cleaned up" more by setting the chord names for 12 & 13 to "".



#9
Offline   th1rtyf0ur

th1rtyf0ur

    Expert Guitarist

  • Member
  • PipPipPipPip
  • 128 posts
  • 27 thanks
  • Location:Tokyo, Japan

Raised. :)

https://github.com/r...fire/issues/292



#10
Offline   raynebc

raynebc

    Guitar God

  • Rocksmith Custom Developer

  • PipPipPipPipPipPipPipPip
  • 2,850 posts
  • 761 thanks
Does anybody else have thoughts on whether chords inside arpeggios/handshapes should not to be broken up into single notes by default anymore? This logic was added so long ago (r1261 in December 2013) I don't remember the specific reasoning for this and all that my commit comments say is that it was necessary for arpeggios to display correctly. Perhaps it was only needed so that when a chord existed inside an arpeggio, its gems could be displayed instead of just empty chord repeat lines inside of the arpeggio. If that's the case though, I'm not sure why we all didn't just decide on doing it this way (chords with chordnotes inside the arpeggio phrase) way back then.

#11
Offline   Rockfirstlast

Rockfirstlast

    Hall of Fame Guitarist

  • Member
  • PipPipPipPipPipPipPip
  • 1,270 posts
  • 324 thanks

I think it would be best to leave arpeggios (purple lane stuff) as they are.

 

As for handshapes (blue lane stuff)  any chords written within a handshape (AFTER the start time) show up as a repeat pane.  That's why the chords were written as single notes at the same time.

 

The above example bypasses this by starting a new (same) handshape.

 

Heart shaped box (on disk song) has some examples.  Is there a way to extract xml from on disk songs so we can see what they did?



#12
Offline   raynebc

raynebc

    Guitar God

  • Rocksmith Custom Developer

  • PipPipPipPipPipPipPipPip
  • 2,850 posts
  • 761 thanks
Even if the chord inside the handshape has chordnotes, it still displays as a repeat line only? If so, I guess that means it would have to export as both a chord and as single notes as well. Does that sound about right?

#13
Offline   Rockfirstlast

Rockfirstlast

    Hall of Fame Guitarist

  • Member
  • PipPipPipPipPipPipPip
  • 1,270 posts
  • 324 thanks

Lemme try something out and I'll post what happens.



#14
Offline   Rockfirstlast

Rockfirstlast

    Hall of Fame Guitarist

  • Member
  • PipPipPipPipPipPipPip
  • 1,270 posts
  • 324 thanks

Even if the chord inside the handshape has chordnotes, it still displays as a repeat line only? If so, I guess that means it would have to export as both a chord and as single notes as well. Does that sound about right?

 

Just tested.

 

If the chord inside the handshape is written in the CHORDTIME area of the xml, it will display as a repeat line.

 

If the chord is written in both CHORDNOTETIME and NOTETIME area, it will be a repeat line (which is half height, not what he was looking for) with notes that spin as they come down the highway (also not what he was looking for).



#15
Offline   raynebc

raynebc

    Guitar God

  • Rocksmith Custom Developer

  • PipPipPipPipPipPipPipPip
  • 2,850 posts
  • 761 thanks
Just to summarize, you guys are wanting to be able to author several different low density chords that use the same chord ID in the handshape? This could get complicated as I've had to add special logic to get chords to export using different chord IDs even if they are identical when taking ghost notes into account. For example, this:
simulated%20handshape%20with%20partial%2

exports to XML as follows:
    <chordTemplate chordName="F#min6" displayName="F#min6" finger0="3" finger1="-1" finger2="1" finger3="-1" finger4="-1" finger5="-1" fret0="2" fret1="0" fret2="1" fret3="-1" fret4="-1" fret5="-1"/>
    <chordTemplate chordName=" " displayName=" " finger0="3" finger1="-1" finger2="-1" finger3="-1" finger4="-1" finger5="-1" fret0="2" fret1="0" fret2="-1" fret3="-1" fret4="-1" fret5="-1"/>
    <chordTemplate chordName=" " displayName=" " finger0="-1" finger1="-1" finger2="1" finger3="-1" finger4="-1" finger5="-1" fret0="-1" fret1="0" fret2="1" fret3="-1" fret4="-1" fret5="-1"/>
...
        <chord time="0.500" linkNext="0" accent="0" chordId="0" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
          <chordNote time="0.500" linkNext="0" accent="0" bend="0" fret="2" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="3" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="0" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
          <chordNote time="0.500" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="1" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
          <chordNote time="0.500" linkNext="0" accent="0" bend="0" fret="1" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="2" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
        </chord>
        <chord time="1.125" linkNext="0" accent="0" chordId="2" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
          <chordNote time="1.125" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="1" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
          <chordNote time="1.125" linkNext="0" accent="0" bend="0" fret="1" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="2" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
        </chord>
        <chord time="1.500" linkNext="0" accent="0" chordId="1" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
          <chordNote time="1.500" linkNext="0" accent="0" bend="0" fret="2" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="3" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="0" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
          <chordNote time="1.500" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="1" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
        </chord>
        <chord time="2.000" linkNext="0" accent="0" chordId="2" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
          <chordNote time="2.000" linkNext="0" accent="0" bend="0" fret="0" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="1" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
          <chordNote time="2.000" linkNext="0" accent="0" bend="0" fret="1" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="2" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
        </chord>
...
        <handShape chordId="0" endTime="1.122" startTime="0.500"/>
        <handShape chordId="2" endTime="1.497" startTime="1.125"/>
        <handShape chordId="1" endTime="1.997" startTime="1.500"/>
        <handShape chordId="2" endTime="2.056" startTime="2.000"/>
I'm not sure what the most elegant way to handle this would be, what's wanted is some kind of a hack so that a chord can reference the normally expected chord template in the chord section (one that filters out the ghosted strings) and a different chord template (the one for the full chord including ghosted strings) in the handshape section? Maybe the simplest solution would be a new status (activated via checkbox in the edit pro guitar note dialog) that will affect RS2 export in this type of fashion. Also, I'd probably need to do more than just depend on that full chord having been explicitly authored in the chart (maybe the bass chord in the arpeggiated section doesn't play the full chord), so it could be necessary to build a temporary chord to represent it during export. And who knows what other oddities. Let me know if this sounds like it's going down the right rabbit hole.

#16
Offline   Rockfirstlast

Rockfirstlast

    Hall of Fame Guitarist

  • Member
  • PipPipPipPipPipPipPip
  • 1,270 posts
  • 324 thanks

Just to summarize, you guys are wanting to be able to author several different low density chords that use the same chord ID in the handshape?

 

Not exactly, rather be able to author several different low density chords that use the same chord ID in a NEW handshape for each chord.

 

If it's only one handshape written all chords inside (after the start time) will be repeat lines.  Even if the high density tag is set to 0.



#17
Offline   Rockfirstlast

Rockfirstlast

    Hall of Fame Guitarist

  • Member
  • PipPipPipPipPipPipPip
  • 1,270 posts
  • 324 thanks
 
I'm not sure what the most elegant way to handle this would be, what's wanted is some kind of a hack so that a chord can reference the normally expected chord template in the chord section (one that filters out the ghosted strings) and a different chord template (the one for the full chord including ghosted strings) in the handshape section? Maybe the simplest solution would be a new status (activated via checkbox in the edit pro guitar note dialog) that will affect RS2 export in this type of fashion. Also, I'd probably need to do more than just depend on that full chord having been explicitly authored in the chart (maybe the bass chord in the arpeggiated section doesn't play the full chord), so it could be necessary to build a temporary chord to represent it during export. And who knows what other oddities. Let me know if this sounds like it's going down the right rabbit hole.

 

New tech note that lets you override the handshape?

 

Fill out chord and fingerings using tech note.  Start and Stop time set by length of tech note?  Is this something that would work?



#18
Offline   raynebc

raynebc

    Guitar God

  • Rocksmith Custom Developer

  • PipPipPipPipPipPipPipPip
  • 2,850 posts
  • 761 thanks

Not exactly, rather be able to author several different low density chords that use the same chord ID in a NEW handshape for each chord.

That's what I was intending, the chord ID is shared between the different chords, but the handshape tag is not.

New tech note that lets you override the handshape?

Fill out chord and fingerings using tech note. Start and Stop time set by length of tech note?

These are all much more complicated because tech notes are designed to not be able to have a defined length, fret value or fingering. What I'm describing is just a simple on/off status that causes the full arpeggiated shape (including all ghost notes) to be reflected for the chosen chord ID in the affected chord's handshape tag. The chord ID used in the chord tag would still ignore the ghost notes as per normal. This is probably the simplest solution I can think of for such a specialised user preference for how these types of chords would display.

Thanked by 1 Member:

#19
Offline   Rockfirstlast

Rockfirstlast

    Hall of Fame Guitarist

  • Member
  • PipPipPipPipPipPipPip
  • 1,270 posts
  • 324 thanks

Cool, looking forward to trying it out.



#20
Offline   th1rtyf0ur

th1rtyf0ur

    Expert Guitarist

  • Member
  • PipPipPipPip
  • 128 posts
  • 27 thanks
  • Location:Tokyo, Japan

exports to XML as follows:

        <handShape chordId="0" endTime="1.122" startTime="0.500"/>
        <handShape chordId="2" endTime="1.497" startTime="1.125"/>
        <handShape chordId="1" endTime="1.997" startTime="1.500"/>
        <handShape chordId="2" endTime="2.056" startTime="2.000"/>
I'm not sure what the most elegant way to handle this would be, what's wanted is some kind of a hack so that a chord can reference the normally expected chord template in the chord section (one that filters out the ghosted strings) and a different chord template (the one for the full chord including ghosted strings) in the handshape section? Maybe the simplest solution would be a new status (activated via checkbox in the edit pro guitar note dialog) that will affect RS2 export in this type of fashion. Also, I'd probably need to do more than just depend on that full chord having been explicitly authored in the chart (maybe the bass chord in the arpeggiated section doesn't play the full chord), so it could be necessary to build a temporary chord to represent it during export. And who knows what other oddities. Let me know if this sounds like it's going down the right rabbit hole.

 

 
Right- the chord section would remain the same, but the chordId in the handshapes would all be set to 0. Repeated chords within the group could show up as empty panes, but different sub-chords would obviously need to show the note gems, but ideally with the same handshape/fingering & surrounding pane.
 
You can see the finished song & how it's supposed to show up here: 
Arpeggios w/ repeated sub-chords from 1:21-23 & 1:23-25, and the above pattern from ~1:26-28 (then the sequence repeats several times).
 
I did find that after all that manual editing, it screwed up how the DDC auto-generator handled things, so the DD version ends up not showing some of the notes correctly. Not sure how to handle that, but I guess that's someone else's program/problem. ;)