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

  • This topic is empty.
Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #395632
    Raphael Goulart
    Participant

      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.

      #491682

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

      #491700
      Raphael Goulart
      Participant

        Great! I hope it is helpful <img decoding=” src=”/wp-content/uploads/invision_emoticons/default_SA_smile.gif” />
        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!

        #491702

        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)

        #491703
        Raphael Goulart
        Participant

          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.

          #491704

          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.

          #491705
          Raphael Goulart
          Participant

            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.

            #491706
            raynebc
            Participant

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

              https://raw.githubusercontent.com/raynebc/editor-on-fire/master/Guitar%20Pro%205.10%20format.txt

              #491707

              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!

              #491708
              Raphael Goulart
              Participant

                @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!

                #491709
                RongoIK
                Participant

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

                  #491711
                  Raphael Goulart
                  Participant

                    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!

                  Viewing 12 posts - 1 through 12 (of 12 total)
                  • You must be logged in to reply to this topic.
                  Back to top button