9 ms·
MIDI 2.0 driver support coming with Linux 6.5
- bjourne 3y agoIsn't MIDI something the userland can and should handle?
- thomasfedb 3y agoTiming is pretty crucial for MIDI and sound, does that mean being in the kernel space is helpful?
- adamnemecek 3y agoNot the I/O, they are drivers after all.
- syntheweave 3y agoMIDI has never been userland in multitasking environments. It's a real-time, low-latency interface between some number of running processes and some number of hardware ports: the timing glitches and weird buffer behaviors you'll get from mixing together different hardware are totally kernel's wheelhouse. If you meant General MIDI synthesis, that's a different spec and related only in that the MIDI message encoding is reused to describe sequences.
- hdygdtfd 3y agoyes. but the companies contributing code don't want to bother to do it right and simply use from user space the kernel real time primitives. much easier to just add real time code and bugs in the kernel and clock out at 5. (byw, their code isn't even that real time)
- nomel 3y agoWhat’s a good method for semi real-time, multi process, and multi hardware port synchronization, in user space? All of the real-time kernel code I’ve worked on wasn’t possible 15 years or so. Are there some new user space hooks?
- j16sdiz 3y agoThe kernel aint hard real time anyway. In userspace, guess you can pin the task to one or two core, have it the highest rr priority and get more or less the same soft realtime we have in kernel?
- coldtea 3y agoSo, basically you need to manually pin the processes, be constrained to specific cores, and cross your fingers...
- duped 3y agoHow would it be in userland? You need to communicate directly with devices?
- viraptor 3y agoThat's ok. You can talk to USB devices from userspace without issues. That's how many game controllers work. Also most (all?) SDR devices. In most systems that impacts the mininal latency you can achieve though, so unless you have a system designed around it, you typically don't want real-time usage crossing to userspace too many times.
- coldtea 3y agoMusic is far more sensitive to latency and jitter than graphics - one of the reasons to have more direct support.
- jancsika 3y ago> MIDI 2.0 is a major overhaul to the original MIDI protocol that is widely-used by musical devices. Reshuffling that sentence for clarity: The original MIDI protocol is widely-used by musical devices. MIDI 2.0 is a major overhaul to the original protocol.
- ygouzerh 3y agoThank you for the TLDR !
- ChuckNorris89 3y agoI'm not a native English speaker but the original sentence was equally clear to me. Can you enlighten me why you had to 'fix' it? Does it now match the rules set by Oxford and Cambridge or something?
- coldtea 3y agoI think in the original the "that is widely used" was ambiguous, as to whether it refers to MIDI or MIDI 2.0.
- deleted 3y ago[deleted]
- earthnail 3y ago> MIDI 2.0 is a major overhaul to the original MIDI protocol that is widely-used by musical devices The word “that” can refer to both original MIDI and the overhaul MIDI 2.0: MIDI 2.0 is a major overhaul that is widely used by musicians. …the original MIDI protocol that is widely used by musicians.
- dustypotato 3y agoIt was already pretty clear from the context as a new protocol wouldn't be widely used by musical devices anyway
- 3y ago
- gnulinux 3y agoAs a composer software engineer: all I can personally say is that MIDI is a pretty terrible protocol that's borderline unusable for everything except very limited applications. It's fine to use it for keyboard (piano, organ, celeste, harpsichord etc). For literally anything else it's useless and I see nothing in 2.0 that fixes it.
- shampto3 3y agoOut of curiosity what limitations do you find yourself running into when composing? I’m a songwriter myself, but my arrangements are probably too basic so I haven’t had any noticeable issues.
- echelon 3y agoWhy? I was under the impression midi was used for all composition. Is that wrong? If so, what do composers, EDM artists, etc. use? Something proprietary?
- lmpdev 3y agoSibelius I'm not a composer but I imagine .sib and PDFs I thought midi was more intended for live messaging between different instruments/controllers
- rewgs 3y agoYes, it’s all MIDI. People complaining about it are ignoring the fact that it’s beyond ubiquitous and has not required a change for literally decades. It’s a smashing success, warts aside. The dude replying to you with “Sibelius” apparently doesn’t understand that, like all other DAWs and notation programs…Sibelius uses MIDI, because of course it does.
- elihu 3y ago> "People complaining about it are ignoring the fact that it’s beyond ubiquitous and has not required a change for literally decades." It sounds like MIDI is meeting your expectations, but people who have different requirements might disagree. As an example, consider notating this in proper, exact just intonation: https://www.youtube.com/watch?v=I49bj-X7fH0&t=1s https://www.youtube.com/watch?v=I49bj-X7fH0&t=1s There are probably some composition programs that can do this, but MIDI is more of a hindrance to that task than a help. MPE is kind of a kludge, but it works decently well and it absolutely addresses a real use case. For a certain kind of user it was a welcome addition to the MIDI spec.
- grugagag 3y agoIs it fully backwards compatible?
- TheRealPomax 3y agoYes. For more details, google's your friend.
- cpach 3y agoIt used to be, before the spam blogs totally swamped the SERPs.
- another2another 3y agoGoogle used to joke that you could hide a dead body on page 2 of their search results and nobody would ever find it, since nobody ever went there. Now page 2 of the search results (or beyond) is where the useful answers to your 'let me Google it' might start.
- TheRealPomax 3y agoIn general? Probably. If you actually do a targeted search like "is midi 2 backward compatible"? No, Google's still perfectly fine.
- JellyBeanThief 3y agoWhat ever happened to https://en.wikipedia.org/wiki/Open_Sound_Control https://en.wikipedia.org/wiki/Open_Sound_Control?
- bluGill 3y agoServes a different purpose. A few things support it, but it isn't common from what I can tell
- duped 3y agoToo much overhead, too little benefit. No one ever really cared about it.
- kallistisoft 3y agoOSC still exists it just never became the defacto standard for the industry; primarily because there is no standardized device mapping for interoperability. MIDI 2.0 fixes a number of issues that OSC was intended to fix, but imposes vendor limitations which lead to standardized adoption. I still use OSC for music production, and it's my goto protocol for writing code that needs networking as it's a super simple message passing protocol that lets me quickly connect various devices and services :)
- wrl 3y agoOSC is basically a serialisation format with a few niceties bolted on for batching and scheduling messages. The massive unsolved problem is discovery – discovery both of endpoints (servers, devices) and messages that can be sent to said endpoints. There have been efforts to solve this over the years, but are largely vendor-specific. MIDI has OS-level support for discovering endpoints/devices, and there's enough standardisation of supported controllers that things largely "just work".
- elihu 3y agoThe idea of MIDI is that you can grab any midi controller and any synthesizer manufactured in the last forty years, plug them together, and they just work. (As long as we can keep up the pretense that we're synthesizing something that behaves like a piano, and we aren't trying to use USB which introduces its own set of problems.) The idea of OSC is that you can send any kind of message at all from any device to any other device and the semantics of those messages are left as an exercise to the reader. There's no guarantee of interoperability. It's just assumed that if you're using OSC you know what you're doing and it's up to you to make sure both devices are speaking the same dialect. Sometimes people tunnel what is effectively MIDI over OSC, but I think that's the closest thing to a common standard, beyond the basic low-level data layout that OSC messages are expected to conform to. I think some people use OSC for various things, but it tends to be for custom bespoke installations that were designed to do something specific.
- jalk 3y agoI hope this means we can have class compliant USB midi devices with Jitter correction and "interrupt driven" transfers (as opposed to the low priority bulk transfer mode used in USB midi 1.0). This should mean way better midi clock synchronization at the cost of a bit latency. Unsure how much work there is in for the DAWs, as they will have to not only use the new API's but also send midi events some millis early to take advantage of the jitter correction. Hopefully there is someway for the Alsa client to determine this automatically so we don't have to manually twiddle with negative track delay or similar "hacks"
- p0w3n3d 3y agoI had experiments with Ardour on Linux a few years ago, but those got killed by: - no support for VST plugins - clipping/distortion and no out-of-the-box compression in Ardour - jitter during recording, problems with clock Has anything changed recently?
- mkesper 3y agoLazy answer to lazy question: https://ardour.org/whatsnew.html https://ardour.org/whatsnew.html
- rvense 3y agoArdour does support plug-ins. VST as a format is platform dependent AFAIK. I think you can do something with WINE but other than that the authors of Ardour can't magically remake proprietary Windows VSTs in a compatible format. As for your third point, I think Linux is improving in this area all the time. Ten years ago it was a black art. There's a lot you can do to set it up, but also a million different things that can be wrong and cause problems, so unfortunately you have to troubleshoot a specific setup.
- 6581 3y agoVST: https://manual.ardour.org/working-with-plugins/ https://manual.ardour.org/working-with-plugins/ Compression: https://manual.ardour.org/plugins-filters/ https://manual.ardour.org/plugins-filters/ Clock: https://ardour.org/news/7.0.html https://ardour.org/news/7.0.html ("Internal Time Representation") Check out the recent changelogs, there's lots of new and fixed stuff: https://ardour.org/whatsnew.html https://ardour.org/whatsnew.html
- johntraitor 3y agoFor Windows VST I use Yabridge, which is amazing with Wine. This week I have setup Native Instruments Komplete 14 (Kontakt and Komplete) working with Ardour connecting my Roland A-88 Mk2. Maybe i should do some videos to explain.
- altonas 3y agoHow's the latency when doing live performances or just practicing piano? Because recently I've stopped doing much production and moved from using DAWs to lighter programs like Gig Performer since I'm more of a pianist than a producer, I use like 5 plugins max (a modeled piano with a few effects like reverb and comp) and I'd be interested in a Linux alternative if the delay isn't going to annoy me during practice.
- amelius 3y agoTrue audiophiles will only want a real-time OS.