News for hackers. Stuff that matters.
Re:Details about MIDI 2.0 by mathnmusic on Saturday May 25, 2019 @04:47AM (#20007807)
I feel MIDI is severely underutilized outside music. It's a simple, standard protocol that relays switches being turned on/off, and knobs being turned high or low. The only standard alternative that I know about is would be USB HID interface which has its limitations.

What are some cool uses of MIDI you have seen outside music-making?

Re:Details about MIDI 2.0 by smnc on Saturday May 25, 2019 @07:15AM (#20008332)
How about controlling a band consisting of robots playing real instruments? [0]

https://www.youtube.com/watch?v=b7nMZvueKNQ

> Compressorhead are built out of metal scrap, most of the movings are made with electro pneumatics. It is controlled via Midi. There is an interface that changes the Midi signals in switch signals for the electro pneumatic valves…,” Kolbie’s voice drifts off. He has soon got his face in a Robotics for Dummies manual. [1]

[0] https://en.wikipedia.org/wiki/Compressorhead

[1] https://web.archive.org/web/20181016144145/http://www.gibson...

Re:Details about MIDI 2.0 by sjwright on Saturday May 25, 2019 @09:14AM (#20008845)
I read the first line of your post and I seriously expected the YouTube link to be this:

https://www.youtube.com/watch?v=evHVh4bqaOQ

All controlled by MIDI, unsurprisingly.

Re:Details about MIDI 2.0 by soulofmischief on Saturday May 25, 2019 @10:04AM (#20009116)
Thank you so much for that rabbit hole.
Re:Details about MIDI 2.0 by jawngee on Saturday May 25, 2019 @06:12AM (#20008124)
There are better protocols outside of MIDI like Open Sound Control aka OSC (http://opensoundcontrol.org)

I used to do a lot of experiential retailing experiences and OSC was our preferred control scheme.

Re:Details about MIDI 2.0 by boomlinde on Saturday May 25, 2019 @07:38AM (#20008430)
"Better" is a matter of requirements. You can interpret a stream of bytes of MIDI with some tens of lines of C code and a couple of bytes of interpreter state. The physical interface is less than a handful of components. For OSC you need an IP stack.
Re:Details about MIDI 2.0 by jawngee on Saturday May 25, 2019 @08:33AM (#20008644)
Except a lot of MIDI in control type situations (lighting, user triggers) is run over ethernet these days. So if all things are equal on that front, OSC is a far superior design.

It almost doesn't even matter because outside of musical gear, OSC is becoming the established standard to control everything from DMX lighting to VJ software to OF/Cinder interactive installs to some more performance oriented software like Ableton Live (via LiveOSC).

I've written software MIDI sequencers (all the way back in the early 90's even) and you'll never be able to convince me MIDI is better than OSC.

Re:Details about MIDI 2.0 by jcelerier on Saturday May 25, 2019 @07:45AM (#20008453)
Nah, OSC is just a message format. I see it routinely used across a serial port for instance.

(disclaimer: I develop an OSC-based sequencer, https://ossia.io)

Re:Details about MIDI 2.0 by boomlinde on Saturday May 25, 2019 @08:22AM (#20008604)
Sorry, a brief glance at the OSC website would have corrected that misconception.

That said, I only assumed as much because I don't know of any OSC client software that uses anything other than IP networks to facilitate device to device communication. I googled for serial OSC software and found some nonetheless. Does your software support OSC over serial?

Re:Details about MIDI 2.0 by jcelerier on Saturday May 25, 2019 @08:46AM (#20008703)
> Does your software support OSC over serial?

not yet, sadly ! I've got a lib for that however : https://github.com/jcelerier/oscour

Re:Details about MIDI 2.0 by shearskill on Saturday May 25, 2019 @07:06AM (#20008309)
what is experiential retailing?
Re:Details about MIDI 2.0 by jawngee on Saturday May 25, 2019 @08:16AM (#20008577)
Usually some type of creative interactive retail experience, anything from wall displays or projections that users can interact with to simple kiosks.
Re:Details about MIDI 2.0 by iforgotpassword on Saturday May 25, 2019 @04:50AM (#20007814)
Re:Details about MIDI 2.0 by boomlinde on Saturday May 25, 2019 @07:23AM (#20008361)
I haven't listened in on the data but it seems likely that MIDI Maze only uses the electrical standards, i.e. a proprietary protocol over MIDI ports
Re:Details about MIDI 2.0 by iforgotpassword on Saturday May 25, 2019 @08:52AM (#20008730)
It's a midi port. It does midi. Hence the limit of 16 players. Every player is using a dedicated midi channel.
Re:Details about MIDI 2.0 by boomlinde on Saturday May 25, 2019 @03:26PM (#20010777)
I agree that it's a MIDI port. That's not under contest.

Because every claim that it's MIDI I've seen has failed to substantiate it, I searched around a bit today and found the developer of MIDI-Maze II and contacted him. Only the physical layer of MIDI is used. He furthermore said that MIDI doesn't allow a ring network anyway, in which case this must also be true for the first MIDI-Maze.

So no, the player limit has nothing to do with MIDI channels. Maybe be more clear about whether what you're saying is an unsubstantiated guess or something that you actually know. Your message reads a lot like you know it for a fact.

Re:Details about MIDI 2.0 by iforgotpassword on Saturday May 25, 2019 @05:49PM (#20011672)
I stand corrected then I guess. I definitely read before that it uses plain midi messages.
Re:Details about MIDI 2.0 by barneygale on Saturday May 25, 2019 @10:53AM (#20009381)
I haven't done a write-up yet, but my partner and I use MIDI as part of our custom lighting setup, which we bring to gigs and other events. A MIDI controller is hooked up to a raspberry pi running some Python software. We use the `mido` library for decoding MIDI. We then drive a bunch of RGB LED strips using DMX. Video: https://www.instagram.com/p/BtjLSUeFjtJ/.
Re:Details about MIDI 2.0 by callalex on Saturday May 25, 2019 @01:00PM (#20010041)
Is there a reason you chose to do that rather than use something more standard like OSC or ArtNet?
Re:Details about MIDI 2.0 by unsatchmo on Sunday May 26, 2019 @12:34AM (#20013173)
The main reasons I’ve seen VJ’s use MIDI is that they can slave their rig to the performer’s Ableton Live setup. I’ve got friends that have set up timing triggers to pyro and displays / lighting (interfacing with the VJ’s rig) within a few hours of stepping off a plane for a gig that night.
Re:Details about MIDI 2.0 by dspig on Sunday May 26, 2019 @04:15AM (#20013755)
DMX is very standard for lighting control
Re:Details about MIDI 2.0 by elcritch on Saturday May 25, 2019 @05:48AM (#20008043)
It’s comparable, and in some ways superior as a general control protocol, to Modbus. Can’t recall the specifics but MIDI seemed better defined and generally saner (IMHO).

A good example of non-music MIDI is Firmata; it’s a protocol based on MIDI and allows remote control of Arduino and other MCUs [1]. Seems both modbus and midi have transports over Ethernet now as well.

1: https://github.com/PatternAgents/Electronics_One_Workshop/wi...

Re:Details about MIDI 2.0 by PeterisP on Saturday May 25, 2019 @06:27AM (#20008180)
I'm not in that industry, but isn't it also used for controlling stage lights in some cases?
Re:Details about MIDI 2.0 by formercoder on Saturday May 25, 2019 @10:05AM (#20009125)
MIDI will often be used to trigger the console to change cues which then uses DMX512 to control the lights.
Re:Details about MIDI 2.0 by inflatableDodo on Saturday May 25, 2019 @06:30AM (#20008192)
Yep, am using QLC+ at the moment and it has profiles for all sorts of midi controllers. https://www.qlcplus.org/
Re:Details about MIDI 2.0 by mhh__ on Saturday May 25, 2019 @04:03PM (#20011025)
DMX is standard for lighting, but although the actual protocol is rock solid the parts around it are no where near as good as MIDI. Device to device is fine, but USB DMX controllers are expensive and rubbish in my experience using them to control a ~100 piece (dumb) lighting rig
Re:Details about MIDI 2.0 by justin66 on Saturday May 25, 2019 @06:32AM (#20008198)
That's DMX512.
Re:Details about MIDI 2.0 by sbr464 on Saturday May 25, 2019 @11:44AM (#20009623)
I completely agree. We are launching a new web app/platform soon and have completely integrated the web midi and gamepad APIs, allowing you to control any piece of the software with any midi controller and/or gamepad, including devices like the new Microsoft adaptive controller, which supports many more types of analog switches.

One of my favorite parts of both APIs is that they don’t require focus on elements or the window/tab and are naturally multi-touch.

This allows you to rapidly speed through the interface and perform tasks.

Re:Details about MIDI 2.0 by jacquesm on Saturday May 25, 2019 @03:47PM (#20010923)
I've used MIDI ports on an Atari ST to control tool changers and coolant pumps on an industrial CAD/CAM station.
Re:Details about MIDI 2.0 by Bad_CRC on Saturday May 25, 2019 @10:42AM (#20009327)
They are being use on photography editing software: https://petapixel.com/2019/01/26/using-a-midi-controller-wit...
Re:Details about MIDI 2.0 by hedora on Saturday May 25, 2019 @10:40AM (#20009315)
Back in the 90’s, MIDI was used by some firework detonators to sync the launches and explosions with music, etc.
Re:Details about MIDI 2.0 by shams93 on Saturday May 25, 2019 @05:44AM (#20008025)
You could use it for game control having a super low latency midi controller would also work for game controllers
Re:Details about MIDI 2.0 by rerx on Saturday May 25, 2019 @06:06AM (#20008099)
Indeed: Pre-USB "game ports" doubled as MIDI interfaces. https://en.wikipedia.org/wiki/Game_port
Re:Details about MIDI 2.0 by phs2501 on Saturday May 25, 2019 @07:29AM (#20008389)
The MIDI pins on game ports were an add-on on sound cards to unused pins from the game port, though. The original game port spec doesn't have anything to do with MIDI or UARTs, and joysticks and the like did not use those extra pins.
Re:Details about MIDI 2.0 by Crosseye_Jack on Saturday May 25, 2019 @10:01AM (#20009091)
And iirc game-ports were usually their own expansion card. It wasn’t until Sound Blaster decided to include it on their cards that we started seeing it integrated into the sound card (part of a sound cards job is Analog to digital conversation, why not do the ADC conversation needed for joysticks as well? Also, games normally also want sound so seemed like a nice why to bundle everything you need onto a single card).
Re:Details about MIDI 2.0 by Kye on Saturday May 25, 2019 @06:43AM (#20008224)
I broke multiple joysticks on Wing Commander this way.
Re:Details about MIDI 2.0 by zzo38computer on Saturday May 25, 2019 @01:04PM (#20010053)
I agree there is many use, which is what I have done with IMIDI. You can also use it with television and all sorts of stuff. While most of the commands are same as MIDI (a few are removed, and also a few having to do with forwarding signals to connected devices are added), some of the meanings are bit more general, and the signal is two ways and the format of the SysEx payload is different (and does not require any kind of registration) (although the framing is same as normal MIDI, so if the signal is recorded by something that does not interpret SysEx payloads, the recording will still work). You can also forward signals to other devices; you can have a tree structure of devices and each device can have up to 128 children, selected by the use of the Device Select command (which is an optional implementation; compliant implementations are required to parse the command even if it is otherwise ignored; this is the same with all other commands, which it is required to parse even if it is otherwise ignored). (My own intention of a computer design is using IMIDI for all of the input devices, rather than USB or PS/2 or whatever (I dislike USB). And you can also use the IMIDI to transmit captions along with a television picture (the picture using Digi-RGB, and the sound using ordinary analog audio ports), and/or to control the channel setting of a external TV tuner and to control the VCR, too).

Specifically, for exclusive messages in IMIDI, the first byte specifies the type of message and the channel (some exclusive messages might be channel independent, and this is also indicated), and the second byte is a namespace number. The four types of exclusive messages are: application message, namespace error, namespace request, namespace response. Note that the first byte has four bits for the channel, one bit for channel independence, and two bits for message type, filling up the seven available bits, and the namespace number is also seven bits. (If the channel independence bit is set, then a 11-bit namespace number is used, because the channel bits are used as additional bits for the namespace number in this case.)

Some namespace numbers may be predefined by the application in use. Other namespaces are negotiated by the use of the protocol mentioned above.

Re:Details about MIDI 2.0 by _pmf_ on Saturday May 25, 2019 @06:08AM (#20008109)
I think most of the use cases you think of are currently covered by the USB Test and Measurement Device standard and/or the instrument control protocols (GPIB, VISA).
Re:Details about MIDI 2.0 by sly010 on Saturday May 25, 2019 @11:03AM (#20009427)
There is OSC, which I think is under appreciated. It's super easy to implement, it's literally just UDP.
Re:Details about MIDI 2.0 by sixdimensional on Saturday May 25, 2019 @11:49AM (#20009648)
I agree. I was watching the first video in the article and thinking there must be similar standard protocols for IoT orchestration. I mean, anything that can be controlled and needs orchestration must have some kind of similar protocol?
Re:Details about MIDI 2.0 by vkaku on Saturday May 25, 2019 @01:41PM (#20010241)
Lights, Props, Water Fountains, Drones. Anything that can be a show in Las Vegas.
Re:Details about MIDI 2.0 by ken on Saturday May 25, 2019 @11:42AM (#20009608)
DMX512 does that, too, and it seems even simpler to me.
Re:Details about MIDI 2.0 by bitwize on Saturday May 25, 2019 @02:58PM (#20010603)
MIDI is extensively used for stage light control.
Re:Details about MIDI 2.0 by kekebo on Saturday May 25, 2019 @05:52AM (#20008056)
not sure if it qualifies as "cool" but i see midi controllers being used a lot for live video mixing in clubs / events

edit: spelling