Jump to content
C3 Forums

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


Recommended Posts

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
Link to post
Share on other sites

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.

Link to post
Share on other sites

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

Link to post
Share on other sites

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.

Link to post
Share on other sites

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!

Link to post
Share on other sites

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!

Link to post
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.
Note: Your post will require moderator approval before it will be visible.

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