Jump to content

Avatar

ProGuitar2MIDI2ProGuitar - A tool to convert Pro Guitar charts to regular MIDI notation (and vice-versa!)

Pro Guitar Pro Bass MIDI Converter Software Tool

  • Please log in to reply
11 replies to this topic

#1 raphaelgoulart

raphaelgoulart
  • 18 posts

Posted October 18, 2017 - 01:59 PM

Ever wanted to read a Pro Guitar chart in regular Piano Roll notation?

Ever wanted to chart Pro Guitar, but it's too tedious to adjust velocities manually for each note?

Now you can!

 

USAGE

  • ProGuitar2MIDI

Drag and drop a .mid file that contains a "PART REAL_GUITAR" or "PART REAL_BASS" track into the executable file. Here's an example of its work.

  • MIDI2ProGuitar

Drag and drop a .mid file that contains the notes for the Pro Guitar chart in regular notation (like a Pro Keys chart, for instance). It'll read from tracks called "REAL_GUITAR" and "REAL_BASS", and convert them to a EXTREMELY ROUGH Pro Guitar/Pro Bass chart.

Please, DO NOT take the output chart for granted. Although the notes won't be wrong, it almost certainly won't reflect how a real guitarist would play, so you'll still have to make adjustments manually. Still, it's probably better than making the entire chart from scratch.

In both cases, the file will be saved as (original filename).output.mid.

 

CUSTOM TUNING

 

Some songs have a custom tuning for their Pro Guitar/Pro Bass parts. The program supports that - just open the settings.ini file (in the same folder as the executable), and edit that. It should be pretty straightforward, but it's worth noting that "guitartuning1" refers to the lowest E, and "guitartuning6" refers to the highest E.

If you don't have a settings.ini file, just run the program once and it'll autogenerate one for you, with default settings.

 

DOWNLOAD

CHANGELOG

 

v1.1

  • If the program is unable to read a midi, it'll try to use midishrink to fix it.
  • (MIDI2ProGuitar) If two notes share the same string upon conversion, the converter will try to adapt that, and throw an error if it is unable to (e.g. if it happens on the lowest string).

v1.0

  • Initial release!

REQUIREMENTS

 

This tool requires .NET Framework 4.5.2 (or higher) in order to run.

 

KNOWN ISSUES

 

MIDI2ProGuitar

  • The program will throw an error if a note is lower than the lowest E. If this happens, your guitar/bass track probably uses a custom tuning setting, so edit your settings.ini file to reflect that.
  • If two notes share the same string upon conversion (e.g. G and Bb), the converter will try to adapt that by putting the lower note down one string. If it happens on the lowest E, though, it won't be possible to adapt it, and the program will throw an error. In this case, please check your MIDI file or your tuning. 

If you have any issue with this tool - a bug, inaccurate conversion or anything else - please tell me.

If any information on this thread isn't properly written, tell me as well and I'll try to rewrite it in a clearer way.


Edited by raphaelgoulart, October 19, 2017 - 09:45 PM.


#2 Alternity

Alternity
  • 625 posts

Posted October 19, 2017 - 03:05 AM

Very interesting stuff. I'll be sure to give it a shot at my next pro guitar project.



#3 raphaelgoulart

raphaelgoulart
  • 18 posts

Posted October 19, 2017 - 03:50 PM

Great! I hope it is helpful :)
Also, I forgot to mention that this is good to verify the accuracy of Pro Guitar/Bass charts. As it's easy to insert a wrong velocity value (by miscalculation or accident), just drag the .mid file to the tool and listen to the resulting MIDI. If it sounds accurate, then the chart is accurate!



#4 Alternity

Alternity
  • 625 posts

Posted October 19, 2017 - 04:28 PM

Don't worry; I usually arrange a GP5 for RB3 anyways before working on a pro guitar project; so I'm guessing this is no different.

 

Does the program fixes sustains and whatnot? (Just curious at this point)



#5 raphaelgoulart

raphaelgoulart
  • 18 posts

Posted October 19, 2017 - 04:40 PM

This doesn't, this simply converts regular MIDI notes into a rough Pro Guitar chart (or vice-versa), it doesn't check for sustains or anything else (besides a note being lower than the lowest possible note).

 

I'm not familiar with Guitar Pro, so I can't really compare. I'll take a look into it, later, though.

If it's something that also converts "regular notes" into a guitar tab, it'll probably just do a much better job than my tool, that's for sure. In such case, I could just try to write a Guitar Pro to Pro Guitar (lol) converter, if I can find any documentation on how its format works (unlikely), or if I'm able to figure that out myself.



#6 Alternity

Alternity
  • 625 posts

Posted October 19, 2017 - 05:06 PM

If you know a bit of Python; there is a nice library for reading guitar pro files (so you could make a tool integrated in CAT). This is what I used to make the (maybe not so finished) drum import tool: https://github.com/P...nce/PyGuitarPro

 

Maybe there is libraries for other languages, very possible it's a very known file format.

 

Guitar Pro 5 is basically a composing tool for guitarsts; but most of the tabs out there are in this format. This is boths the tabs and the MIDI (and various other informations; like chord informations, bent notes and such) in the same file.

 

Also worth noting that EOF is open source and already has GP import function; but I don't really like using EOF for Rock Band purposes, as most people do; though it works pretty well for Rocksmith.



#7 raphaelgoulart

raphaelgoulart
  • 18 posts

Posted October 19, 2017 - 05:17 PM

Thanks for the link! I'm writing this in C#, later I'll take a look to see if there's a C# library to read .gp* files. If there isn't I'll just try to write it in Python anyway (good excuse to learn a new language!), I'll just need a library to read and write MIDI files, but I'm pretty sure there are a few handy ones out there.



#8 raynebc

raynebc
  • 230 posts

Posted October 19, 2017 - 06:11 PM

Here's a GP5 file spec that should be relatively accurate, if you're interested:

https://raw.githubus...5.10 format.txt



#9 Alternity

Alternity
  • 625 posts

Posted October 19, 2017 - 06:18 PM

Thanks for the link! I'm writing this in C#, later I'll take a look to see if there's a C# library to read .gp* files. If there isn't I'll just try to write it in Python anyway (good excuse to learn a new language!), I'll just need a library to read and write MIDI files, but I'm pretty sure there are a few handy ones out there.

CAT already does that through REAPER; you can use that!



#10 raphaelgoulart

raphaelgoulart
  • 18 posts

Posted October 19, 2017 - 06:59 PM

@raynebc: Yes, I'd be interested in that, If I end up deciding to write my own GP5 reader in C#. Thanks for the link!

@Alternity: Yeah I should take a look at their source code eventually, thanks for the suggestion!



#11 IMMCTNTJK

IMMCTNTJK
  • 199 posts
  • Location
    New Mexico

Posted October 19, 2017 - 07:29 PM

This is amazing! I can’t wait to try it, thanks so much!

My WIPS (Green Day, Beatles, Theme Songs)

#12 raphaelgoulart

raphaelgoulart
  • 18 posts

Posted October 19, 2017 - 09:45 PM

You're welcome, and thanks for the compliment!

 

UPDATE

  • If the program is unable to read a midi, it'll try to use midishrink to fix it.
  • (MIDI2ProGuitar) If two notes share the same string upon conversion, the converter will try to adapt that, and throw an error if it is unable to (e.g. if it happens on the lowest string).

This should make the conversion process a bit handier. If anyone finds any bug, please tell me!







Also tagged with one or more of these keywords: Pro Guitar, Pro Bass, MIDI, Converter, Software, Tool

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users