lmms icon indicating copy to clipboard operation
lmms copied to clipboard

LMMS shows odd behaviors with non-default denominator

Open PhysSong opened this issue 8 years ago • 8 comments

LMMS supports variable time signature since bf077dd. There have been so many bugs and most of them have been fixed. Now LMMS seems to work correctly with any numerator. However, there are still some bugs with meter denominator. Here's the list of bugs that I found:

  • [ ] Piano-roll and automation editor displays weird grid~ To reproduce:
  1. Set time signature to 4/28
  2. Open piano-roll or automation editor
  3. The grid will look very weird Edit: odd quantization grid isn't a bug, but beat grid and bar grid should be synced.
  • [ ] Pattern length become wrong after changing denominator To reproduce:
  1. Set time signature to 4/4
  2. Add a whole note at the beginning of a pattern
  3. Set time signature to 4/20
  4. The pattern should be 5 bar long, but it shows exceeding length.
  • [ ] Metronomes are out of sync To reproduce:
  1. Set time signature to 4/5
  2. Turn on metronome and play song
  3. Two metronome sounds won't be synced.
  • [ ] LMMS treats BPM as quarter notes per minute, not as beat for minute When the denominator changes, the length of quarter notes(and other notes) should be changed according to that. For example, a quarter note has two-beat length with time signature 4/8, but LMMS treats it as if it is one beat long.

Supporting exotic denominator may need large rework on whole codebase, but some issues may be fixed easily. If there are any duplicates or related issues, please let me know!

PhysSong avatar Dec 09 '17 06:12 PhysSong

About the metronomes, see the last commit on the sample track recording PR. I think it may fix this problem.

https://github.com/LMMS/lmms/pull/3947/commits/205ec07bf61b43ae609e690fb9b5d7c5d4094e54

Reflexe avatar Dec 16 '17 10:12 Reflexe

LMMS treats BPM as quarter notes per minute, not as beat for minute When the denominator changes, the length of quarter notes(and other notes) should be changed according to that. For example, a quarter note has two-beat length with time signature 4/8, but LMMS treats it as if it is one beat long.

Even nicer would probably be separating the BPM unit from the denominator, i.e. the time signature might be 12/8 and the tempo in dotted quarter notes per minute, like this: https://music.stackexchange.com/questions/66738/meaning-of-a-dotted-quarter-note-next-to-bpm-in-sheet-music

softrabbit avatar Oct 07 '19 15:10 softrabbit

Like to add that Beat&bassline also has strange options Here 6/8 a setup with 12 positions are available. image In a way, that is 12/16, but its not obvious that 6/8 is 'doable' if every second is invoked

musikBear avatar Jan 27 '20 22:01 musikBear

You may be overthinking it, @PhysSong.

Piano-roll and automation editor displays weird grid

If we fixed this in a musically correct way, beat lines in 4/28 would be painted in-between quantization ticks. That means there is actually no way to place notes exactly on the beats of a 4/28 meter. To fix that we'd have to introduce some form of tuplet feature in the editor, ~which feels awfully complex~ see #1842.

Pattern length become wrong

This not not a bug at all. LMMS is completely right. A whole note in 4/5 is the same length as a whole note in 4/4 - it's always four quarter notes long. The time signature only changes where the bar line is drawn. A whole note in 2/4 spans two bars.

Metronomes are out of sync

Same thing here as the grid issue. It comes down to division and rounding. Even if we fixed the metronome, the notes could never play in sync with it, because we are limited to 192 ticks when placing notes.

Besides, it would be better if the metronome had it's own time signature setting, like #6119.

LMMS treats BPM as quarter notes per minute

I like @softrabbit's suggestion here, though this is not directly an issue of non-default denominators.

Solution

Only allow denominators 1, 2, 4, 8, 16 and 32.

Would that be a problem? I don't think so. The denominator of a time signature is always power of 2. Well, 99,999% of the time... If you wanted to write something in 3/3 you'd have to use triplets and that makes the notation a lot more complex. You could write it in 3/4 instead and it would sound exactly the same.

So why on earth would anyone use an irrational meter like 4/3? Wikipedia: "These signatures are of utility only when juxtaposed with other signatures with varying denominators". So it can make sense when putting two pieces of music, with different time signatures, side by side. Not possible in LMMS. And as I understand it, the usefulness is only for musical notation.

allejok96 avatar Aug 28 '21 13:08 allejok96

Only allow denominators 1, 2, 4, 8, 16 and 32.

This sounds like a good idea.

zonkmachine avatar Sep 19 '23 19:09 zonkmachine

Only allow denominators 1, 2, 4, 8, 16 and 32.

I have a PR (#6981 ) which does this.

ifndefJOSH avatar Nov 12 '23 04:11 ifndefJOSH

Only allow denominators 1, 2, 4, 8, 16 and 32.

Please don't. This would break compatibilities with projects using irrational meters, MIDIs, etc. Many famous songs use these time signatures.

So why on earth would anyone use an irrational meter?

Sometimes, especially when dealing with classical music, movie soundtracks, or exotic compositions, it's just more convenient to not think too much and just write the melodies down as they are, making no changes to the time signature.

I think the flaws you described are bearable and we should not remove a feature that, in this niche, could make LMMS more appealing than other DAWs: most of them, to my knowledge, don't support it. LMMS could be perfect for composers looking for this. Ableton appears to not allow custom denominators other than 1, 2, 4, 8 or 16, for instance.

Let me know if I said anything stupid. I'm a noob when it comes to special time signatures, and they can be really confusing. Still, this is what I think.

mirk0dex avatar Apr 25 '24 21:04 mirk0dex

@mirk0dex I disagree because irrational meters imply a nearby rational meter with a "prevailing" tempo. LMMS currently does not handle mid-song meter changes well; yeah, you can technically automate it but...good luck. Same goes for tempo changes but I think you'll see more success with those since the only thing that really gets weird is the sample tracks. Why have a song in $\frac{4}{3}$ (four third beats per measure) at X BPM when you could just have a song in $\frac{4}{4}$ at $\frac{3X}{4}$ BPM?

As LMMS is currently, I don't think it makes sense to allow irrational meters. Maybe in the future if there's better automation for meter changes, then it could work.

ifndefJOSH avatar Apr 27 '24 04:04 ifndefJOSH