Can't change meter of score imported from midi.

• Oct 11, 2017 - 17:10

I'm having a problem adjusting the meter after a midi import. I created the attached score by importing a computer-generated midi file (also attached). The melody is the chorus from Bernstein's 'America' theme from West Side Story. ("I like to be in America, Okay by me in America ...")

bernstein_america.mscz

The imported rhythm in 4/4 is mathematically correct but musically ridiculous. The actual score is in 6/8 which eliminates the need for triplets. How do I convert this to 6/8? Just dropping a 6/8 signature at the beginning fails with a "Tuples may not cross barlines" message. Trying to copy and paste the notes into a fresh score in 6/8 produces the same error message.

Thanks!
Mike

Attachment Size
bernstein_america.mid 369 bytes

Comments

In reply to by michael_ellis

Most people would prefer to download and examine the score anyway. In certain MIDI files, musescore has a time signature option, but this file is not allowing it for some reason. Perhaps a programmer will respond to this soon and give you some advice or answers. There is no easy way to fix this once it's imported using the tools available in MuseScore. There are ways to make it "look" right but you should not need to go through that when you import a midi file in 6/8 time.

In reply to by mike320

Thanks, mike320. It's actually good to hear that the midi file content matters, since I'm the author of the software that made the midi file. (Actually the author of the software that used a midi library to make the midi file.) Apparently midi files can contain time signature and tempo events, so it may be that I need to do some work to make sure those are put in the file.

It would be good to have some documentation from the programmers at MuseScore detailing how such things are interpreted at import.

My software is an open-source simple shorthand language for entering pitches and rhythms of arbitrary complexity. I'd love to get reliable imports into MuseScore as that would save me from having to write a MusicXML output generator.

See https://github.com/Michael-F-Ellis/tbon for details.

In reply to by michael_ellis

There is much discussion on midi in this long thread https://musescore.org/en/node/207346

If you want a good score with little work to be done in MuseScore then xml is a much better format to use for transferring the files. MuseScore does a lot to make this easier, but complex scores imported from MIDI will often require so much work it is just as easy to start over from scratch in MuseScore. Simple scores imported from midi require less work to fix in MuseScore and would be usable.

In reply to by mike320

Thanks, mike320. I want to keep my code as simple as possible. It already does about 90% of what I want which is to quickly capture melodic ideas and allow them to be played back for proof-hearing. I'm hoping to add no more than what is needed to accurately import a single melody line into MuseScore with correct time signatures. On the other hand, if someone reads this thread and wants to offer a pull request that produces well-formed xml output I'd certainly welcome that!

(Actually, my true fantasy is that someone among the MuseScore developer community would say "Hey! That really is a better way to enter notes quickly" and incorporate it into MuseScore. :-)

In reply to by michael_ellis

Speaking only for myself, one of the many folks who contribute to MuseScore development:

There's a saying in the software world, "standard is better than better". I looked briefly at your page and see some good ideas there, but nothing that would dissuade me from recommending ABC for anyone looking for a simple text-based note entry method. Whatever advantages your system might have, to me they are outweighed by weight that ABC has behind it at this point. Lots of tools can work with it in lots of ways, lots of music already available in that format, lots of help available on learning the format, etc.

That said, I would encourage you to work on MusicXML export from your tool, as this will practically always produce far better results than MIDI. Not just in MuseScore but in any other notation program anyone might want to use your language as a front end for.

In reply to by Marc Sabatella

Well, I did say it was a fantasy.

Having been in the software world since the mid-80's I understand what you're saying. But then again sometimes "better is better". ABC, these days, is almost as complex as LilyPond. It's trying to be a complete soup-to-nuts typesetting system. And that's great. But it's not what I'm trying to create. I just want a clean, quick way to enter rhythms and pitches. IMO, no program that I've yet seen -- GUI or script language, freeware or commercial -- does that simple thing really well.

Suppose you want a student to hear the subtle differences between even eighth, 60% swing, triplet eighths and dotted 8-16 rhythms. With tbon, you can immediately write

ab cd ef ga |
/a--b- c--d- e--f- g--a- |
/a-b c-d e-f g-a |
/a--b c--d e--f g--a |

and get exactly those rhythms (midi attached). I've no idea how to do that with ABC. I could probably manage it with LP, but it would be rather ugly and I'd have poke through the manual first (despite having created 360 Bach chorale transcriptions in LP and authored LP's modal transformation functions).

BTW, MuseScore imports mm 1, 3 and 4 correctly, but I can't find a setting that makes it see the 2nd measure as quintuplet eighths.

I'll give some consideration to MusicXML, is there a good reference you can recommend?

Attachment Size
rhythms.mid 333 bytes

In reply to by Ziya Mete Demircan

That's very good for entry in a GUI program. Ziya, you obviously know MS inside out.

Typing it out in tbon notation took me less than 60 seconds including proofreading. A three-fold speed up in basic notation entry is pretty much what I'd expect on average. That's a lot of time saved on longer pieces in several voices.

It's why having a little entry window in MuseScore that would inject parsed tbon notation into the current score would be a win. You could quickly enter a melody and then use the GUI to add slurs, stacatti, dynamics, etc. Best of both worlds in my opinion.

In reply to by michael_ellis

If the goal is to enter things with complete control over how they sound, what you sacrifice is complete control over how they look. MuseScore of course is more about the latter, as is MusicXML. ABC sort of straddles the line but leans more on the notation side these days as well. Your example is trivially easy in ABC or MuseScore if the goal is to to get the notation correct, but there won't be a guarantee playback will be exactly what you expect. Whereas by using MIDI, your notation actually leaves it unspecified whether some of those will display as eighths or something else.

So I guess one needs to figure out ones actual goal and choose the best tool for the purpose. Since MuseScore is a notation tool, and input scheme that also prioritizes ease of specifying notation is what makes most sense. But sure, alternate methods that are more performance-focused, like MIDI, and that allow MuseScore to make guesses on notation, are fine alternate approaches as well, and well suited for third-party tools.

In reply to by Marc Sabatella

Fair enough, Marc. Although I'll note that my 60% swing example could be represented exactly in standard notation in 4/4 time as pairs of dotted-eighth + eighth under a quintuplet bracket and since MS's midi import options include 5-tuplets it should recognize a precisely timed midi file as such. But yes, tbon notation can specify rhythms that may not be possible to represent in standard notation -- at least not without resorting to some really ugly notation.

I've a friend with a PhD in Conducting who's head of a university music department. She frequently holds a score up in front of students or groups she's directing, points to the score, and exclaims "This is not the music!". She's right. The score is what musicians interpret to bring the music to life. It's why computer generated performances so often sound wooden. And I'll be the first to say my system is not a cure for that.

On the other hand, I will claim that if you stick to standard beat divisions of 1, 2, 3, 4 and 8 it's hard for me to conceive of a more efficient way to enter notes and durations from a computer keyboard and that it's eminently practical for a notation program to parse the entered text as correct musical notation.

In reply to by michael_ellis

No arguments there. Just pointing out that the main respect in which I can see your system are measurably better than ABC, or tinynotation, or mup, or half a dozen other texd-based notation systems out there, is in its ability to represent non-metric rhythms. To me that still doesn't outweigh the advantages of being more standard, given that in the more usual cases, any of these would be about equally efficient.

I think of it this way: MuseScore already has one text-based note input system (the current set of keyboard shortcuts). If we were to ask users to learn another, I'd personally rather it be something one can use elsewhere - and better yet if some significant number of people already know it and thus don't need to relearn anything.

But that's just my personal opinion; I don't speak in any official capacity.

In reply to by Marc Sabatella

Hey Marc,
This has been good discussion and I appreciate you time and feedback. I need to put it on hold for a couple of weeks while I do other (paying) work.

I think MuseScore absolutely should support ABC if someone wants to code it. Personally, I'd like to see a well-documented socket API for notation input so folks can use whatever makes sense for their needs.

Until I get a chance to resume the discussion, I'll leave this little teaser showing how tbon supports chords, arpeggiations and ornaments.

z - - (://1^1351) | - 2 (~3432)3 - | 3 4 (~5654)5 - | 
6 7 (~171717)6 (572)(~1767) | 15 35 (//1^1351) - |

The parenthetic operators are

  • ( ) for chords -- simultaneous notes
  • (: ) for rolled chords (aka arpeggiated) -- attacked sequentially and sustained
  • (~ ) for ornaments -- attacked sequentially, not sustained except possibly the last note.

The code for these features has been pushed to my GitHub repo but it's not documented yet in the README. I've attached my midi output as well as a .mscz imported from it. MS did a very good job on the rhythms but the choices rh and lh staves are, well, interesting.

ornamenttest.mid
ornamenttest.mscz

Anyway if you look and/or listen you'll see it's just an overly ornamented walk up the diatonic scale. (Think Louis XIV entering a ballroom at Versailles.) I look forward to seeing the ABC version :-)

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