Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. MIDI to Guitar Tablature

MIDI to Guitar Tablature

Scheduled Pinned Locked Moved C#
tutorialquestion
7 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    Vertyg0
    wrote on last edited by
    #1

    Is there any algo or example (code) of how to convert MIDI file to eg Guitar Tablature?

    C E 2 Replies Last reply
    0
    • V Vertyg0

      Is there any algo or example (code) of how to convert MIDI file to eg Guitar Tablature?

      C Offline
      C Offline
      Christian Graus
      wrote on last edited by
      #2

      I wouldn't have said that's an algorithm, it's really a rendering detail.  Nothing is changed, the note is just rendered as tab.

      Christian Graus - C++ MVP

      E 1 Reply Last reply
      0
      • C Christian Graus

        I wouldn't have said that's an algorithm, it's really a rendering detail.  Nothing is changed, the note is just rendered as tab.

        Christian Graus - C++ MVP

        E Offline
        E Offline
        ejuanpp
        wrote on last edited by
        #3

        It is not totally a rendering detail since each note can be rendered in several places :)

        C 1 Reply Last reply
        0
        • E ejuanpp

          It is not totally a rendering detail since each note can be rendered in several places :)

          C Offline
          C Offline
          Christian Graus
          wrote on last edited by
          #4

          No, you're wrong.  MIDI has no concept of the same note living in more than one place, so it doesn't contain any info about how to play the note on guitar.  No system that I have seen does a good job of choosing 'default' fingerings, you always end up having to edit them.  Either way, whatever fingering is chosen, becomes part of the metadata of the new file format, but as MIDI doesn't support it, it becomes another rendering details specific to the new format.  And, if it was in the MIDI file, then it would be a rendering detail of the MIDI file, instead of the new format being used.

          Christian Graus - C++ MVP

          E 1 Reply Last reply
          0
          • C Christian Graus

            No, you're wrong.  MIDI has no concept of the same note living in more than one place, so it doesn't contain any info about how to play the note on guitar.  No system that I have seen does a good job of choosing 'default' fingerings, you always end up having to edit them.  Either way, whatever fingering is chosen, becomes part of the metadata of the new file format, but as MIDI doesn't support it, it becomes another rendering details specific to the new format.  And, if it was in the MIDI file, then it would be a rendering detail of the MIDI file, instead of the new format being used.

            Christian Graus - C++ MVP

            E Offline
            E Offline
            ejuanpp
            wrote on last edited by
            #5

            Christian Graus wrote:

            No, you're wrong. MIDI has no concept of the same note living in more than one place, so it doesn't contain any info about how to play the note on guitar.

            Why am I wrong, just because I say that coverting MIDI to TAB would not be entirely a rendering detail ? I was just pointing out that there are different rendering possibilities and that it is not as simple as that.

            Christian Graus wrote:

            No system that I have seen does a good job of choosing 'default' fingerings, you always end up having to edit them.

            I was talking about that algorithm. Regards

            C 1 Reply Last reply
            0
            • E ejuanpp

              Christian Graus wrote:

              No, you're wrong. MIDI has no concept of the same note living in more than one place, so it doesn't contain any info about how to play the note on guitar.

              Why am I wrong, just because I say that coverting MIDI to TAB would not be entirely a rendering detail ? I was just pointing out that there are different rendering possibilities and that it is not as simple as that.

              Christian Graus wrote:

              No system that I have seen does a good job of choosing 'default' fingerings, you always end up having to edit them.

              I was talking about that algorithm. Regards

              C Offline
              C Offline
              Christian Graus
              wrote on last edited by
              #6

              ejuanpp wrote:

              Why am I wrong, just because I say that coverting MIDI to TAB would not be entirely a rendering detail

              OK, there is one other bit of work involved, as the new format contains more information.  I apologise, you are correct. However, the only way to do this is to simply make sure that the note positions selected are physically playable.  There's no way to write an algorithm that generates correct fingering, the info simply isn't there.  I can tell by looking at a riff in tab that it's wrong, but no algorithm will replace an experienced guitarist looking at a pattern and 'knowing' it's wrong.

              ejuanpp wrote:

              I was talking about that algorithm.

              It doesn't exist.  Best you can do is try to keep the notes within a position until it's impossible, then shift positions.  You may then recurse to see which solution requires the least position shifts, but that doesn't mean it will be correct.  You could add stuff for ever, and still not get it perfect, it's probably a waste of time expecting to get perfect results, you never will.

              Christian Graus - C++ MVP

              1 Reply Last reply
              0
              • V Vertyg0

                Is there any algo or example (code) of how to convert MIDI file to eg Guitar Tablature?

                E Offline
                E Offline
                ednrgc
                wrote on last edited by
                #7

                Wouldn't that "algo" be to ge the note, and also surrounding notes to find out the relative finger position to determine the overall finger/hand position.

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • World
                • Users
                • Groups