Jump to content

WIP Rocksmith-style chart player - looking for testers


ladron

Recommended Posts

I'm a long-time Rocksmith user who finally got fed up, so I started working on my own app for playing songs.

Features/goals:

  • Open file format (with converter for RS songs)
  • Fast startup, speedy UI
  • Runs as a plugin inside a DAW
  • Resampling of songs a fixed offset from standard tuning so you don't need to retune
  • Note/Chord detection
  • Song browser
  • Open source

Current limitations:

  • Windows only (although the core is being designed to be cross-platform)

ChartPlayer can be downloaded here:

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

ChartPlayer plays songs in the OpenSongChart format:

https://github.com/mikeoliphant/OpenSongChart

A conversion tool for PSARC files can be downloaded here:

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

  • Like 1
Link to comment
Share on other sites

So it's a bit like a Rocksmith clone? It already looks pretty good, even if it doesn't have note detection, it can still be a good practice tool.

But I gotta ask... what is your primary purpose here? Are you doing this just because you like programming, or is there something about Rocksmith you don't like and your target is to replace it with something different (I can't tell from that picture) and a mod just wouldn't be able to?

Good luck with your project anyway!

  • Like 1
Link to comment
Share on other sites

47 minutes ago, Shroud said:

But I gotta ask... what is your primary purpose here? Are you doing this just because you like programming, or is there something about Rocksmith you don't like and your target is to replace it with something different (I can't tell from that picture) and a mod just wouldn't be able to?

Some of the issues I have with Rocksmith:

  • Even modded, it takes forever to load.
  • It frequently has trouble connecting to Ubisoft servers.
  • The user interface is slow and clunky.
  • You can't play with your own custom guitar tone plugins.
  • It is a proprietary ecosystem. Custom songs help, but they are still tied to the Rocksmith platform.
  • Official DLC is being delisted as licenses expire.

Overall, my feeling is that the custom song community would be better off if it wasn't tied to a now abandoned commercial product.

  • Like 1
Link to comment
Share on other sites

If anyone is interested in the song format I'm using, there are a couple of github repositories to look at.

First, the song format (as defined by some C# classes designed to be serialized/deserialized):

https://github.com/mikeoliphant/OpenSongChart

Second, here are libraries/tools I'm working on to convert existing Rocksmith charts:

https://github.com/mikeoliphant/PsarcUtil

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

there are many ideas

-multiplayer
-add instruments drums, voice, piano.
-Add a track for each instrument and a mixed one for those who play alone like me who like to combine soloist with rhythm because otherwise I get bored.
-Add acoustic/classical guitar
-multitrack to eliminate instrument volume
-match volumes of all songs and tones so that your ears don't burst when you use headphones, or be able to customize it and save the settings.
-improve riff repeater to select the notes you want instead of sections. correct loops without unselected notes coming out. speed from 0 to 200%. remove music/and add midi option. an option to add a single sound to all the notes like a baquea to know the rhythm and thus practice both strumming and soloing with the right hand. add note by note as in rs. Being able to view all the notes at the same time to be able to learn a song. an option with hidden notes to check/practice that you know the song or a section of the song.
-up/down strums
-Blows with the right hand
-improve bend and slides visually and functionally
-custom tunings
-7 strings
-leaderboard./contests/community learning challenges.


 

  • Like 1
Link to comment
Share on other sites

5 hours ago, DeNuevo said:

improve riff repeater to select the notes you want instead of sections

I wanted to hold off on my suggestions until I got a better list of improvements, but this guy gets it. It is so annoying about the section and not the notes needed to riff repeat. All too often, there is a huge space in bass sections that are breaks, or long single held notes before the start of the section needed, but it only contains a small portion of the "tricky section".

Another, A way to review. Sure, if you are using Riff Repeater, you can play it again another time to see what notes where missed, but if you are just doing a play through, there is no easy way to review or see what was scored as wrong.

To add to that is some way to say, "why it was wrong". Fret too high, fret too low, (something dumb like that or wrong string) but also, the bends. Why was the bend or slide not scored or registered as correct. Not bent far enough? Over bent? slide too soon? too late? not far enough? all frustrating parts that often take repeated guesses for a beginner.

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

I would love to have an alternative to RS, for all the reasons you listed plus a bunch more. 

I don't want to pepper you with requests, but if at all possible could you build the structure to support arbitrary instruments?  So that yourself or modders can add new instrument templates in the future?

I get the impression that RS was not coded that way, and that's why we don't have mods for 5/7 string instruments yet.  To go along with that, if possible, could you create a way to algorithmically transpose/rewrite/edit CDLC from one arbitrary instrument to another.  For instance a 4 string bass to a 5 string bass, etc. 

Good Luck, this will be huge if you can pull it off.

  • Like 1
Link to comment
Share on other sites

On 1/4/2024 at 9:48 PM, Sniper Reload3d said:

I wanted to hold off on my suggestions until I got a better list of improvements, but this guy gets it. It is so annoying about the section and not the notes needed to riff repeat. All too often, there is a huge space in bass sections that are breaks, or long single held notes before the start of the section needed, but it only contains a small portion of the "tricky section".

Another, A way to review. Sure, if you are using Riff Repeater, you can play it again another time to see what notes where missed, but if you are just doing a play through, there is no easy way to review or see what was scored as wrong.

To add to that is some way to say, "why it was wrong". Fret too high, fret too low, (something dumb like that or wrong string) but also, the bends. Why was the bend or slide not scored or registered as correct. Not bent far enough? Over bent? slide too soon? too late? not far enough? all frustrating parts that often take repeated guesses for a beginner.

These would be really great for anyone serious about improving their playing skills. 

I think it would be awesome if the "skyline" picture turned RED on a slim vertical line at the point where you missed/botched a note, and at the end of the song you could drag over the skyline and see the highway scroll back to show you what you did wrong. 

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

That's a fantastic project you're carrying out there @ ladron !

 

I checked quickly your GIT hoping to see some .cs files there... I am a programmer myself and C# is my current favourite language 😁 Of course now my first thought is how I could help you out, but I am also always so overburdened with stuff to do that I should try not to add another one on my plate. Just this morning before reading your latest post I was contemplating how to find some extra time to finally start charting some CDLC. But I am following up on your updates and down the road I will at least try your program and give constructive feedback.

Link to comment
Share on other sites

6 hours ago, Shroud said:

I checked quickly your GIT hoping to see some .cs files there... I am a programmer myself and C# is my current favourite language 😁 Of course now my first thought is how I could help you out, but I am also always so overburdened with stuff to do that I should try not to add another one on my plate. Just this morning before reading your latest post I was contemplating how to find some extra time to finally start charting some CDLC. But I am following up on your updates and down the road I will at least try your program and give constructive feedback.

Right now, feedback is more important than coding help.

  • Like 1
Link to comment
Share on other sites

Ok, so I have at least managed to get it installed as a VST plugin. I normally use Reaper as DAW, but because I use an older version 4.22 (required for charting Rockband customs) which turns out it doesn't support VST3, I had to go find a recent freeware DAW and so I installed Cakewalk. Your plugin loads... but now what? 😆 I suppose I need a CDLC track in your format, but the CDLC converter from psarc to OpenSongChart format is not implemented yet, or is it? Do you have any songs in OSC format that can be used for testing?

Link to comment
Share on other sites

The PsarcConverter doesn't seem to do anything... I tried selecting some psarc files of CDLCs that I know work fine in the game, but the PsarcConverter just hangs there saying

Conversion status:

1 Songs 

Queen - Play the Game

the button changes to Abort Conversion but nothing happens, Task Manager shows that PsarcConverter CPU usage is less than 1%. I also tried selecting multiple files, or a folder with a bunch of files, but the result is the same. Am I missing some libraries or other installations? 

Link to comment
Share on other sites

47 minutes ago, Shroud said:

the button changes to Abort Conversion but nothing happens, Task Manager shows that PsarcConverter CPU usage is less than 1%. I also tried selecting multiple files, or a folder with a bunch of files, but the result is the same. Am I missing some libraries or other installations? 

Thanks for the info!

Looks like a couple of bugs. First, it isn't updating the "Abort" message when it finishes. Second, it is still using a hardcoded path to output the songs.

The path is currently hardcoded to "C:\Share\JamSongs" - you can take a look there and see if your file got converted.

I'll update the app with these issue shortly.

Link to comment
Share on other sites

50 minutes ago, ladron said:

Thanks for the info!

Looks like a couple of bugs. First, it isn't updating the "Abort" message when it finishes. Second, it is still using a hardcoded path to output the songs.

The path is currently hardcoded to "C:\Share\JamSongs" - you can take a look there and see if your file got converted.

I'll update the app with these issue shortly.

You're right! It did create that folder to save the output, now the fixed version correctly targets the folder you choose from within the converter, and the button text updates back when finished. Conversion is actually pretty fast, just a few seconds per song.

So now I was finally able to see how the ChartPlayer works inside Cakewalk, so here are my first comments and findings... of course I understand this is still very much WIP, and that you're already conscious about what you want to add in the future.

 

First of all, it already looks great! The notes highway looks good and works very well already at this stage. It actually looks even clearer than Rocksmith, less fancy graphics but more readable. I have to think now about which songs gave me most trouble reading notes and chords because of visual overlapping, and see if they are clearer in your ChartPlayer.

Switching to full screen does not enlarge the highway. I am not sure if this depends on the DAW, or if you are even planning a fullscreen mode. Just sayin' that it could be a limitation for some user.

I am undecided at the moment on whether not having the "highway zooming" functionality is a good or a bad thing. In general, whenever Rocksmith "zooms out" to show a larger portion of the guitar neck (typically because notes farther away are going to appear), it throws me off and make me lose my concentration, and then I have to squint my eyes to see exactly the frets number when zoomed out . So my first reaction to your ChartPlayer not zooming is actually positive... on the other hand, I can imagine that with a song that has frequent jumps up and down the neck, scrolling instead of zooming might make it very difficult to read. I need to find some songs that do that, and see how they end up in your ChartPlayer.

Speaking of the scrolling up and down, it is quite fast... it's a bit stressing to the eye but again it might be necessary this fast, since there is no zooming.

The "skyline" works great, I can just click on it to instantly go back (or forward) to another section of the song that I might want to play.

I also like how any action takes place instantly (no need to wait through "you're gonna be a superstar" silliness). 

The only bug I found was in the songs selection list: for some reason, after clicking back and forth between Lead and Bass tracks, it lost everything and only showed an empty list. Only after closing the plugin and going back in, it showed the list again.

 

Anyway your ChartPlayer is actually already in a quite usable state, well done! 🙂 I don't know what your current priorities, but if it were for me, I wouldn't go into the rabbit hole of implementing large features such as note detection or dynamic difficulties, but I would focus on improving the usability of the current basic features. For example, the song selection list could really benefit if displaying in full-screen a lot more songs at once (because we all have many hundreds at least in our collection, and Rocksmith itself shows too fee at once for me), perhaps along with more metadata information. Adding a search filter there would be also handy. I haven't tried yet if it is possible to slow down a song using the DAW's own speed settings, but maybe having something on the ChartPlayer screen to do that quickly would also be nice.

Link to comment
Share on other sites

17 minutes ago, Shroud said:

Switching to full screen does not enlarge the highway. I am not sure if this depends on the DAW, or if you are even planning a fullscreen mode. Just sayin' that it could be a limitation for some user.

Glad you got it working!

Not quite sure what you mean by "enlarge". The highway and the user interface should always scale to the full window size. If that isn't happening, something is going wrong. Can you explain more what is happening, or maybe post a screenshot?

Link to comment
Share on other sites

20 minutes ago, Shroud said:

Anyway your ChartPlayer is actually already in a quite usable state, well done! 🙂 I don't know what your current priorities, but if it were for me, I wouldn't go into the rabbit hole of implementing large features such as note detection or dynamic difficulties, but I would focus on improving the usability of the current basic features. For example, the song selection list could really benefit if displaying in full-screen a lot more songs at once (because we all have many hundreds at least in our collection, and Rocksmith itself shows too fee at once for me), perhaps along with more metadata information. Adding a search filter there would be also handy. I haven't tried yet if it is possible to slow down a song using the DAW's own speed settings, but maybe having something on the ChartPlayer screen to do that quickly would also be nice.

Yeah, it is still definitely lacking features, but I think it is pretty usable right now. I've been using it instead of Rocksmith for a while.

Btw, note detection is (to some degree) already implemented. If you if you have your guitar audio input from your DAW enabled for the track ChartPlayer is on, it will try to detect notes/chords. You'll see them light up when detected. You can make it easier to see by pausing the song (hit the space bar) when a note or chord is active and try playing that note/chord. Right now I'm not keeping track of how well you are playing. I may add some sort of tracking feature, but I'm not planning on "gamefying" it too much.

I'm definitely planning on practice features like looping a section (pretty easy) and slowing the speed down (harder).

Link to comment
Share on other sites

3 hours ago, ladron said:

Glad you got it working!

Not quite sure what you mean by "enlarge". The highway and the user interface should always scale to the full window size. If that isn't happening, something is going wrong. Can you explain more what is happening, or maybe post a screenshot?

Yes I would expect it to scale, but it stays the same:

image.jpeg.00d7299cda7323579ea5ab6912ff42fb.jpeg

 

However it might be very much a problem with the Cakewalk DAW... all I did there was to click the fullscreen icon on the top-right corner of the window.

 

3 hours ago, ladron said:

Btw, note detection is (to some degree) already implemented. If you if you have your guitar audio input from your DAW enabled for the track ChartPlayer is on, it will try to detect notes/chords. 

 

Well I suppose that I would need some audio interface to have the DAW detect the sound from my instrument, I don't think the original RS cable itself works with Cakewalk, I can get it detected but I can't hear anything.

 

By the way about note detection, are you using some FFT algorithm, are you leveraging the functionalities of the DAW itself, or something else? 🙂

 

Link to comment
Share on other sites

42 minutes ago, Shroud said:

Yes I would expect it to scale, but it stays the same:

image.jpeg.00d7299cda7323579ea5ab6912ff42fb.jpeg

However it might be very much a problem with the Cakewalk DAW... all I did there was to click the fullscreen icon on the top-right corner of the window.

Yeah - something is going wrong in Cakewalk. It works in Reaper. I'll try to figure out what is happening in Cakewalk.

44 minutes ago, Shroud said:

Well I suppose that I would need some audio interface to have the DAW detect the sound from my instrument, I don't think the original RS cable itself works with Cakewalk, I can get it detected but I can't hear anything.

You *should* be able to use the RS cable in your DAW. A dedicated audio interface would be better, though.

44 minutes ago, Shroud said:

By the way about note detection, are you using some FFT algorithm, are you leveraging the functionalities of the DAW itself, or something else? 🙂

I'm using the spectrum from a FFT.

Link to comment
Share on other sites

2 hours ago, Shroud said:

Yes I would expect it to scale, but it stays the same:

image.jpeg.00d7299cda7323579ea5ab6912ff42fb.jpeg

However it might be very much a problem with the Cakewalk DAW... all I did there was to click the fullscreen icon on the top-right corner of the window.

I just tried both versions of Cakewalk - resizing works fine in "Cakewalk Next", but not in "Cakewalk Sonar". Given that it works in other DAWs, it might just be an issue with Cakewalk Sonar.

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