Git Product home page Git Product logo

guitarpro-to-midi's Introduction

GuitarPro-to-Midi

Note:

I'm not actively maintaining this and have no time to respond to any raised Issues or pull requests. I recommend the fork(s) created from this project, e.g. this one: https://github.com/rageagainsthepc/GuitarPro-to-Midi

Description:

Simply import the unitypackage into your Unity program and run the only scene "call_gp_decoder". Click on the button to open any GuitarPro file. A file "output.mid" will be created in the home folder of your Unity project.

(The cs-files in this repo are just for quick access and needn't be downloaded.)

Features:

  • Reading GuitarPro 3 - 5 Files (based on the open python pyGuitarPro project)
  • Reading GuitarPro 6 Files (using a simple bitwise compression and an xml structure with dictionary and ids)
  • Reading GuitarPro 7 Files (packed like a normal zip-file and using a very large xml structure)
  • Transferring all files into a common native format that saves all (and only) the information that are interesting for midi files. I.e. a lot of information like fingering or guitar amp preferences are ignored.
  • Splitting to a secondary channel for certain effects
  • Exporting to Midi, trying to simulate the sound as best as possible: Simulating:
    • Different types of harmonics
    • Strum patterns
    • Bending - as far as the midi standard allows
    • Trembar - "
    • Volume knob effects
    • Muted notes
    • Vibratos
    • and perhaps more..

(I must mention that GuitarPro's native Midi export lacks far behind in this functionality!)

Please enjoy and create some great software with this!

guitarpro-to-midi's People

Contributors

alexsteb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

guitarpro-to-midi's Issues

Improvement: Adopting Kaitai Struct format

Hello,

This is an answer to your question @mauricek in Perlence/PyGuitarPro#14 (comment)
which is closed now. I'm a bit late, so I open a new call for improvement here

Since you created multiple projects in different languages with the same goal of parsing GP files, it might be a good idea to write a code independent specification of the structure of those files. I searched a bit and found that the project Kaitai (https://kaitai.io) could answer this need, but it might not be the only one.

I created a small POC by forking kaitai's repository. It's nowhere near finished and I don't have time at the moment to improve it. But it stills show that you can more or less easily parse a GP file using their approach:
https://github.com/MZehren/kaitai_struct_formats/blob/master/media/guitar_pro_5.ksy
Feel free to use this code if it is of any help for you.

License

Hi!

It looks like nobody is maintaining this project anymore. I have modified it to work as a dotnet core console app and I would like to continue maintaining it as an independent fork. However, this project does not have an open source license, could you please add one?

Can't run script..

Hi! I need to convert > 1000 gp files in bulk, and your script is the only tool that I found in the whole fking internet =) Could you please specify how to run it, I never used Unity and can't understand what I'm doing wrong. I imported the file, nothing happens with Run button, when I try to Build & Run - log is full of errors.

2019-03-02_122953

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.