musescore / musescore/MuseScore

Allow guitar string mapping with separate midi channels - make guitar tab accurate by specifying which string is played.

Open
#28,201 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

awaiting reply from user MIDI
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Your idea

Midi files recorded via a midi guitar (e.g. yamaha ez-ag) or from guitar pro (?) assign notes to a particular channel based on which string is played. e.g. an 'A' played on the low E string is played on fret 5, whereas the same note played on the A string is played on fret 0 (open). The E string 'A' is recorded on midi channel 6, where as the A string 'A' is recorded on channel 5, to differentiate the strings. This means that all the information for correct finger accurate tablature is contained within the midi file.

Musescore currently has no way of using this information. Either the channels are imported separately and must be manually recombined, or all the channels are combined, and the correct fingering/string information is lost.
In the first case, combining six different staves is problematic and results in lost notes (musescore can only handle 4 voices). In the second case, Musecore guesses the tab from the actual note which often results in poor/impossible tablature and must be manually corrected.

It would be most helpful if we could assign a midi channel to each string on the tablature, and import midi files accordingly - either one string at a time, or in one go. As musescore seems to be 'notation first - tablature second' there may well be some issues in how the standard notation interprets the imported tab, but it shouldn't be insolvable e.g. have an option to ignore note overlaps so as to keep one voice on the standard notation.

Image
screenshot showing midi guitar scale with notes on different strings assigned to different channels (colours)

Image
desired formatting in musescore (manually entered)

Image
importing the midi file to musescore 3 currently results in this

Problem to be solved

ability to import guitar midi files using correct string information

Prior art

No response

Additional context

No response

Checklist
  • This request follows the guidelines for reporting issues
  • I have verified that this feature request has not been logged before, by searching the issue tracker for similar requests

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reported MIDI guitar import behavior described in the issue, comparing separate-channel and combined-channel imports with the attached examples. Trace the existing MIDI import path and tablature assignment behavior. Done means guitar MIDI channel assignments reliably preserve the intended string information without losing notes or producing unusable notation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.