You can hook your MIDI keyboard up to a website with Firefox 108
theregister.com
theregister.com
And MIDI also has SYSEX to handle arbitrary data.
https://www.grammy.com/news/technical-grammy-award-ikutaro-k...
Dave was a brilliant designer, both analogue and digital, but not so great a businessperson; his company, Sequential, who made some of the most beloved electronic instruments - not least the Prophet series - went bankrupt and Yamaha bought the name. Dave went to work for Yamaha and Korg, and then Seer Systems, where he designed the first ever “soft synth” (professional-standard PC synthesiser plugin), Reality. He had all of the acclaim, and I’m sure he did OK, but he did not have the financial success the quality of his work deserved.
Nevertheless, he then founded Dave Smith Instruments, maybe the start of the analogue synth revival (which is going gangbusters now; Eurorack is the coolest hardware hacking scene on the planet). DSi did pretty well, which was great, but here’s what really reveals how beloved Dave was; his old friend Ikutaro had a word with his friend, the president of Yamaha, and more or less asked; “we all love Dave. You’re not using the Sequential name. How about it?” and Yamaha went… “you, know, yeah” and gave him the Sequential name - which still had significant brand equity - for free.
Seriously: https://www.sequential.com/2015/01/sequential-back/
> Instrumental in restoring the Sequential name was Roland’s Founder, Ikutaro Kakehashi, a longtime colleague and friend of Smith’s. “I feel that it’s important to get rid of unnecessary conflict among electronic musical instrument companies,” said Kakehashi. “That is exactly the spirit of MIDI. For this reason, I personally recommended that the President of Yamaha, Mr. Nakata, return the rights to the Sequential name to Dave Smith. And I’m glad to see such a wonderful result—a new product with the Sequential name.”
And in 2021, he sold now-Sequential again under much happier circumstances; $24m to the well-regarded British gear manufacturer Focusrite.
The music gear industry has more than its share of villains - google Uli Behringer sometime - but Dave and Ikutaro were real ones, and the best parts of the industry (including the big Japanese manufacturers, Korg, Roland/Boss, and Yamaha) move in their spirit. And a large part of that is because of the existence of MIDI.
Yeah but MIDI works for so much more than a piano. People use MIDI to program drum VSTs, guitar VSTs, entire orchestras, guzheng VSTs... basically anything musical.
That being said, it's serviceable but not great for a lot of these things, because originally it was meant just for keyboard-controlled synthesizers. The biggest flaw (IMO) is lack of standardization for individual instruments with more varied playing styles and articulations than the piano. As a basic example, for guitar VSTs, if you want to switch between sustain notes and palm mutes, you generally have to play an out-of-range note (a "keyswitch") to alter the articulation. However this keyswitch is different for Ample Sound, Shreddage, Native Instruments guitar libraries, etc. Similarly if you want to slide between notes, some VSTs just let you overlap the note while others make you use a slide keyswitch. Every VST has its own way of MIDI programming that isn't transferrable.
It's like switching between programming languages, except you're building a single program where it uses multiple languages at once in the same file and you have to remember if the current language syntax you're writing uses `elif`, `else if` or is LISP. (I have reference manuals for most VSTs I own bookmarked for this reason.)
The fact that MIDI continues to be used today is, more than anything, the result of "perfect is the enemy of done" IMO. You could redesign something better than MIDI from the ground up, but since everything already supports MIDI there's little motivation when it already works well enough.
What MIDI really got right is flexibility with regard to timbre. The standard was so open that General MIDI only came along later to establish some consistency for timbres.
The context in which I was writing was the previous comments, not your experience.
Maybe I wasn't clear when I said "you can use MTS" and "support seems widespread".
It's not part of the base MIDI standard, but it is standardized.
https://en.wikipedia.org/wiki/MIDI_tuning_standard
MTS is how you specify how MIDI notes are translated to frequencies, if you desire. You can use it to specify alternative scales, if you desire. The Wikipedia list of hardware and software which supports MTS seems very conservative IMO... my personal experience is that MTS support is reasonably common.
That’s what I said and what I meant. The Venn diagram of disagreement with me congrues with the Venn diagram of self disagreement.
Maybe there's a market in retrofitting old synthesizers like the kits available for some pre-MIDI classics ;)
It was designed by a large industrial committee, in secret, with no transparency and no input from other interested parties. The opposite of MIDI 1.0. And it just stinks of it. It is overwrought by a long shot, with many bells and whistles nobody is asking for (there's a very specific, and frankly short, list of critical MIDI failings). It has no reference examples and will be awful to implement and to deploy over various transports. When it came out it went over like a lead balloon: nobody seems to want to implement it.
MIDI has 14-value CCs anyway, it’s just that few controllers generate the messages. I don’t k ow how many synths respond to them.
It is impossible to create smooth filter sweeps with regular CCs without further smoothing on the receiving end, because the human ear can differentiate between many more than 128 frequencies.
And yes it truly isn’t a problem, as plugin developers have long since interpolated the 128 steps. If it were a problem, you’d be hearing choppy sweeps in every song and film score out there.
That's the point. It is not an issue for you, because it has been solved in certain receiving software that you use. That does not mean that the issue does not exist, but that it can be mitigated if you use software that allows that and smoothes the sweeps.
Specifically, the rate was 31250 bps. Why? Because the huge majority of synthesizer processors at the time had clocks that ran at 1 MHz or integer multiples thereof. Indeed that is still the case forty years later. Ask yourself what 31250 * 32 is.
It's time for a proper new standard using modern capabilities both for audio and control signal transport but it's a very heterogeneous market with tons of legacy, therefore almost impossible to achieve.
The first implementation of a numerical control programming language was developed at the MIT Servomechanisms Laboratory in the late 1950s... The main standardized version used in the United States was settled by the Electronic Industries Alliance in the early 1960s. A final revision was approved in February 1980 as RS-274-D.
So yeah. Remember what Gibson said about the future...
Check out the Example section for the 1964 RUNOFF document editor. You might see some familiar things
https://en.m.wikipedia.org/wiki/TYPSET_and_RUNOFF
Also communication protocols have pretty long lifespans. Take https://www.kermitproject.org/ for example or the wire standard for Ethernet
https://www.snopes.com/fact-check/railroad-gauge-chariots/
Basically there are loads of different railway gauges around the world, and indeed, inside the USA itself, which historically had no single standard size.
All roads, railways, and thus tunnels and bridges everywhere are very approximately multiples of the width of a horse's pectoral/pelvic girdles. Nothing especially Roman or anything else about it.
I remember the first time I saw MIDI in action: I was in a mall in the mid-to-late 1980s and ComputerLand had a full sized keyboard hooked up to an Apple IIgs, which was playing The Entertainer while the notes scrolled across the screen on a color display. The real piano sound that came out was piped through some great speakers and I thought it was the most amazing technology I had ever seen. Think about that for a second: That tech remained almost untouched for 35 years. Incredible.
This video has a short bit in the middle about one of the first MIDI keyboards which still works with modern equipment (starting at 7:55): The History of the Prophet Synthesizer https://youtu.be/Ruh0B5QKBMs?t=476
And for fun: 1986: MIDI and the MUSICAL MICROS | BBC Archive: https://youtu.be/aADkqmvy44o
Related (non-MIDI) note: I recently found this video about making electronic dance music on an Amiga in the early 1990s and learned quite a lot about how music-techies back then we're geeking out. Super fun - I'm not a musician, so I honestly had no real idea what was possible back then.
No-one uses MIDI 2.0 yet, we don’t need it! MPE (https://www.midi.org/midi-articles/midi-polyphonic-expressio...) is only just being adopted (with poly aftertouch instruments and keybeds like the ones in the ASM Hydrasynth).
MIDI has proved amazingly resilient, whether over 5-pin DIN, the increasingly common TRS 1/4” jacks (common on Eurorack or guitar pedals, where space is a premium) or the utterly ubiquitous MIDI over USB. (And ethernet, can’t forget that). Everything digitally controlled speaks MIDI - and not just music, the stage lighting world is all MIDI too. I think that there is a real case that it’s the second most successful wired physical-layer protocol behind Ethernet.
[1] - http://www.dmx-512.com/dmx-protocol/dmx-protocol-basics/
Edit: see other comment in this thread, no dice for now :( I'll have to do some more digging as to why it doesn't work.
and as someone who sometimes have people installing VS Code as part of classroom settings, I can tell you that this can easily become a 2 hours ordeal + some help mails after the class when you have 30 students who are entirely computer-illiterate
You can let the user accept new entries, but then you're back having to give random nontechnical people enough context and information to make the correct choice when a random website causes the permission dialog to appear. Empirically, that doesn't go too well.
I just would wish, there was a more clear distinction between them.
I think the connection from the browser vendors to the ad companies are not helping with that.
I hope some day we get to a WebMIDI 2.0, to expose some of the many many new super-rad features in MIDI 2.0.
This want iconifies a lot for me, as sensible & highly desireable straighforwardhish follow-up I have little expectation we'll see anytime soon. I generally love the web platform, find it does a solid job, has decent API shape & decisions. Stuff gets made, & pretty well. But there's definitely a dearth of spec workers & browser maintainers out there to pitch in after the first drops, especially after some 1.0 implementations make it out the door. Just like in normal software development, there's a budget for new development, but maintenance & improvement can be severely lacking. Attention for what we have, tlc, is sparser than the places where new things happen.
WebMIDI is alas one of these great worthy & amazing specs that at some point we need to re-up, come around to again, and I want so much to imagine that happening. I feel like WebShare (and Target) was another great example- lots of really good improvements asked for in issues, growing potential, but the interest from the top has moved on.
Apple removing it is weird considering the platform prevalence with musicians...
Also, fingerprinting is easy to avoid here. Firefox leaves MIDI off entirely until you opt-in to avoid random websites picking it up. Safari could do the same, presumably.
Firmware over midi was not uncommon for older equipment because the alternative was swapping out EPROMs if the instrument did not have an FD drive…and around Y2K, unavailability of older chips could mean replacing sockets or going without (so mostly going without).
That is definitely an issue with the device, but I don’t know how common or uncommon that is for much older equipment
So far, it's working. Chromebooks have not taken over the world.
They're also often exceptional deals for the low end of laptops (sub 200 dollar range) because Windows and its bloat make those laptops even worse to use. I'd never recommend any laptop that cheap unless someone has no meaningful way to save up, but this segment is very much still alive.
Honestly, I'm surprised the unification of smartphone and laptop hasn't reached those circles yet. A mid range phone and a cheap laptop shell that you can slide the phone into are a much better deal than a cheap laptop and a cheap phone. Samsung's DeX, for example, is fully competitive with ChromeOS and even most basic Windows use cases.
I feel like they’re just using fingerprinting as an excuse to not implement functionality that people want. Of course, I don’t really understand the problem space, so it’s likely I’m missing something.
Do you actually believe this? Do you not default to more practical explinations like, maybe they don't consider it worthwhile to support because of engineering cost vs people that actually use it?
For example, I'd say 9/10 people I know who aren't tech literate have no idea the Health app exists on their iPhone. This includes people with Apple watches. Similarly it should be obvious that basically nobody ever knew about or used that one feature you liked.
When I said "functionality that people want", I didn't mean to imply that there was a critical mass of people that made MIDI support in a browser obviously worthwhile, I just meant that some people want it and they're being told it won't happen because of fingerprinting.
Nobody wants a web browser that "chooses" not to work on some % of websites. Users choose, browsers implement. They are welcome to gate this feature behind a per-site permission prompt if they think it's insecure.
i don't understand how this is a fingerprinting risk either, and i'm pretty sure i'm not missing anything.
...Well, I guess I was about to answer my own question there. Never change, Apple. Never change.
Marketing is tricky, but 2023 looks like a great year for my product.
Working hard for it :) nice to see these kind of talks, it's inspiring
There are lots of rooms equipped with computer, notation software and keyboard in music institutions, where webmidi seems like a great way to develop some quickie music theory/education apps.
The web is not anywhere near parity for music and audio production yet, but its proponents see webmidi as one necessary step to that direction.
(I would personally not use current webaudio/webmidi software, but have successfully deployed a lot of it for education!)
Already on it... I will likely have to tweak the startup code a bit, look for an update tomorrow.
Edit: Ok, just tried it after upgrading FF, it doesn't work at all when used locally ("secure context required", as if there is anything more secure than using a local file...), and when using it on the server it does get past the initialization but the device list isn't populated, so whatever they are doing it isn't 100% compatible with the way Chrome does it.
I'll have to do some more digging, sorry!
Edit2: We're not quite there yet it seems: https://bugzilla.mozilla.org/show_bug.cgi?id=1805582
The 'expected behavior' would be that the permissions dialog pops up but it doesn't so for now we'll have to wait until that is fixed. Pity, but it's very close now.
By the way, where do you get your MIDI files from ?
My workflows for making them:
- either painstakingly transcribe a piece note-for note using midieditor
or
- find a youtube video of a good rendition
- download as MP3
- convert to midi using https://piano-scribe.glitch.me/
(I wrote my own software for this step but Piano Scribe is about 8% better even if it is slower so I use that now)
- fix up the output using midieditor
(still takes a lot of time, but it's quicker than starting from nothing)
This even works well when you have no score.
Best of luck! If you have a problematic file drop me an email.
edit: nope, looks like their position is still the same
>Such an API would bridge the web and the physical world... Exposing that sort of capability to the web without adequate safeguards presents a significant threat to those devices.
I love what MIDI has given us, but MIDI devices are not designed for adversarial environments. I absolutely would want this to be mandatory opt-in (per session every single time) at the very least.
Even ignoring MIDI, audio worklets in browsers don't have perfect latency, so it makes me nervous about the potential. Are there web MIDI apps that have good enough to actually play along with or composes music in real time? Is this just an issue with my setup?
Would be kind of nice to at least have this available in workers, the MDN page (https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_AP...) makes it seem like this needs to be done in the main thread.
wavtool.com
It has extremely good latency on Mac OS, absolutely good enough to play along with and compose music in real time.
"The last new version of Firefox for 2022 is out on Mozilla's FTP server"
But firefox droped ftp, didn't it ?
https://ftp.mozilla.org/pub/firefox/releases/108.0/
Clearly the domain name is there for historical reasons.
It only took <checks bugzilla> over a decade, but we now finally, FINALLY, have proper midi support in Firefox.
And in the mean time, Chrome has had midi support for over 7 years now. Did Firefox do it better? Probably. Should it have taken this long? No. Not even remotely. The whole SysEx nonsense discussion alone took up literal years.
Check it out, it's https://www.melodics.com/ and I'm not affiliated in any way, I just hope I catch the eye of the devs and they indulge me :)
[1] https://github.com/FortySevenEffects/arduino_midi_library
I don't even have to write the css, I can just use https://github.com/ranmaru22/firefox-vertical-tabs, but in Edge, I can just select the option... not install an extension, click things in a hidden page, make a directory deep in $APPDATA, put a CSS file in that directory, and then also paste more CSS into said extension's custom CSS field, then restart browser.
The Edge development team has been adding features to their browser just to limit that surface area: don't need extensions if its built in.
Cause that’s pretty cool.
I would love it if that happened. :-)