Show HN: MIDI chat over WebRTC

(chat.concert0x.com)

47 points | by resource0x 2329 days ago

3 comments

  • shams93 2328 days ago
    Its too bad Apple and MS are not implementing webmidi for ios safari and edge. There is an empty placeholder for webmidi on the firefox project so at some point webmidi will find its way into firefox. Its ironic that an ipad pro is such a powerful device and yet if you use webmidi a $100 chromebook will get the job done where and ipad just can't and won't do it.
    • qdot76367 2328 days ago
      Hi! Firefox WebMIDI dev here.

      So you're right, the project has been in on-again-off-again development since 2015. That said, I picked it up again last week and we're now 1 review away from landing the DOM code for exposing WebMIDI!

      https://bugzilla.mozilla.org/show_bug.cgi?id=1201590

      Of course, this doesn't do anyone but me much good because this only ships with the fake device service we use for testing. I'm hoping to have a macOS implementation in soon after that, at which point we'll pref it on in Nightly while finishing the windows/linux implementations. Continuing with our general theme of rusting all the things, we're hoping to implement all of the system level MIDI code in Rust.

      Due to the holidays I can't give a good timeline on that part, but hopefully soon. Our metabug that tracks all of the WebMIDI implementation tasks is at

      https://bugzilla.mozilla.org/show_bug.cgi?id=836897

      • adzm 2328 days ago
        Is there a particular place to track development of the Windows system implementation in Rust? I've been looking for some pragmatic Rust projects since the language got me hooked recently.
        • qdot76367 2327 days ago
          Yup! That'll be at

          https://bugzilla.mozilla.org/show_bug.cgi?id=1201596

          Not sure whether I'm going Win32 MIDI or UWP MIDI first yet. Win32 MIDI is... not the most fun thing in the world to put together, but will at least give us support back through Windows 7. UWP is far simpler in terms of API, but requires UWP bindings in Rust and I'm not sure what the status of those is yet, not to mention locks us to Win 10+ for windows MIDI Support.

    • shams93 2328 days ago
      Even though this only works in chrome its a terrific example of just how creative you can get with the webrtc data channel api.
  • Y_Y 2328 days ago
    > Your browser does not support webMIDI. Install Chrome.

    I think maybe my life will be better if I keep using firefox and don't use whatever this is.

    • resource0x 2328 days ago
      Author here. I think everyone's life will be better if firefox implements webMIDI :)
      • nerdponx 2328 days ago
        Will it run on Ungoogled Chromium? https://github.com/nixballs/ungoogled-chromium
        • resource0x 2328 days ago
          According to [1], WebMidi is supported on Chromium, but I never tested it. App uses feature detection (navigator.requestMIDIAccess), so if it's there, it should work. No other Chrome-specific features are used, but without testing, it's hard to say for sure (e.g. video calls may, or may not, work on Firefox - there are slight differences in implementation of webRTC)

          [1] https://www.chromium.org/developers/design-documents/web-mid...

          Edit: sorry, ungoogled one explicitly mentions webRTC among the disabled features - though promises to make it configurable in the future. My apologies.

    • realusername 2328 days ago
      You can install this addon for it to work: https://addons.mozilla.org/en-US/firefox/addon/midi-input-pr.... (It would be nice for the author to include this link as well)
      • 59nadir 2328 days ago
        I think the author is more interested in having that snarky line show up when someone isn't using Chrome.
        • resource0x 2328 days ago
          I will try to make it work on Firefox. There's a small detail that upset me more than the missing webMIDI implementation on Firefox: I couldn't style scroll bar for the text area, to match the dark background. On Firefox, it was ugly. I will give it another look, thanks for pointing out.
          • 59nadir 2328 days ago
            For what it's worth I did check the site out in Chrome and it's cool. Well done. Consider making a trade-off of a less styled site but delivering the functionality in FF. I realize it's not optimal to deliver an uglier site, but at least the site works. You could leave a disclaimer about it somewhere if you really feel like it's an issue.
        • resource0x 2324 days ago
          I removed offending message. Now all browsers are supported, but those without webMidi can only listen to peer's playing (+recordings) via built-in synth.
  • tenryuu 2328 days ago
    This is nuts, granted I have to use a simple Android based MIDI device over USB-C to try it out, but I'm very much impressed