Manaberry
Senior Member
Hi everyone! I've been using https://osc.ammd.net/ (Open Stage Control) for almost two years now (jeez, time flies). This application really improved my workflow as a composer. It’s an alternative to Lemur/TouchOSC. This is a free software developed by Jean-Emmanuel, available on Windows, OSX, Linux. It's quite a long post, so get some coffee!
For Mac users, Brian Rivlin made a fantastic video about O-S-C, and how to set up the software. For Windows user, stay with me and follow this thread
_____________________________
Welcome to this tutorial (for Windows 10) to set up and use Open Stage Control as a MIDI/OSC controller using your web browser. It is similar to Lemur or TouchOSC, but in order to work, it requires some configuration.
Open Stage Control is a desktop OSC bi-directional control surface application. It's built on web technologies and runs as an Electron web server that accepts any number of clients.
What are you able to do with Open Stage Control?
You can use it to create your own mixing table with endless tracks. You can create a modal window that pops up for your articulation to save room. You can set a single input field and spread the value with a variable through the whole thing (devs know). You can just do all of the previous things within a single one screen area. There are similarities to Lemur on the script side. It’s javascript.
A bit of programming and it does work perfectly with Cubase, Dorico (with Bome Midi Translator), and Ableton.
I also created my own color palette - there are some CSS (Cascade Style Sheet, the common way to controls the appearance of elements in a front-end web environment) fields so, there are no limits here. You can create something that looks like Tony Stark’s suit if you want.
I have information stored in a javascript file, which is imported into OSC when the software starts(custom-module field.) Those data are about articulations mostly. It does look like that:
Name is displayed in a text area.
Color refers to the text color.
Background refers to the background color of the button.
Articulations are split into 3 sections: Long, Short, Deco.
Of course, this is how I did my template and how I organize the data. You are free to do differently
The more you work on your Open Stage Control template, the more you can do sophisticated things.
But first, we have to install the server!
Since 1.7.0, you don't have to install python and rtmidi anymore. If you still want to use an earlier version of Open Stage Control, the instructions are available in the following spoiler container.
If you want to continue the installation of OSC 1.7.0 (or above), please go to Step 2 "Midi Setup".
Open Stage Control is not that hard to set up. It’s pretty easy, to be honest, but follow the next steps carefully; it will be helpful for further maintenance if something went wrong.
Virtual MIDI port
Open Stage Control needs a free midi port to work with. If you want to run the server on your working computer, then loopMidi is enough.
1.1 On the slave computer (SC) that will run the server, let’s create a new session named “toVIControl” on rtpMidi. (avoid using "space" in the name)
1.2 On the master computer (MC), let’s create “VIControl” session.
MC We already see the session from the slave computer (toVIControl). Press “Connect” to add this one to the list of Participants.
SC Same step, connect “VIControl” from the Directory list to the participant's list in the “toVIControl” session.
rtpMidi should ping and connect both computers on their mutual sessions. You should see some latency value as proof of a successful pairing.
OK, the virtual MIDI port is created. You can already add VIControl as a new midi controller in your favorite DAW on the MC. The MC part is done.
Now let’s run the server on the SC.
For Mac users, Brian Rivlin made a fantastic video about O-S-C, and how to set up the software. For Windows user, stay with me and follow this thread
_____________________________
Welcome to this tutorial (for Windows 10) to set up and use Open Stage Control as a MIDI/OSC controller using your web browser. It is similar to Lemur or TouchOSC, but in order to work, it requires some configuration.
Introduction to Open Stage Control
Open Stage Control is a desktop OSC bi-directional control surface application. It's built on web technologies and runs as an Electron web server that accepts any number of clients.
You can use it to create your own mixing table with endless tracks. You can create a modal window that pops up for your articulation to save room. You can set a single input field and spread the value with a variable through the whole thing (devs know). You can just do all of the previous things within a single one screen area. There are similarities to Lemur on the script side. It’s javascript.
A bit of programming and it does work perfectly with Cubase, Dorico (with Bome Midi Translator), and Ableton.
I also created my own color palette - there are some CSS (Cascade Style Sheet, the common way to controls the appearance of elements in a front-end web environment) fields so, there are no limits here. You can create something that looks like Tony Stark’s suit if you want.
I have information stored in a javascript file, which is imported into OSC when the software starts(custom-module field.) Those data are about articulations mostly. It does look like that:
It's an improved version of a code from Mihkel Zilmer. Thanks to him for sharing it here in this thread!{'name':'Marimba','color':'47bbff','background':'1b1d20',
'articulationsLong':['Fingers','Hard','Soft','Muted'],
articulationsShort':[],
'articulationsDeco':[]
}
Name is displayed in a text area.
Color refers to the text color.
Background refers to the background color of the button.
Articulations are split into 3 sections: Long, Short, Deco.
Of course, this is how I did my template and how I organize the data. You are free to do differently
The more you work on your Open Stage Control template, the more you can do sophisticated things.
But first, we have to install the server!
My template (Cubase)
Step 1: Core installation (obsolete since version 1.70)
Step 1: Core installation (obsolete since version 1.70)
Since 1.7.0, you don't have to install python and rtmidi anymore. If you still want to use an earlier version of Open Stage Control, the instructions are available in the following spoiler container.
If you want to continue the installation of OSC 1.7.0 (or above), please go to Step 2 "Midi Setup".
Libraries are needed to make this work. Let’s install them. Nothing complicated. First, we need Python on the computer. (obsolete since version 1.70)
1. Install python (obsolete since version 1.70)
2. Install rtmidi python package (command prompt) (obsolete since version 1.70)
cd C:\Users\YOURUSERNAME\AppData\Local\Programs\Python36
Important: To avoid any error, please update “pip”. If there is no error, we are good to go!
Now, we need to create a virtual midi port in order to initialize our little server. In my case, I’m using rtpMidi. The next step of this tutorial is featuring screenshots of this software.
1. Install python (obsolete since version 1.70)
2. Install rtmidi python package (command prompt) (obsolete since version 1.70)
Step 1: Run the Command prompt as Administrator:
Search for “cmd”, right-click, Run as Administrator.
Step 2: Go to the Scripts directory (grey color = command/response in the command prompt)
Use the following command to access python directory. (“cd” means, Change Directory). You can also go to the parent folder by using “cd ..”
cd C:\Users\YOURUSERNAME\AppData\Local\Programs\Python36
Step 3: Run the python-rtmidi command to install the package
Enter the following command in the command prompt and let the magic happen.
pip install python-rtmidi
(If you have an error: LINK: fatal error LNK1181: cannot open input file ‘python34.lib’, go to libs folder in the python install directory; duplicate python36.lib and rename it to python34.lib. Now go back to step 3. It’s looking for an older version of python lib.
***
Important: To avoid any error, please update “pip”. If there is no error, we are good to go!
Now, we need to create a virtual midi port in order to initialize our little server. In my case, I’m using rtpMidi. The next step of this tutorial is featuring screenshots of this software.
Step 2: MIDI Setup
Open Stage Control is not that hard to set up. It’s pretty easy, to be honest, but follow the next steps carefully; it will be helpful for further maintenance if something went wrong.
Virtual MIDI port
Open Stage Control needs a free midi port to work with. If you want to run the server on your working computer, then loopMidi is enough.
- Single computer (loopMidi)
Just create a midi port. In this tutorial, It will be named “VIControl”. (avoid using "space" in the name)
- Two computers (network) (rtpMidi)
For clarity, MC stands for Master Computer (the one receiving MIDI). And SC for Slave Computer (the one running the server and sending MIDI to MC).
1.1 On the slave computer (SC) that will run the server, let’s create a new session named “toVIControl” on rtpMidi. (avoid using "space" in the name)
MC We already see the session from the slave computer (toVIControl). Press “Connect” to add this one to the list of Participants.
SC Same step, connect “VIControl” from the Directory list to the participant's list in the “toVIControl” session.
rtpMidi should ping and connect both computers on their mutual sessions. You should see some latency value as proof of a successful pairing.
OK, the virtual MIDI port is created. You can already add VIControl as a new midi controller in your favorite DAW on the MC. The MC part is done.
Now let’s run the server on the SC.
Last edited: