Jump to content
The forums have been upgraded and will be undergoing changes within the next 48 hours.

ChartPlayer - a free and open source song chart player

Featured Replies

  • Author
On 3/7/2025 at 5:28 PM, Dueleus said:

This looks very good. Would love if it can support GoPlayAlong xml files to make 7/8 string songs possible to sight-read. One of my biggest complaints about Rocksmith is being limited to only 6 strings, not being able to use the full range.

It should certainly be possible to convert GoPlayAlong files to OpenSongChart format.

As for extended string support, the OpenSongChart format has no limit on the number of strings. Currently in ChartPlayer, guitar songs are hardcoded to 6 strings and bass to 4, but I'm happy to change that once there is a source of songs that use more strings.

  • Replies 120
  • Views 24.4k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • ChartPlayer is an application for playing along to charts synchronized to music (such as Rocksmith CDLC charts). It runs as a VST plugin inside your DAW so that you can use any other plugin you l

  • I haven't checked the latest improvements but I just wanted to say again that this is already an incredible job! 

  • ChartPlayer v0.1.11 is now available: https://github.com/mikeoliphant/ChartPlayer/releases/latest Changes: Escape key returns to song list Display note detection % Supp

Posted Images

6 hours ago, ladron said:

It should certainly be possible to convert GoPlayAlong files to OpenSongChart format.

As for extended string support, the OpenSongChart format has no limit on the number of strings. Currently in ChartPlayer, guitar songs are hardcoded to 6 strings and bass to 4, but I'm happy to change that once there is a source of songs that use more strings.

Would love if you can allow more strings. For rocksmith I sync all my charts in GoPlayAlong before editing minor stuff in editor of fire. Sometimes GoPlayAlong can sync audio to tab on its own with the autosync feature and the result is pretty good.

  • 1 month later...

I haven't managed to do more testing on linux unfortunately. I'd like to use this avoiding the complexity of having to use a full daw. Are there any free VST hosts that you know work with this?

 

thanks again for the great work!

  • 2 weeks later...
  • 1 month later...

I should get back into playtesting your ChartPlayer this summer, probably with Audacity as a DAW this time. Since last time, it appears you have added Drums and Keys support, amazing!! 🤩 

I haven't actually been able to find a screenshot of your ChartPlayer with drums and keys, but I am guessing you used Rockband as a model for drums and Rocksmith+ as a model for keys? It would be great to find a way around Rockband's drums limitation of not supporting open/closed hihat (quite a bummer since it's a basic skill for drummers).

Also looking forward to see what you will come up for the vocals. Since you already have FFT-based pitch detection for guitar/bass, it should work also for vocals. But generally, games like Rockband aren't that good at vocal notes visualisation... 

 

  • Author
On 6/8/2025 at 2:00 AM, Shroud said:

It would be great to find a way around Rockband's drums limitation of not supporting open/closed hihat (quite a bummer since it's a basic skill for drummers).

I use the drummer animations in the Rock Band files to detect open/closed hi-hat (as well as second crash). It isn't perfect, but it works pretty well.

2 hours ago, ladron said:

I use the drummer animations in the Rock Band files to detect open/closed hi-hat (as well as second crash). It isn't perfect, but it works pretty well.

That's a brilliant idea! This way there's no need to update RB charts, you get out of them more instruments than RockBand itself supports 🤩

Been meaning to write some more feedback for a while. I continue to use Chartplayer exclusively and it's ace.

First, a small bug: the A440 retune mode is the same as E standard at the moment, i.e. if the song is Eb standard A432, when setting the retune mode to A440 it shifts the track to E standard A440

Second, a small bug: sometimes when trying to change the song folder the plugin freezes/to white screen and only closing/reopening brings it back. I'm using VST3 in Reaper x64 on Windows. I don't believe it's a memory issue (16GB RAM & only programme running), but I'll monitor properly next time it happens.

Third, a suggestion: some auto levelling of the song.ogg would be wonderful as they're incredibly variable in volume. I do have a compressor and limiter in the DAW but that can only react in the moment rather than in context across a whole track.

Fourth, a niche suggestion: I've used Ultimate Vocal Remover 5 & Demucs to 'split' the audio tracks into guitar, bass, vocals, drums, piano & other stems with reasonable success generally. I then wrote some python code to combine the relevant tracks to create a backing without guitar or bass (I play both so created two backing tracks). Currently I just have two identical sets of song folders, only the tracks are different, and I rescan between them in ChartPlayer. I was wondering whether it might be possible to add this natively. For example, it could look for song.ogg unless stems are available (which would contain '(<stem part>)' in their file names), where the stems would be combined based on the instrument selected (or even given their own tracks so I can route each part separately in the DAW). Pretty niche I know - but if you don't ask!

 

Keep up the good work, it's much appreciated!

On 3/9/2025 at 7:56 AM, Dueleus said:

Would love if you can allow more strings. For rocksmith I sync all my charts in GoPlayAlong before editing minor stuff in editor of fire. Sometimes GoPlayAlong can sync audio to tab on its own with the autosync feature and the result is pretty good.

I second this. The ability to have 7, 8 and even a 9th string could be a lot of fun.

Is there a tutorial or does anyone know how to install this? I want to try this but am new to DAW.

Thanks for any help.

  • Author
On 6/17/2025 at 4:09 PM, Marvin_ said:

First, a small bug: the A440 retune mode is the same as E standard at the moment, i.e. if the song is Eb standard A432, when setting the retune mode to A440 it shifts the track to E standard A440

Ok - this should now be fixed.

On 6/17/2025 at 4:09 PM, Marvin_ said:

Second, a small bug: sometimes when trying to change the song folder the plugin freezes/to white screen and only closing/reopening brings it back. I'm using VST3 in Reaper x64 on Windows. I don't believe it's a memory issue (16GB RAM & only programme running), but I'll monitor properly next time it happens.

There is an issue open for this here:

https://github.com/mikeoliphant/ChartPlayer/issues/12

but I haven't been able to reproduce it so far.

On 6/17/2025 at 4:09 PM, Marvin_ said:

Third, a suggestion: some auto levelling of the song.ogg would be wonderful as they're incredibly variable in volume. I do have a compressor and limiter in the DAW but that can only react in the moment rather than in context across a whole track.

Yes, I've thought about doing this, but haven't gotten around to it.

On 6/17/2025 at 4:09 PM, Marvin_ said:

Fourth, a niche suggestion: I've used Ultimate Vocal Remover 5 & Demucs to 'split' the audio tracks into guitar, bass, vocals, drums, piano & other stems with reasonable success generally. I then wrote some python code to combine the relevant tracks to create a backing without guitar or bass (I play both so created two backing tracks). Currently I just have two identical sets of song folders, only the tracks are different, and I rescan between them in ChartPlayer. I was wondering whether it might be possible to add this natively. For example, it could look for song.ogg unless stems are available (which would contain '(<stem part>)' in their file names), where the stems would be combined based on the instrument selected (or even given their own tracks so I can route each part separately in the DAW). Pretty niche I know - but if you don't ask!

I think this something like this is a good idea. For Rock Band tracks, I'm currently actually already mixing stems.

  • Author

 

  

3 hours ago, Shroud said:

I tried Ableton DAW and it worked straight away. 

However the chart converter is not giving me any output... I set the source and output folders, put some RockBand files into it, and then it said finished processing but I see no output file...

What does the file structure of the Rock Band data look like? Right now, ChartConverter only supports Phase Shift format for converting Rock Band songs.

 

 

  • Author
On 6/17/2025 at 4:09 PM, Marvin_ said:

For example, it could look for song.ogg unless stems are available (which would contain '(<stem part>)' in their file names), where the stems would be combined based on the instrument selected (or even given their own tracks so I can route each part separately in the DAW). Pretty niche I know - but if you don't ask!

Ok, I've added an option to mute stems for the current instrument.

To figure out the audio files, the song.json can specify a "SongStem" pattern (ie: "drums*.ogg") for any instrument part.

By default, it will look for any files starting with the instrument part name (ie: "bass") or instrument type (ie: "bassguitar"), so if you name your files that way it should just work.

Oh cool, that sounds great!

So if I add the stems named "vocals.ogg", "drums.ogg", "bass.ogg" etc into the folder structure, it'll automatically pick those up, but if they were named in a different fashion (e.g. at the moment they are "<song_name> (<instrument>).ogg" I'd need to add InstrumentParts (where missing) to song.json, and in each InstrumentPart, a "SongStem" item for the pattern (so that might look like:

{
"InstrumentName": "vocals",
"InstrumentType": "Vocals",
"SongStem": "*Vocals*.ogg"
"CapoFret":0
}

The stems I have also include Piano and Other, will those be picked up OK, and do I need to remove Song.ogg from the folder? I can always combine the stems I'll never need to split out into, say, vocals.ogg if needs be. Are the stems controlled by what InstrumentParts exist?

  • Author
11 minutes ago, Marvin_ said:

Oh cool, that sounds great!

So if I add the stems named "vocals.ogg", "drums.ogg", "bass.ogg" etc into the folder structure, it'll automatically pick those up, but if they were named in a different fashion (e.g. at the moment they are "<song_name> (<instrument>).ogg" I'd need to add InstrumentParts (where missing) to song.json, and in each InstrumentPart, a "SongStem" item for the pattern

Right now, the behavior is to mix *all* .ogg files present (optionally excluding files that match the current stem).

So you either want stems or a fully mixed audio file, but not both.

As long as you name your stems so they work with the default behavior (ie: by part type or type), you shouldn't have to modify the song.json.

Excellent, thanks for clarifying (and thanks for adding this functionality!)  - I'll have a play. My stems group 'guitar' into a single stem, so are not separating Rhythm and Lead parts - might that require song.json modification since it'll presumably look for "leadguitar.ogg" or "lead1.ogg" or "combo.ogg" etc?

2 hours ago, ladron said:

  

What does the file structure of the Rock Band data look like? Right now, ChartConverter only supports Phase Shift format for converting Rock Band songs.

Aha! I am not familiar with Phase Shift but I guess the format is different. I tried a RockBand CON file at random:

https://rhythmverse.co/songfile/516393c649c19

Then just in case I had picked a faulty one, I tried one that I made myself to be sure it is a file that works fine in the game 😅

https://rhythmverse.co/songfile/5e21618fe82055.58100215

These are XBOX files for RockBand3. I don't know if there is a tool to convert them to PhaseShift format.

  • Author
25 minutes ago, Marvin_ said:

Excellent, thanks for clarifying (and thanks for adding this functionality!)  - I'll have a play. My stems group 'guitar' into a single stem, so are not separating Rhythm and Lead parts - might that require song.json modification since it'll presumably look for "leadguitar.ogg" or "lead1.ogg" or "combo.ogg" etc?

Yeah, with that setup if you wanted to mute the guitar for an instrument part, you would need to add a "SongStem" entry to the json for the parts you wanted to mute it for.

On 6/21/2025 at 8:47 PM, ladron said:

Here is a list of Phase Shift songs on that site:

https://rhythmverse.co/songfiles/game/ps

I downloaded a bunch of those at random, and converted it using the ChartConverter. I noticed a couple of issues, that I thought I should mention:

First, PhaseShift customs are distributed as RAR archives, but the ChartConverter does not decompresses them, so you have to manually extract them before converting (this is really not a big deal, but it would be great if it would be able to also process archive files directly).

Then, I think the ChartConverter is missing the audio file. According to your github notes, it should create these files:

 

  • song.json (song metadata)
  • song.ogg (song audio recording)
  • arrangement.json (song structure information - currently just measures/beats)
  • <part>.json (one file per instrument part)

 

Here is what it creates instead:

image.png.96c2467d0450c6a2a522150381209546.png

I suppose that the ChartConverter doesn't really need to do anything to the audio (OGG) file, other than copying it to the output folder, but it doesn't do it. I think this may be a bug because it actually DOES work when converting from Rocksmith PSARC files. I first thought that it is expecting a file specifically called "song.ogg" which is Rocksmith default, while PhaseShift customs have a different audio file name, typically "guitar.ogg", but renaming the source file didn't help.

The longer truth is... those PhaseShift customs are usually RockBand customs converted with another software called C3 CON Tools, which in most cases merges all audio stems into a single file, and calls it "guitar.ogg" (in those rare cases when the multitrack audio stems are not encrypted, it leaves them separate).

Also, it worries me a bit that the song.json file mentions  different .ogg files for each instrument ("drums*.ogg", "vocals.ogg" and "keys.ogg") under the "SongStem" property, as if expecting multiple stems which aren't there even in the input folder...

Note that I haven't actually tried to play these converted songs in ChartPlayer, so I don't know yet if they would crash.

  • Author
1 hour ago, Shroud said:

I downloaded a bunch of those at random, and converted it using the ChartConverter. I noticed a couple of issues, that I thought I should mention:

First, PhaseShift customs are distributed as RAR archives, but the ChartConverter does not decompresses them, so you have to manually extract them before converting (this is really not a big deal, but it would be great if it would be able to also process archive files directly).

Then, I think the ChartConverter is missing the audio file.

Currenlty, it doesn't copy Rock Band audio files. Instead it just adds a path to the original location. I did this because I've got a lot of Rock Band songs and didn't want the duplication. I should probably make it optional, though, and copy the files by default.

1 hour ago, Shroud said:

Also, it worries me a bit that the song.json file mentions  different .ogg files for each instrument ("drums*.ogg", "vocals.ogg" and "keys.ogg") under the "SongStem" property, as if expecting multiple stems which aren't there even in the input folder...

Those paths only get used to optionally exclude the current instrument stems. It isn't an issue if the files don't exist, although I guess I could check and not add them if the stems aren't there.

  • Author

 

ChartPlayer v0.1.15 is now available:

https://github.com/mikeoliphant/ChartPlayer/releases/latest

Changes:

  • Fixed accented characters not displaying properly
  • Fixed Jack version
  • Drum timeline improvements
  • Fixed A440 tuning mode
  • Added song waveform display
  • Added an option to mute stems for the current instrument
  • Added normalization of song audio loudness

 

  • Author

Note that if you haven't run ChartConverter for a while, you might want to get the latest version and re-run it.

If you are using Rock Band files, you *must* re-run with the latest ChartConverter.

On 3/9/2025 at 3:56 AM, Dueleus said:

OpenSongChart

Hello I am getting the following ......


No songs found.
Make sure you have configured your song path in "options".
If song path is correct, try the "rescan" button below.

My question is what song path to use? I have Cakewalk and Audacity.

Thanks for any help.

 

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...

Recently Browsing 0

  • No registered users viewing this page.


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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.