9 ms·
from the design doc: >Non-Goals ... Non-4/4 time signatures and time signature changes ... Just curious from a software design perspective why this i
by beepbooptheory 5y ago
from the design doc:
>Non-Goals
...
Non-4/4 time signatures and time signature changes
...
Just curious from a software design perspective why this is the case. I would, naively, assume you build up software primitives that wouldn't assume a time signature, making it trivial to support whatever segmentation of time. Why not just have a pulse and divide it however is needed?
Also I see nothing about OSC support, is that going to happen? Its definitely more something used for more experimental-minded musicians I guess, but it has huge support and makes things like interfacing with cv pretty simple, along with a million other things that are otherwise so fussy with midi.
Do love first class support for non 12-TET!
Overall a huge, exciting effort, can't imagine how hard this is.
- shams93 5y agoYeah time signature is more complex than you might think which is why a lot of hardware drum machines in the 80s could only do 4/4 or maybe 3/4 and 4/4 with their limited processesing.
- jb1991 5y agoThat is an odd "non-goal" indeed, and also unfortunate; it's like making a painting app but not giving users access to basic colors.
- techbio 5y agoOr fixing headline widths to 60 characters plus "..."
- royjacobs 5y agoThe document states this is a non-goal for the MVP, not a non-goal for the final product.
- romwell 5y ago"Ability to make turns is a non-goal for the MVP of the car we're building" You can't record a cover of Queen's We Are The Champions or Somebody To Love without struggling with the UI if 3/4 is not supported. Or Blondie's Call Me. Or a plethora of other popular music. "Fully Featured (in our imagination)"
- royjacobs 5y ago"Including a rear parking sensor is a non-goal for the MVP of the car we're building" seems to be a closer analogy. If you cannot use the MVP of the software for your use cases, that doesn't mean it cannot be worthwhile for anyone else.
- gglitch 5y agoThere might be language games at work here. '4/4 only' could be totally reasonable for an MVP from the perspective of the software developers, but not minimally viable from the perspective of a musician. Edit: Sorry, meant this as a reply to GP
- HelloNurse 5y agoUnfortunately, naive assumptions tend to bite later when the amount of rework needed to remove them is discovered. Being able to change time signatures is the sort of feature that is more important than delivering an anemic DAW sooner, and not only in theory as a "nice to have" but as proof of being able to be better than the competition.
- gglitch 5y agoYep. I don't remember the post, but in a (relatively) recent thread on DAWs, some developer was talking about how surprised they'd been by the complexity latent (pun acknowledge but not intended) in management of the timing grid.
- philipov 5y agoYes, as long as your use-case only includes driving straight forward, the MVP is fine. Supporting non-4/4 time is such a fundamental change that not being to turn is a good analogy. The rule of thumb is that you need to design to support at least 3 different use cases from the start if you want to create something that can viably extend to being a generic product.
- gmueckl 5y ago
- sabjut 5y agoA closer analogy would be to only support static images instead of animations and to only support cartesian pixel grids with only 2 dimensions.
- evilc00kie 5y agoDoesn't this non-goal dooms the project to be an edm/"bedroom-producer"-driven one? Maybe the goal isn't a general purpose DAW. But that would otherwise contract with the claim "fully-featured".
- devilduck 5y agoThey don't even have support for non-4/4 and you are asking about OSC? Is this you flexing that you know what OSC is or do you actually imagine that is on the road map at this stage?
- open-paren 5y ago> Non-Goals > To keep the scope manageable with such a small team, we will NOT focus on these features for the mvp (emphasis added)
- beepbooptheory 5y agoI know, my question still stands though, I get that its not a goal right now, just seems like something you should be thinking about from the beginning
- kierenj 5y agoSo strange! Very much add odds with the "full-featured" label. No Mission: Impossible theme (5/4)? No Pink Floyd - Money (7/4)? No Seal - Kiss from a rose? No Hey Ya!? Metallica - One / Nothing Else Matters? Fallin'? Edit: This was under "non-goals" for the MVP. Completely understandable...
- tekstar 5y agoOnly part of Money is 7/4, it switches to 4/4.. so you'd need time signature automation as well :)
- mrob 5y ago>Do love first class support for non 12-TET! Disappointing that it assumes octaves though. There are important scales without them, e.g: https://en.wikipedia.org/wiki/Bohlen%E2%80%93Pierce_scale https://en.wikipedia.org/wiki/Bohlen%E2%80%93Pierce_scale https://en.wikipedia.org/wiki/Gamma_scale https://en.wikipedia.org/wiki/Gamma_scale
- HelloNurse 5y agoYou seem to have found a significant weak spot: apart from the dubious approach of rejecting MIDI, ignoring OSC and reinventing the wheel, the assumption of octaves is very gratuitous and a net complication. MIDI supports 127 different notes and it is the synthesizer's job to decide their pitch; likewise, a piano roll has a predefined set of notes, each with its own pitch. It's therefore very unfortunate that they decide to be much less flexible than MIDI and represent notes as > The octave of the note, stored as an i8. For example, in 12-TET, a value of 0 means the octave with root note C4, 1 is the octave with root note C5, -1 is the octave with root note C3, etc. > The index of the note in the scale stored as a u16. For example, in 12-TET, a value of 0 means C, a value of 1 means C#, a value of 2 means D, etc. clearly closing the door to flat identifier spaces like the MIDI note number and to more general representations of tuning with non-octave repeating intervals or with the pitch of every note.
- BillyDM 5y agoAlso interesting. Of course I'm open to feedback. I feel that's one of the big purposes of a design document is to discuss the design decisions. My idea was if the tuning called for it, it would just ignore the "octave" part and use the u16 to have 64K available pitches that can be used. The actual tuning map is sent to the plugins in a separate message.
- BillyDM 5y agoInteresting, I was not aware of any scales without octaves. I suppose a solution here could to just ignore the octave part by having only a "single" octave.
- lijogdfljk 5y agoAgree with your question. I'm in the planning stages of a music notation app for myself and supporting arbitrary time signatures seems (from the ignorant outside!) as foundational as supporting a single time signature. Super ignorant on my part, but still. I suspected that the time signature was a calculation relative to the BPM. Once i have the difficulty for calculating how long a single beat is, and the significance of the beat, i would expect i could apply those primitives to any time signature. Which is to say once i write the function, don't i support all time signatures? Super curious if this is not the case.
- gmueckl 5y agoUnless I'm completely mistaken, even a basic tool like quantization is dependent on the time signature. Time signatures crop up in all kinds of other things, too. More advanced arpeggiators, sequencers, delays etc. understand tempo and time signatures and MIDI timing works on this basis, too.
- HelloNurse 5y agoIt is a superstructure. There are notes with the times of their events (MIDI note on, note off, polyphonic aftertouch, etc.) and editing operations that ultimately alter those times; calculating the modified times from beat divisions, with beats beginning according to a current BPM rate, is an abstraction that introduces arbitrary entities for the convenience of the composer.
- Igelau 5y agoAs other pointed out, this is the list of non-goals they cleared out to make a minimal viable product. Though I'm thinking "fixing something that fundamental after the fact is going to suuuuck".
- bambax 5y agoThis is quite weird and unfortunate. Also, does the world need yet another DAW? There are dozens of DAWs, some free, some not. Most of them are excellent; all of them let you use non-4/4 time signatures.
- mcguire 5y agoAudacity replacement?
- PaulDavisThe1st 5y agoAudacity (as it currently stands) is an audio file editor, not a DAW. Under its new management, it seems likely that it will evolve into something with many DAW features within a year or two.
- xook 5y agoGenuine question: How many are written in Rust? Maybe it's more "See, Rust can, too!" type software? Footnote: I have not done extensive research, hence the question.
- bambax 5y agoI don't know. Probably none. But I'm quite confident no musician or other user of a DAW cares what language it's written in. If the goal is to demonstrate that Rust can be used to write that kind of software, then hey why not; but they will need to have users at some point, to be able to actually call it a DAW.
- devilduck 5y agoI think we don't need another DAW unless it is a very different approach from the current options.
- PaulDavisThe1st 5y agoAs the author of an open source DAW that already supports non-4/4 time ... first of all, there are some annoying details to even get as far as the full scope of western metric notation. For example, compound time: 6/8 does not mean "6 eighth notes per bar", even though there's a growing body of DAW-trained young people who seem to think that it does. But "worse" (harder, is perhaps a better phrase), dealing non-western concepts of meter requires moving beyond "just divide it however is needed". A relatively simple case would be music from the Balkan/Byzantine cultures, which are much better represented using a notation form like [ 3L + 2S + 3L ] ("3 long beats, 2 short beats, 3 long beats"). There is a great deal of music from around the world that uses this structure, and even if a western notation like 8/N migh theoretically capture this, it doesn't contain the information required to play it. Moving to even harder metrical forms, Carnatic and Hindustani talas are always conceived on in their own cultures as rhythmic cycles that cannot be decomposed to simple western notation. Even teental, perhaps the most widespread and maybe the simplest, is not usefully representable using western time signatures (it consists of a cycle of 16 beats, where the timbre of the beats creates rhythmic motion and structure). FWIW, I hope to add the [ N + M + P ] form to Ardour in the not (too) distant future.