Jump to content

Fret Hand Position generation suggestion


firekorn

Recommended Posts

  • Administrator

At the moment when generating FHP, during tapping part FHP are generated like this :

 

http://i.imgur.com/hdT3f1j.png

 

But it should always be generated like that :

 

http://i.imgur.com/wQUVpVB.png

 

The tapping note shouldn't have a FHP generated on it as you can see in the tapping tutorial :

 

Firekorn's workshop
In Flames Discography

#FirekornHasDoneNothingForTheCommunity

Link to comment
Share on other sites

  • 6 months later...

@@firekorn, @@raynebc -

 

I've been thinking about this a little bit, and I think the problem might be fixed if FHP changes weren't allowed on HOPOs. This would also extend to solution to fixing problems with autogenerated FHP where there are HOPOs across more than 4 frets. I think this would be reasonable since the left hand FHP sometimes does change during a tap and would also prevent the problems with autogenerated FHP. Some possible complications I can think of are

  • Fret hand slides after pulloffs. I'm not sure whether these are considered seperately from the HOPOs, but I guess it's possible need an exception for generating the new FHP correctly.
  • Pulloffs onto open strings. Sometimes there are legitimate FHP changes after these, so there would need to be an exception for that.

Do you (or anyone else) see any other problems with this idea? Do you think it would be hard to implement?

 

Also, just some observations of official practice

  • I think they tend to set one FHP per tapping "phrase" (which may not correspond with an actual game phrase), so that the upper limit of the FHP is wherever the highest tapped note is - it doesn't shift up or down as the tapping hand does, or at least not often.
  • I'm not sure of any good examples with left hand shifting. Impossible Dreams has some, but the right hand shifts as well. FHP changes occur at the taps the begin the new measure. In Chompers the FHP sometimes shifts on open note pulloffs.

My CDLC releases and my workshop 
My CDLC previews (Lots of bass only stuff)
Join us at the Rocksmith Championship!

Link to comment
Share on other sites

There might be enough scenarios where FHPs on HO/PO notes are necessary. It probably wouldn't be hard to more immediately change FHP generation so that a change isn't automatically placed at a note that is marked with tapping technique. I'd like to see what some other folks think.

Link to comment
Share on other sites

  • Administrator

i'll admit ho/po are a bit on the opposite sides of slides when it comes to FHP. Slides means you move your hand while HO/PO (except with open notes) means your hand have to be placed already to be able to pull them off correctly, you can't just move your hand around.

 

Looking at the exemple @@albatross213 used, it appears that FHP change are on taping note and not on any of the HO/PO that are in the middle of those tapping section.

 

I can't think of any place where a ho/po have a FHP change at the same position if it's actually fretted (not an open pull off). And as albatross stated, there's also the case of slide behind any HO/PO that will lead to a FHP change for the next note.

Firekorn's workshop
In Flames Discography

#FirekornHasDoneNothingForTheCommunity

Link to comment
Share on other sites

Just so I make sure I get this straight, if the player is likely to have to move his/her hand to play a hammer on, it's better to consider it a tapped note?

 

EOF won't auto generate FHPs for open notes, so a pull off to an open note wouldn't trigger a position change, but the next played note could. That sounds like it's the way it should be, right?

 

If it's agreed here that HO and PO notes shouldn't get auto generated FHPs, I think that's an easy enough change for me to make. Let me know if that's what's called for.

 

As for the original topic, the current logic won't generate FHPs for notes in the middle of a handshape phrase (just for the note at the beginning). This should mean it would be relatively easy to just throw a bunch of single notes into a handshape phrase and consider that a tapping section or something. Is that close enough to reduce the need for a specific tapping type of phrase in EOF?

Link to comment
Share on other sites

About the only way that I can really imagine FHP changing when doing HOPOs is if you do something like a spider walk with your index finger during a long string of hopos (something like 12 h 14 h 15 p 14 p 10).

 

As for the FHPs with pulloffs to open notes, the type of thing I'm worried about is something like

7 h 8 p 7 p 0 h 4 h 5 p 4 p 0 h 2 h 3 h 2 p 0

Probably not a very common thing, but something like that would warrant an FHP change or two but wouldn't get any if there were no FHP changes on all HOPOs.

 

I also took a look at Satch Boogie (it should start right before a FHP change, but you'll want to slow down the play speed to 0.25 to see it clearly). There it looks like the FHP changes on a hammer-on after an open note.

 

At this point, I'm not sure exactly which of the proposals is better, and although either one will be a significant improvement over what we currently have, they'll probably have flaws. No FHP changes on HOPOs will fix a wider range of things, but probably has more potential to go wrong.

 

For the handshape phrase idea, that sounds like it would also work. Might be a little bit counterintuitive to author, and maybe strange to see it in game, though. Then again, I guess tapping sections are already somewhat strange visually.

My CDLC releases and my workshop 
My CDLC previews (Lots of bass only stuff)
Join us at the Rocksmith Championship!

Link to comment
Share on other sites

  • Administrator

Official can sometimes contain handshape for tapping section but not always...

 

The logic for me is the following :

If next note is HO and actual note fret value is not 0 then FHP stay the same

Else FHP can change if it did in the actual process

 

If next note is PO and next note fret value is not 0 then

  If FHP > next note fret value then FHP = next note fret value

 

So for a tapping section, with this logic, the FHP should stay in line with the fret on which the player will do a PO.

 

For a ho/po only section (tapping without the picking hand bassicaly), the FHP will only change when there's a PO to 0 (when the fretting hand is free to move around). I might forget some stuff as i'm tired right now but i hope that's clear enough.

  • Like 1

Firekorn's workshop
In Flames Discography

#FirekornHasDoneNothingForTheCommunity

Link to comment
Share on other sites

  • 8 months later...

Some suggestions :

 

1. when 10 12 is played with a pull off, and then the next note is 9 or 8, I don't think the pull of from 12 will be executed with the pinky.

Instead it would be always with the third finger, and then the index will go down to 9 or 8.

 

2. Sometimes EOF looks too far ahead, i.e. if there is an 8 several beats ahead, he will position the FHP to suggest playing a hole series of 10, 11 with 3rd and 4th finger, which is not natural. Maybe its better not to look further than 2-3 beats.

 

I think it's always easier to start with a lowest fret, and keep it as long as possible,

from the 12th fret even a note on 16 doesn't require a FHP change when a following fret is again a 12th

 

3. Slides ups are still a mess. Logically a slide up will always cause a change of FHP.

Question is which.

If a slide goes up from 12 to 14, but then the next note will be a 12 again,

it's natural to slide with the 3rd finger, the index will be on fret 10. 

After the slide, the index will then be on the right 12th fret, which is very helpful, specially if it's played on an other string.

Maybe it's just me but I often lose orientation of where my fingers end up after some slides. :lol:

 

 

4. One thing I forgot to mention : If  on a single note the finger is set to 1, the calculated FHP will set it as a position of the index finger. It may not be a big deal to add a logic that if the finger is set to 3, the position of the index will be 2 frets lower.

Edited by TomSawyer2112
  • Like 1
Link to comment
Share on other sites

  • Administrator

The more i look into my little algorithm the more i realize there's flaws into it but i think it would be a good starting ground to builds things.

 

1) indeed the change will happen on the PO note, not on the HO. Overall change on HO is rare (or maybe inexistent?) but that's not the case for the taped note that allow a change of FHP closer to a what a user can do on an PO to 0.

 

2) yes and no, looking far ahead on slow section is important, way less in fast section like shredding solos but that would also need to take into account the stretch that is impossible that vary across the neck. Stretch from 5 to 10 are pretty rare while stretch to 15 to 20 are way more frequent it would be good to take into account but that would require a lot more parameter to take into account when generating FHP, bass will probably never go higher than the standard 4 fret length while guitar can commonly use 5 to even 8/9 fret length...

 

3) even if i'm not a big fan of how slides are managed, i think for now it's the "lesser evil" of the FHP generation right now, there's probably some refinement to do with it and i'm sure Raynebc will be please with some algorithm idea :)

  • Like 1

Firekorn's workshop
In Flames Discography

#FirekornHasDoneNothingForTheCommunity

Link to comment
Share on other sites

The problem with a lot of these things is that there will be exceptions to pretty much everything since some people do crazy things on guitars. Anyway, here are some ideas:

 

Regarding slides: It would be nice if pitched slides respected the current FHP (that is, if you slide up two frets, the current FHP goes up 2 frets, and not some other amount). Currently the new FHP will often (at least for slides up. Maybe not for slides down. Can't remember right now since they're somewhat less common) just be the end fret regardless of which finger the slide would be done with, so if you have something like 8 10/12 10 The FHP will go like 8 12 10, when really there's only one shift there that follows the slide. This creates a lot of visual noise and makes sections with lots of slides even harder to keep track of.

  • This could cause a problem if the new FHP would be calculated to be a non-positive number (in most cases I'd argue that either the previous FHP or the slide wouldn't really be accurate, though) or higher than the 21st fret, but it should be easy to cover that with exceptions.
  • Otherwise, the main problem with this is that it relies on the accuracy of the previously generated FHP in order to make the new one, which maybe could lead to some weird things

 

Regarding some other shifts: If you play something like 5 7 9 7 5 right now the FHP goes 5   9   5, which isn't ideal, since even if you might play it with a shift it would be a small one (to 6th fret), not a big one up and down. Not sure how to propose something algorithmic to fix this without introducing other problems, unless you created special logic specifically for FHP that only last for one or two notes. It would make a lot of charts look a lot cleaner, though still not perfect. There might also be a way to do it by pattern matching with some common licks, but that might get too intricate.

 

Regarding tapping: I still think the idea of not allowing FHP shifts on hopo notes (except open notes) has merit. It still allows shifts on the tapped notes if necessary, and would also fix some problems like the previous one mentioned if the stretches are hopo'ed.

  • A potential problem to worry about: what about hammer-ons from nowhere. It could work with lookback logic to see if the previous note is on the same string (to see if it should be considered a "true" hammer on or a fret hand tap), but that wouldn't handle cases where you sustain a note, pause, then have a tapping lick begin on the same string.
  • It also wouldn't be perfect for things that alternate tap - open - hammer - open - tap ... if the tap and hammer frets are widely separated (like T12 p 0 h 7 p 0 T 12 ...)

 

Regardless, I'm guessing it will take some iteration and beta testing to find something that works pretty well (at least with good tabs. I'm sure you could make a tab that makes no sense that ends up poorly if you start giving special status to certain notes).

 

Also, what other things can you think of that are handled especially poorly at the moment? The most obvious thing that comes to mind is diagonal scale runs (often three notes per string, but sometimes two for diminished 7th or similar riffs), but I'm not sure if there's any nice way to handle those.

My CDLC releases and my workshop 
My CDLC previews (Lots of bass only stuff)
Join us at the Rocksmith Championship!

Link to comment
Share on other sites

  • Administrator

@@albatross213 scales would need some pattern to have a nice FHP definition but i find this to be a small issue compare to the fact that you can have a FHP when you are supposed to HO/PO note which are clearly a non-sense when people are playing and this plague guitarist and bassist the same way.

 

Indeed for slides it's ideally a shift of the FHP by the amount of fret the slide is and that is true for slides up or down.

 

This would go like :

If [ pitch Slide ] then [ FHP = previous FHP + (Slide end Fret - Slide start Fret) ]

Firekorn's workshop
In Flames Discography

#FirekornHasDoneNothingForTheCommunity

Link to comment
Share on other sites

1. when 10 12 is played with a pull off, and then the next note is 9 or 8, I don't think the pull of from 12 will be executed with the pinky.

Instead it would be always with the third finger, and then the index will go down to 9 or 8.

...

from the 12th fret even a note on 16 doesn't require a FHP change when a following fret is again a 12th

Currently, EOF assumes the player's fretting hand has a range of 4 frets from index to pinky. It doesn't take into account that frets get shorter as you go higher up the neck, but I did design the logic in a way that should make it more flexible. As a starting point for improving this, I'd have to come up with a way to allow the author to change it. For the sake of simplifying things, it may just have to be some manually changed values in eof.cfg (ie. "fret_1_range=4, fret_2_range=4, ... , fret_10_range=6). Let me know what you think.

 

2. Sometimes EOF looks too far ahead, i.e. if there is an 8 several beats ahead, he will position the FHP to suggest playing a hole series of 10, 11 with 3rd and 4th finger, which is not natural. Maybe its better not to look further than 2-3 beats.

I think it's always easier to start with a lowest fret, and keep it as long as possible

EOF prefers to keep the same FHP in effect for as long as possible. Certain preferences or human optimizations are hard for EOF to predict, so as a way to make it easier for the author to influence FHP generation, it will check to see if fingering is defined for notes. Defining the use of the index finger for the first fret 10 note would cause EOF to place a fret hand position change there and should get the desired result.

 

3. Slides ups are still a mess. Logically a slide up will always cause a change of FHP.

Slide downs would generally be the same way I'd think, although for short slides it may come down to player preference about whether they slide with their index or with another finger.

 

4. One thing I forgot to mention : If on a single note the finger is set to 1, the calculated FHP will set it as a position of the index finger. It may not be a big deal to add a logic that if the finger is set to 3, the position of the index will be 2 frets lower.

It's an interesting idea, but the index finger's position can be ambigious, especially on the high end of the fret board, where perhaps the index finger is 3 frets lower. To control the FHP, you could probably place a ghost gem and give that one an index finger definition.

 

Regarding slides: It would be nice if pitched slides respected the current FHP (that is, if you slide up two frets, the current FHP goes up 2 frets, and not some other amount).

I think I originally wanted it to work this way, but that's not how it turned out. Currently it will set the new FHP to suit the following notes. I'll look into this some more.

 

Regarding some other shifts: If you play something like 5 7 9 7 5 right now the FHP goes 5 9 5, which isn't ideal, since even if you might play it with a shift it would be a small one (to 6th fret), not a big one up and down.

I'll have to think about this some more. I think it would almost require EOF to examine the FHPs that were created and look for instances where the jump in FHP could be shortened without invalidating the other adjacent FHPs that it chose.

 

As far as tapping/HO/PO logic, I think the best first step is a simple change that several of us can agree with. Does it seem like we can all benefit from no FHPs being placed on account of hammer on or pull off notes?

Link to comment
Share on other sites

  • 2 weeks later...
  • Administrator

I like the idea of allowing user to define situation where a spawn of more than 4 fret is integrated in EOF. Not too sure about how well it will work but it's clearly worth the try anyway.

 

If fingering for single note is taken into account it could allow user to easily adapt some part to get the desired result easily without too much work. User will just have to indicate a fingering on single note where he wants a change to happen no matter what but i doubt it would change the quality of FHP for people that don't already do any effort on that point.

 

 

If [ pitch Slide ] then [ FHP = previous FHP + (Slide end Fret - Slide start Fret) ]

Might not be perfect but it should be robust enough to get most situation right.

 

Fingering other than 1 with the width larger than 4 can indeed become messy to consider properly but i don't think than doing the basic idea of FHP = Fret + (1 - Finger) would give much of a problem, as i said above, it will only matter for user that already care enough about FHP to make active correction for it.

 

Regarding HO/PO/Tap i had a starting idea :

http://customsforge.com/topic/20139-fret-hand-position-generation-suggestion/?do=findComment&comment=193419

Not sure how efficient it would be in every situation that people can encounter but without testing it in condition, i can't really think of much exception and how to take them into account...

  • Like 1

Firekorn's workshop
In Flames Discography

#FirekornHasDoneNothingForTheCommunity

Link to comment
Share on other sites

This example from my recent "Light Mote" shows what generated FHP does. (with no fingering defined)

Index finger is on 10, then the 3rd finger slides up to 15, and the generated FHP calculates a new position 15 for the index finger,

when simple logic would suggest the 3rd finger on 15, and the index on fret 13

 

http://www.mediafire.com/convkey/787b/ojf9c3augxt6geozg.jpg

 

Corrected version with a ghost note:

(I like to use the ghost note, to keep the benefit of using generated FHP, after isolated corrections, specially if there are 1300 notes)

After a correction, the generated FHP rearranges the next FHP, which sometimes automatically corrects other bad FHP, but sometimes also adds logical errors.

 

http://www.mediafire.com/convkey/e60f/3gucijidyf53pyizg.jpg

 

If [ pitch Slide ] then [ FHP = previous FHP + (Slide end Fret - Slide start Fret) ]

would do the job right, I guess

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. - Privacy Policy