Jump to content

Capo chord support

Go to solution Solved by cstewart,

Recommended Posts

I'm having difficulty charting a song with a capo and I'm hoping someone can help me figure this out.


The song is played with a capo on the 3rd fret, In EOF I've set the capo position to the third fret, and Rocksmith correctly has me install the capo during tuning. That's about as far as it works.


Chords appear correctly but are not listening for the right notes for open strings. For example, an Am-shaped chord like x02210 at the third fret appears in-game as xo443o (o being open strings) and should be listening for x35543. However, the game is listening for me to play x04430, as in playing the actual open strings WITHOUT the capo installed on the guitar.


I can remove the capo and play the song as indicated on the screen and it registers all the chords correctly but obviously sounds dreadful.


Chords without open strings work fine, and individual open string notes register correctly. Only chords with open strings fail to work properly.


I'm using the latest EOF and tooklit

Link to post
Share on other sites

Maveth had problems with capo, but it was fixed, now you just set what fret become 0 with capo.As I understand: using capo on third fret turn powerchord G5 (3-5-5-(0)-(0)-(0)) to (0-5-5-(0)-(0)-(0))So try to put x35543 as x05540following this words..

anyways game shows

7ths fret, with no capo i can play it @ 7th and it works, OR i can play it at 9th and it worksopen string, with no capo fails if play open, works only if play the fret in capo.





BTW.. No Surprises by Radiohead are ok with capo on rhythm




Also uncheck property Track>Pro Guitar>Ignore TuningCapo

Edited by Alex360
Link to post
Share on other sites

If you didn't define the capo placement for the arrangement in the EOF project, the XML files it wrote will not be correct for using a capo. It's not as simple as just setting the capo value in the toolkit.

Link to post
Share on other sites

The _ 0 2 2 1 0 chord he mentioned (the first chord in the PART REAL_GUITAR_22 track, which has a capo on fret 3) is written in the XML as this:

  3...    ...                                                                  
If there is something specifically wrong with the XML, let me know what needs to change. Otherwise it wouldn't seem to be an issue with EOF. I believe this is how it was previously established that chords in capo arrangements needed to be written (open strings still are notated with a fret value of 0, otherwise all fret values have the capo position added to them so they indicate the guitar's native fret number instead of just the number of frets away from the capo).
Link to post
Share on other sites

DLCs like Matchbox Twenty's 3AM and Oasis' Wonderwall both have capo chords but I don't own them so I can't break them down to see how they work.


I opened the rs1compat file and looked at one song I knew needed a capo, Just Got To Be's Rhythm chart, but that doesn't use open strings in the chords. I'm not sure if there are any other songs in that file that use capos to look at.

Link to post
Share on other sites

I purchased 3AM and have taken a look at the decompiled package and I may be on to something.

The XML files are the same, open strings are charted as 0 in the official files


However, when I look at the manifest/.json files I see something different:


From Ghost:

        "ChordTemplates": [          {            "ChordId": 0,            "ChordName": "G",            "Fingers": [              2,              1,              -1,              -1,              -1,              3            ],            "Frets": [              6,              5,              0,              0,              0,              6            ]          },

Notice that the open strings are marked with fret 0.


Now, from 3AM:

        "ChordTemplates": [          {            "ChordId": 0,            "ChordName": "G#",            "Fingers": [              2,              1,              -1,              -1,              3,              4            ],            "Frets": [              4,              3,              1,              1,              4,              4            ]          },

The song is played with a capo on 1, and in this case the open strings are marked with a fret number equal to the capo.


Unfortunately, I haven't had any luck yet in manually modifying the json file and recompiling, but I'll keep at it.

Link to post
Share on other sites

Just played No Surprises (Rhythm).  The capo works correctly during the intro when it's just single notes.


Then I played a section that uses open chords in riff repeater.  If the capo is on, I miss just about all the notes.  If the capo is off, I don't miss anything.

Link to post
Share on other sites

Yeah, I've had the same experience. Open strings work fine for single notes but just fall apart during chords.


I've scoured the rest of the files and I can't find any other references to chords or finger positions. Only place I've found them is in the manifests/ .json and songs/arr/ .xml files.


I've manually modified the .json file and recompiled the package but the arrangement plays the exact same. At this point I'm stuck again. Clearly there is a mismatch between how the toolkit is handling capos and how the official songs do, but I'm not quite sure where else to look.

Link to post
Share on other sites

Okay, I've noticed another discrepancy between the .json files.


The official has a rather large section before "ChordTemplates" simply named "Chords" and it's nearly 1000 lines long in this particular song. I won't post the whole thing due to the sheer size but it goes on like this:

        "Chords": {          "7": {            "0": [],            "1": []          },          "8": {            "0": [              16            ],            "1": [              16            ],            "7": [              16            ],            "13": [              16            ],            "18": [              16            ]          },          "9": {            "0": [              13,              16            ],            "1": [              13,              16            ],            "2": [              13,              16            ],            "3": [              13,              16            ],            "4": [              13,              16            ],            "5": [              13,              16            ],            "6": [              13,              16            ],            "7": [              13,              16            ],            "8": [              13,              16            ],            "9": [              13,              16            ],            "10": [              13,              16            ],            "11": [              13,              16            ],            "12": [              13,              16            ],            "13": [              13,              16            ],            "14": [              13,              16            ],            "15": [              13,              16            ],            "16": [              13,              16            ],            "17": [              13,              16            ],            "18": [              13,              16            ]          },-snip-

Now I'm guessing that this may have something to do with chords for different difficulty levels since it seems to repeat so many times but that's just a blind guess.

Link to post
Share on other sites

1st. Json file is not used in the playing mode only on menus and song info, so, any changes on json file will be affect only this sections, not during playing.


2nd. Chords and Techniques fields in json are not discovered by the toolkit team until this time and how we can generate this values for rs2024 cdlcs, but don't worry, it will be affect only chord and technique list on song information screen and any custom song have this sections.


3rd. Playing a song is affected only by .sng binary file that's generated by .xml file from EoF. Is simple, if xml have fret 0 on first string in a chord, it will write this value on the .sng file, so if you need different fret on a chord with capo, I believe that this frets need to be modified on xml (by the EoF). You can try to do the changes manually to test.



Link to post
Share on other sites

Aquilae tried that and listed the results in post 5 (http://customsforge.com/topic/5030-capo-chord-support/?do=findComment&comment=33673). The pitch detection worked in that case, but the game rendered the open notes as notes at the fret on which the capo is placed instead of as open strings. If this graphical issue can't be figured out, it's probably something people can live with since it's better than having the pitch detection not work. Let me know if I should go ahead and change EOF to write open notes in chords as notes played at the capo'd fret.

Link to post
Share on other sites

Maybe the chordNotes and chord template have to be different to avoid the graphical issue, ie. one would define the open strings as fret 0 and the other defines them as the fret number at which the capo is placed?

Link to post
Share on other sites

Maybe the chordNotes and chord template have to be different to avoid the graphical issue, ie. one would define the open strings as fret 0 and the other defines them as the fret number at which the capo is placed?

I think so, chord template and hand shape adjusted to capo and chord notes with true fret values.
Link to post
Share on other sites

What effect would the Update SNG checkbox have on recompiling packages? Would that throw out any changes I was making to the XML or JSON files? I haven't manually re-compiled any SNG files yet, but I'll keep the Update SNG checkbox clicked when repacking.
Experiment 1:
I took a package that had been decompiled where the open fret values were 0 in the XML. I modified those open string values to 3 in the XML and checked the .json file where fret values for open strings were still 0. Then I recompiled the package.
Result: Notes are registered correctly. Same as simply compiling the XML with open string values of 3, get weird boxes instead of strings.
Experiment 2: I manually modified the XML files and changed the open strings to equal the capo fret, I compiled the package from scratch (used source files), decompiled the package, modified the .json file so that open strings are played as fret 0, recompiled.
Result: Notes are registered correctly. Instead of open strings the game renders full note boxes at the third fret instead of the small graphic. Basically appears like the notes are simply placed right outside the fret hand position.
Experiment 3: Same as above, unchecked Update SNG checkbox.
Result: Same as above.
Question: Does the game have any setting in the files somewhere that indicates how long an open string graphic is? Is it possible that for some reason something is being set where the string has a length of of 0 or whatever instead of stretching the length of the hand position? If you look closely at the image posted earlier with the odd dots you will notice that it is actually the open string graphic, but it's just floating at the 3rd fret and aligned vertically.
1 and 2 had the same values in the XML & JSON but I got around to them differently and ended up with different results. I must be overlooking something in the way I'm modifying these packages in this order:
1: Toolkit -> Unpack, Extract Song XML.
2: Modify XML, JSON
3: Toolkit -> Packer, Update SNG
When I did the following I got different results:
1: Manually modify XML
2: Toolkit -> Generate Package from source materials
3: Toolkit -> Unpack, Extract Song XML
4: Modify JSON
5: Toolkit -> Packer, Update SNG
Link to post
Share on other sites

@@Aquilae, just chart song as normal and then modify xml parameter for capo (set it correctly), you will get full notes at capo place, but I got oasis wonderwall and there notes with capo created by same technique as we do now, but there was also events written to sng, maybe there something important.no, events are nothing..

Link to post
Share on other sites

I'll try to keep an eye on this issue, but if you guys find out a way to alter the XML so that capo chords with open strings work and show correctly, please make sure to get my attention because I don't want to miss improving the capo support.

Link to post
Share on other sites

3AM song rhythm, first chord:





ARRANGEMENT_SECTION Arrangements[7] Notes[0]





Frets: 4 3 0 0 -1 -1

Fingers: 2 1 -1 -1 -1 -1

Notes: 44 48 51 56 -1 -1

Name: G#

CHORD_NOTES_SECTION NoteFlags: 0 0 4 4 0 0




@@raynebc @@Aquilae can I have SNG for this chord produced by EOF+toolkit to confirm this? I think wrong MIDI values will be generated


BTW as far as we know only SNG data matters, JSON manifest is probably used for chord book

  • Like 1
Link to post
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

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

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.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • 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