fbpx
Skip to main content

MIDI Forum

How to get started ...
 
Notifications
Clear all

How to get started implementing MIDI 2.0 on a device?

9 Posts
6 Users
0 Reactions
899 Views
Jim Hewes
Posts: 2
New Member
Topic starter
 

I'd like to get started implementing MIDI 2.0 on a device. My first thought was that I would need a tool, an application on the OS side that would send valid MIDI 2.0 messages to my device according to the specifications. It would start by going through the process of capability inquiry, etc. I assume that tool is the MIDI 2.0 Workbench.

But oh man, did you have to write this thing in javascript? I'm working on Windows 11. Does this thing work on Windows? It claims to. But the process you need to go through to get it running looks quite convoluted. NodeJS, nvm, python 2.7?, yarn?, and I don't know what else. I'm not familiar with any of that stuff. (I'm primarily C/C++)

Has anyone done a step-by-step explanation how to get this running on Windows. Or just how to get started developing for devices when your OS is Windows? Can that even be done yet? I hope you don't tell me I need to install Linux as well. It would be so much easier if I just had MIDI 2.0 Workbench as a Windows executable then I could start right away.

I have seen a video on YT about how to install Workbench on Mac and I guess I'll resort to following that if there's no alternative. But it looks different than Windows.

Thanks.

This topic was modified 4 months ago by Jim Hewes
 
Posted : 05/09/2024 11:48 am
The MIDI Association
Posts: 11
Admin
 

Here is some information copied from the Microsoft website.

Windows MIDI Services

This project is the next-generation MIDI API for Windows, including MIDI 1.0 and MIDI 2.0 (MIDI CI, and MIDI 2.0 UMP). It includes enhancements, a new USB class driver, new transports, and essential tools. The project adds many enhancements and bug fixes to our MIDI 1.0 support, and importantly adds support for the latest revisions to MIDI 2.0 as approved by The MIDI Association.

The open source USB MIDI 2.0 driver has been generously donated by AMEI, the Association of Musical Electronics Industry, and developed by AmeNote ™️ in partnership with Microsoft. Please see the file headers for any additional copyright notices. A huge thank you to AMEI and its member companies for making this happen!

This is an official Microsoft project. Although Microsoft is an active member of the MIDI Association, and Pete is the chair of the MIDI Association Executive Board, and other contributors are on standards boards, this project is not affiliated with the MIDI Association other than as a consumer of and contributor to the standards. Affiliation with AMEI is disclosed above.

Here's a high-level view of the end goal of this project. Details subject to change.

Here are the links to Microsoft MIDI services and documentation. 

https://github.com/microsoft/midi#windows-midi-services

https://github.com/microsoft/midi?tab=readme-ov-file#key-documentation

 

 
Posted : 05/09/2024 1:49 pm
The MIDI Association
Posts: 11
Admin
 

You should also probably look at this website. 

https://midi2.dev/

MIDI2.dev aims to promote the adoption of MIDI 2.0 by providing tools and libraries useful to developers. Resources include C++ Libraries, USB helpers, testing applications, and more from leading contributors to the MIDI 2.0 specifications. Our repositories are at  https://github.com/midi2-dev

 

 
Posted : 05/09/2024 1:50 pm
Andrew Mee
Posts: 53
Admin
 

Posted by: Jim Hewes

Has anyone done a step-by-step explanation how to get this running on Windows. Or just how to get started developing for devices when your OS is Windows? Can that even be done yet? I hope you don't tell me I need to install Linux as well. It would be so much easier if I just had MIDI 2.0 Workbench as a Windows executable then I could start right away.

Yes I would like to supply a Windows executable that is downloadable 🙂
Once the new Windows MIDI Services is released then I will go back to creating binaries.

Here is a step by step that should work:

1. Install https://nodejs.org/dist/v18.20.4/node-v18.20.4-x64.msi
2. install yarn https://yarnpkg.com/getting-started/install
3. Install all the required tools and configurations using Microsoft's windows-build-tools by running npm install -g windows-build-tools from an elevated PowerShell (run as Administrator).
4. git clone https://github.com/midi2-dev/MIDI2.0Workbench.git (or download the zip)
5. go into the MIDI 2.0 Workbench directory with powershell
6. type "yarn" and hit enter
7. type "yarn run build" and hit enter - this will create a Windows excutable for you in the build/dist dir.

 

 
Posted : 05/09/2024 2:27 pm
Posts: 1
New Member
 

Thanks for the quick response and the info. Unfortunately right after those replies were posted my account became banned and I don't know why. I received:
"You have been banned. Please contact the forum administrator for more information."
But I couldn't find any way to contact a forum administrator. Fortunately I have a second email address so I used it to create another account which I'm using now.

Regarding Andrew's instructions, I haven't been able to get the MIDI 2.0 Workbench working. Lots of trouble. I'm continuing to try to figure it out but I can put a few notes if anyone's interested.

(1) I first installed NodeJS 18.20.4 according to the link.
(2) yarn installed OK though I needed to use these steps:
- open powershell as administrator and go to nodejs directory.
- enter "npm install -g corepack" and hit return. This should build corepack.
- enter "corepack enable"
- create an empty project folder where you want yarn to be installed and change to that folder.
- enter "yarn init -2" . Powershell may not allow this to run because the security policy may not allow scripts to run. Instead of changing security policy I instead ran this from a command prompt (DOS box).
(3) Installing Windows build tools failed with errors. However it displayed a note saying that the Windows installer for NodeJS now installs Windows build tools. But it doesn't say which version of NodeJS does this. I assumed for now that it got installed by NodeJS 18.20.4 and continued.
(4) Clone MIDI 2.0 Workbench source code OK.
(5) OK
(6) Again using a command prompt with administrator privileges instead of Powershell. But running "yarn" fails with errors. So maybe Windows build tools are not installed? (Or, does this really require Powershell rather than a command prompt? I haven't tried changing security in Powershell to allows scripts.)
(1) I uninstalled NodeJS 18.20.4. I installed latest NodeJS LTS which is 20.17.0. According to install messages this seemed to install the build tools. And looking in Control Panel->AddRemovePrograms it shows up as "Visual Studio Build Tools 2019". (I'm not sure NodeJS itself completely installed correctly because near the end there were some error messages and installation seemed to stop before finishing.)
(6) Running "yarn" still fails with error:
C:\Users\Jim\Documents\MIDI2.0Workbench\MIDI2.0Workbench\node_modules\winmidi2\_nodert_generated.cpp(1,1): error C1107: could not find assembly 'Windows.winmd': please specify the assembly search path using /AI or by setting the LIBPATH environment variable [C:\Users\Jim\Documents\MIDI2.0Workbench\MIDI2.0Workbench\node_modules\winmidi2\build\binding.vcxproj]

So I'm still working on it.

 
Posted : 08/09/2024 11:23 am
Pete
 Pete
Posts: 1
New Member
 

Windows MIDI Services is currently in developer preview. Preview 6 is current. Preview 7 is coming soon.

removed link

Pete

 
Posted : 16/09/2024 7:08 pm
Andrew Mee
Posts: 53
Admin
 

Jim. my ban hammer gets a little overwhelmed with the amount of spam - genuinely sorry. There are so many bots.
As to the Windows build I need to remove the UMP Windows support from the public build - until it is publically released. Could you please file a Github Issue if you haven't already done so please?

 
Posted : 17/09/2024 3:40 pm
Jim Hewes
Posts: 2
New Member
Topic starter
 

It seems to be working now. Thanks.

 

 
Posted : 24/09/2024 8:15 am
Posts: 2
New Member
 

To get started with MIDI 2.0 implementation, first familiarize yourself with the MIDI 2.0 specification and its features. Then, integrate the MIDI 2.0 capabilities into your device's firmware, ensuring compatibility with existing MIDI protocols.

 
Posted : 25/09/2024 11:40 pm
Share: