GMU:Tutorials/Networking Tutorials/Controlling Max MSP with Iannix: Difference between revisions

From Medien Wiki
Line 49: Line 49:
6. Press play in our Iannix example and see what values are coming into Max MSP. <br/>
6. Press play in our Iannix example and see what values are coming into Max MSP. <br/>


[[File:Maxudp.png|400px]]  
[[File:Udposc.png|400px]]  


7. The above diagram demonstrates one way in which to handle the incoming values. The '''/trigger''' outlet outputs triggers in the form of integers. The '''/cursor''' outlet outputs a list of floats. You can use the unpack object to manage the list as shown above.
7. The above diagram demonstrates one way in which to handle the incoming values. The '''/trigger''' outlet outputs triggers in the form of integers. The '''/cursor''' outlet outputs a list of floats. You can use the unpack object to manage the list as shown above.

Revision as of 09:23, 1 August 2016

INTRODUCTION

In this tutorial we look at how to synchronise Iannix with Max MSP via Open Sound Control (OSC).

What is Iannix? Iannix is a graphical open source sequencer that has the ability to sync with a variety of real time software environments such as Max MSP, Pure Data, Super Collider etc. via Open Sound Control (OSC). Iannix is useful as it has a variety of input/output capabilities however for the purpose of this tutorial we focus on how to send values generated in Iannix to Max MSP in order to familiarise ourselves with the Open Sound Control protocol.

What is Open Sound Control? Open sound control is a protocol for communication among computers and multimedia devices. It can be utilised to communicate data between different software platforms locally and remotely.

What is Max MSP? Max MSP is a visual programming language that enables you to construct complex interactive systems for music and multimedia environments. It is particularly useful for the performance platform in order to design custom responsive audio environments from incoming visual data.

PREPARATION

Ensure Iannix is installed. http://www.iannix.org/en/download-iannix/
Ensure Max MSP is installed. Demo version here: https://cycling74.com/downloads

Configure Iannix to send data via OSC

1. Open Iannix.
2. In the inspector go to the configuration tab and select network as pictured below.

Configure.png

3. Make sure Enable OSC is on.
4. In the Default IP tab enter the IP address of the receiver. Use the default IP 127.0.0.1 if you are running both programs on the same computer.
5. The default port for sending data out of Iannix is 57120 as pictured.

Now you are set up and ready to send data to Max MSP. In order to generate some values to be sent to Max we need to create a new score in Iannix. You can either select one of the examples in the files menu located in the inspector window or you can create a new score from scratch.

For example:

<videoflash type="vimeo">176951012|400|300|</videoflash>

Now we are ready to start sending values to Max!!!!

Enable Max MSP to receive incoming OSC data from Iannix

1. Create a new patcher.
2. Create a new object in the patcher window and type into the object box udpreceive.
**udpreceive is a built in Max MSP object that receives OSC messages transmitted over a network.
3. In the udpreceive object we define the port number declared in Iannix i.e. udpreceive 57120
4. In order for us to separate and route the array of messages we receive from Iannix we can create another object route. i.e. route /trigger /cursor and patch this to the outlet of the udpreceive object. We use the arguments /trigger and /cursor because these are the identifiers named in Iannix for bundling the values sent as demonstrated in the picture below.

Values.png

5. It is then good practice to use the print object in Max MSP to get an idea of the values being received. In order to do this you should patch the print object to the route object outlets that match the arguments /trigger and /cursor. This allows us to see how we will manage the incoming data.
6. Press play in our Iannix example and see what values are coming into Max MSP.

Udposc.png

7. The above diagram demonstrates one way in which to handle the incoming values. The /trigger outlet outputs triggers in the form of integers. The /cursor outlet outputs a list of floats. You can use the unpack object to manage the list as shown above.

START PATCHING!!!

Now you are ready to start patching and designing awesome responsive sounds!!!

Below is an example of a basic patch mapping incoming trigger values to a sinusoidal oscillator.


<videoflash type="vimeo">176952169|400|300|</videoflash>

The fun doesn’t stop there. You can map values to whatever you like. Triggers are good for triggering notes or sound events and cursors are good for handling continuous data such as gain control or filters as demonstrated in an example patch below.

<videoflash type="vimeo">176954208|400|300|</videoflash>

LINKS & REFERENCES

Max 7 online manual: https://docs.cycling74.com/max7/

Matt Wright of Stanford recently launched a free online MAX MSP course through the creative education platform Kadenze. Access to the course content and material is free with standard membership to the site. https://www.kadenze.com/courses/programming-max-structuring-interactive-software-for-digital-arts-i/info

Digi arts students check out Kadenze’s other free courses! https://www.kadenze.com/

Iannix http://www.iannix.org/en/