Midi import don't show drum notes properly

• Feb 15, 2012 - 23:59

I imported small midi file (two bars) with only drums in it. Midi format is 0, time sig 6/8 (blues pattern). Sheet looks as it should: drum key, time signature 6/8, two bars, exact number of notes and their values but on wrong place. They are all shown like notes for piano, drum note 36 (bass drum) is on position C2 etc. All notes are on channel 10 which is reserved for drums and sofware knows that (drum key) so drum note 36 should be on first space or E4. This is no bug but mistake (big error).
regards, nino

Attachment Size
6-8 Blues - basic, 2 bars tempo 80.mid 530 bytes

Comments

No this is not an error - it is MuseScore faithfully representing the data available to it in the SMF.

General MIDI drums, as you probably already know have sounds mapped to most of the MIDI notes on a keyboard.

Nowhere in the MIDI data is there information as to where to place these in the score.

Given that the methods of showing drumset notation on a five line staff are many and varied, you cannot expect MuseScore to predict where you want the notes to fall.

If you want to produce accurately notated drum parts in MuseScore, don't try and import them from an SMF.

In fact SMFs tend to cause many problems when imported into any notation software - Finale & Sibelius included unless they have been quantised first to make sure all notes are bang on tick for note start and duration.

In reply to by ChurchOrganist

Thank you for your answer. If some software is OpenSource it does not mean that it is "from dummies to dummies". Every software should be user firendly and accurate as much as possible. Drums are special case in MIDI so is channel 10 reserved for drums. Drum notation is also special case and must be made right. Drumset notation on a five line staff are clear now (more or less), put snare on third line or third space, the rest is almost standard. Never mind that, you should adopt one standard and put drum notes in five line stuff by that standard not like this because it is useless. Even playback of file is no good, no sound or program crash. Finale Notepad 2011 will show extra notes (at proper place) so it is not accurate as MuseScore but will play drums. They told me to buy more expensive their software if I want proper drum notation (they have error in reading midi file) like you told me not to import drums from standard midi file. I am myself programmer (midi karaoke, drums) and I will be glad to help you to decide where to put drum notes on stuff. Another problem is quantisation but in this file timeing is perfect. People from MuseScore, you should/can do better then this (when it comes to midi and drums).
regards, nino

In reply to by ninozagreb

Automatically notating drums from something like MIDI - which is a very rudimentary form as far as providing information to a notation program - seems like a pretty complex problem to me. It's not just a matter of picking an appropriate line/space, but also picking appropriate noteheads, picking appropriate voices to control stems and beaming, etc. Whatever standard MuseScore adopted, you can pretty much bet at least half the world would find fault with. Although if it could use your current drum set file to know how you like to enter drum parts, that would be a good start.

Anyhow, yes, there is room for improvement, and hopefully at some point in the future something like this will be considered. But priority-wise, this kind of thing (MIDI import) is usually way below more fundamental notation capabilities.

In reply to by ninozagreb

"channel 10 reserved for drums"

Actually if you read the MIDI 1.0 specification channel 10 is not reseerved for drums.

That is only the case in MIDI instruments following the General MIDI specification.

As I keep saying here - MIDI is a device-dependent protocol and an SMF produced on one MIDI device may sound completely different on another.

As a case in point try recording something on a DX7 and playing it back on an Alesis SR16!

In reply to by ChurchOrganist

GM (General MIDI), GS (Roland), XG (Yamaha) they will all have drums on channel 10 (Yamaha can use also channel 16 and have two drum sets playing at same time). Note numbers can also be different so as sound but this is normal, we are talking here about midi files on PC which should be by GM2 spec. There is also no spec for entering karaoke words in midi file so what, people enter them and good players like VanBasco's recognize all of them. Soundfonts are also in many different format (sf2, dls, giga, sfz ...) but we have to live with that.
regards, nino

In reply to by ninozagreb

Yes you are quite correct about General Midi (GM) and the Roland and Yamah Supersets of GS and XG - in fact in XG you can define any channel to be a drum channel by means of Sys Ex - not sure whether you can in GS, as most of my MIDI programming experience was with the Yamaha system.

The point I'm trying to make is that you can't pull a MIDI file off the internet somewhere and expect it to be GM compliant without checking it first - in my backing track programming days I frequently fell foul of programmers putting SysEX dumps at the beginning of SMF's which set parameters for a specific device to the extent that towards the end of that period I never played back an SMF without checking the event list first!

I hope that some day some whizzkid programmer will provide the facilities in MuseScore that you want, but for now, I'm afraid we will have to wait for that guys to come along as there are currently things to improve which are higher up the wishlist.

You say you can't program in C++. however you obviously have a pretty in depth knowledge of the workings of MIDI, so you are of potential use as a consultant to someone proficient in C++ and not in MIDI

Regards
Michael

In reply to by ChurchOrganist

Good day Michael. I like style of lasconic. Take a source, star here, do it. So I took source code, Visaul Studio 2010 Express All iso file and tommorow will start with debugging. My plan: one week to learn C++ syntax, two weeks to start writing a code. If after a month I don't send some working code to lasconic then I failed. My goal is to put drum notes as they are now to 5 line stuff at proper place according to adopted standard for drum notation. Only notes for extended drum set (bass, snare, hi-hat, 6 cymbals, 6 tom-toms + cowbell, woodenblock, triangle, total of 25 drum notes (rimshot is not in gm spec but should be). For presentation of drum notes I intend to use only note heads available in MuseScore palette. Of course, I will write a documentation. I want this job to be done (never put a boy to do men's work) so enough talking, let's start working.
regards, nino (from Zagreb, capital city of Croatia)

In reply to by ninozagreb

Yeah ! Let's rock!

If you need help with setting up your environment. Check http://musescore.org/en/developers-handbook/compile-instructions-window…
I never used Visual Studio 2010 to compile MuseScore. If you manage, let us know! QtCreator and mingw are probably easier to setup.

Please use MuseScore trunk for your experiments! And feel free to contact developers on the mailing list or chat on IRC (#musescore at freenode.net)

Do you still have an unanswered question? Please log in first to post your question.