Hacker News new | ask | show | jobs
by highmastdon 1033 days ago
This and a feature to “insert” note lengths instead of “overwriting” them, is imo a fundamental piece of missing feature. I have the same experience with posting a request for help in this direction. They’re very pedantic when it comes to how a person uses the software.

(The use case I need this for us when I want to transcribe music by ear. I first use my MIDI device to type all the notes, and subsequently modify the lengths. Currently I have to cut, modify length, paste, repeat. For every, single, note, rest… Extremely annoying)

If anyone knows software that can help me with this, or another way to transcribe music wrt my use case, let me know!

3 comments

As far as open-source software is concerned, you can use Lilypond [1]. Fully text-based transcription. You can edit, insert, splice, overwrite, etc. to your heart's content in your favorite text editor and get a high-quality engraving as output.

[1] https://lilypond.org/

As much as lilypond is awesome, it really is NOT the same sort of tool as musescore. Lilypond's purpose is to create "beautiful engraved (printed) scores". Musescore is as much a compositional tool as anything else, although the (now-former) project lead does value the printed output too, and believes that Musescore is now better than lilypond in several ways.
LilyPond is much, much better suited toward writing music that doesn't exist yet and is changing as you invent it.

Because, as reikonomusha put it in the previous comment, "you can edit, insert, splice, overwrite, etc. to your heart's content in your favorite text editor", which makes the overwhelming difference. You don't see the notation as you're entering it, but you have a way to iterate on that.

However, it greatly helps if you're a developer or computer scientist, since you're working with a compiled markup language.

LilyPond isn't the answer for regular mortals.

LilyPond has sane playback. If the piece you've written is 3 bars long so far, and you play the MIDI file that pops out of the compile, you hear 3 bars and then it terminates.

MuseScore requires you to specify the number of bars before you compose and then gives you sheet full of that many empty bars. When you click play, it plays through all the notes you have composed so far ... and then doesn't stop! It goes through the empty bars. It's like the Forrest Gump of music programs. Run, MuseScore, run! If you put a double bar in its path, it doesn't get fooled: that's not the actual end of the file, so it blows right through it.

This is such a common use-case or way of working (write down the melody/harmony first, then fix up the timing) and such a natural way to transcribe music, that it gets requested all the time.

The weird thing is that the software can do this but they've made it so difficult and fiddly via the UI that it's impractical as part of any work-flow but there is nothing fundamental/technical preventing MuseScore from supporting this way of working.

The forums are generally hostile when (new) users innocently ask how to use the software this way - perhaps out of fatigue.

It seems it's been decided that the "one true way" to transcribe music is know how each note relates to the bar structure of music first before adding anything to your score. As a result it feels like trying to use a word processor stuck in overwrite mode.

In principle that might even be possible with a plugin, but the commands to double/halve durations can also help. Usually I end up just copying and pasting though. I agree it'd be nice to be able to easily arbitrarily shorten or lengthen notes while having following notes automatically shift to accommodate, though it's not the #1 feature I think's missing (I say that as a sometime contributor to the project).
If you're not a music notation genius trying to compose a complex, syncopated rhythms where you need the right rest values in between notes, MuseScore makes it very difficult. You can't just guess at the time values and then delete or insert bits of time in any way that is obvious or discoverable.

Here is a question: suppose you decide that you need an anacrusis (or "pickup measure") but didn't specify one at document creation time. Where can you do that? It's not discoverable at all. There is a submenu under Add for measures, in which you can insert measures at the beginning or end, but full measures only with all the beats.

Huh? That's simple - just change "actual" (vs "nominal") time signature in the measure properties.

What is a problem for me though is that the measure properties dialog opens up behind the main window...

Ah, I finally found what you're talking about. This thing has multiple elements called Properties. There is a Properties tab above the left pane. When a measure is selected, a Measure item appears there: a trash button to delete selected measures and a button to insert measures.

You're talking about a right click context menu which has a Measure Properties command. That indeed opens behind the main window. (Is this using GTK+? I regularly see this issue in GTK+ programs on Windows like GIMP; it's been there for at least 15 years.)

I see that I can set the actual time of a measure to, say 1/4 which creates a one beat pickup measure if it's the first measure.

No it's all Qt. I've tried fixing a few cases but yeah, seems something fundamental to the Qt library. I'd like to think that dialog will probably go away and be rolled into the properties pane, which I gather is Martin's (tantacrul's) preference.
OK, so I now know of three instances in different software of a similar issue on Windows: a window coming up in the background.

One is in Qt (as manifested by this MuseScore behavior with the dialog).

The other is a long-standing thing in GTK+, visible for instance in the Windows version of GIMP.

Then there is this funny issue I fixed in something called the Cygnal project (a fork of the Cygwin DLL):

https://www.kylheku.com/cgit/cygnal/commit/?id=5d50aea73aace...

When a program that has never serviced its Windows message pump runs another program via CreateProcess, and that program creates a window, that program's window fails to come to the foreground.

This goes away with a dummy call to TranslateMessage.

I have a vague feeling this could all be related.

What's your #1 missing feature?
If I had to pick one it'd probably be proper support for score instructions that appear over multiple staves. I was involved in trying to design the feature and was supposed to help implement it but a change of circumstances at the time meant I didn't have time to dedicate to it, so a very-much-simplified version was developed separately. I gather basically it requires editing the template files to customise. I do remember there was significant debate over what such a feature should be called, and that the proposed name didn't really make sense to me (I think it was "system text" or something similar).