169
edits
(Created page with "== INTRODUCTION == In this tutorial we look at how to synchronise Iannix with PureData via Open Sound Control (OSC). '''What is Iannix?''' Iannix is a graphical open source se...") |
|||
(21 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== INTRODUCTION == | =='''INTRODUCTION'''== | ||
In this tutorial we look at how to synchronise Iannix with PureData via Open Sound Control (OSC). | In this tutorial we look at how to synchronise Iannix with PureData via Open Sound Control (OSC). | ||
Line 12: | Line 12: | ||
Pure Data is an open source 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. | Pure Data is an open source 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 == | == '''PREPARATION''' == | ||
Line 18: | Line 18: | ||
Ensure PureData is installed. https://puredata.info/downloads | Ensure PureData is installed. https://puredata.info/downloads | ||
== Configure Iannix to send data via OSC == | ==''' Configure Iannix to send data via OSC''' == | ||
Line 37: | Line 37: | ||
<videoflash type="vimeo">180056110|400|300|</videoflash> | <videoflash type="vimeo">180056110|400|300|</videoflash> | ||
If flash isn't working on your browser go here: https://vimeo.com/180056110 | <br/> If flash isn't working on your browser go here: https://vimeo.com/180056110 <br/> | ||
Create a new patcher window. <br/> | <br/> Now we are ready to start sending values to PureData!!!! <br/> | ||
Create a new object in the patcher window by using the shortcut ⌘1. Type '''import mrpeach''' into the object box. **'''mrpeach''' is a library that handles the OSC protocol. <br/> | |||
== '''Enable PureData to receive incoming OSC data from Iannix''' == | |||
In the '''udpreceive''' object we define the port number declared in Iannix i.e. '''udpreceive | |||
The OSC message has to be unpacked using the '''unpackOSC''' object which is an object box connected to the left outlet of the '''udpreceive''' object. <br/> | 1. Create a new patcher window. <br/> | ||
In order for us to separate and route the array of messages we receive from Iannix we can create another object ''' | 2. Create a new object in the patcher window by using the shortcut ⌘1. Type '''import mrpeach''' into the object box. **'''mrpeach''' is a built in PureData library that handles the OSC protocol. <br/> | ||
3. Create another new object in the patcher window and type into the object box '''udpreceive'''. **'''udpreceive''' is a built in PureData object that receives OSC messages transmitted over a network. <br/> | |||
4. In the '''udpreceive''' object we define the port number declared in Iannix i.e. '''udpreceive 57120'''<br/> | |||
5. The OSC message has to be unpacked using the '''unpackOSC''' object which is an object box connected to the left outlet of the '''udpreceive''' object. <br/> | |||
6. In order for us to separate and route the array of messages we receive from Iannix we can create another object '''routeOSC'''. i.e. '''routeOSC /trigger /cursor''' and patch this to the outlet of the '''unpackOSC''' 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. <br/> | |||
[[File:values.png|400px]] | [[File:values.png|400px]] | ||
7. It is then good practice to use the '''print''' object in PureData to get an idea of the values being received. In order to do this you should patch the '''print''' object to the ''' | 7. It is then good practice to use the '''print''' object in PureData to get an idea of the values being received. In order to do this you should patch the '''print''' object to the '''unpackOSC''' object outlet. This allows us to see how we will manage the incoming data.<br/> | ||
8. Your patch should look something like the one below. | 8. Your patch should look something like the one below. | ||
[[File:Udpreceive.png| | [[File:Udpreceive.png|600px]] | ||
9. Press play in our Iannix example and see what values are coming into PureData. <br/> | 9. Press play in our Iannix example and see what values are coming into PureData. <br/> | ||
10. 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. | 10. 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 of floats as shown above. | ||
== START PATCHING!!!== | =='''START PATCHING!!!'''== | ||
Now you are ready to start patching and designing awesome responsive sounds!!! | Now you are ready to start patching and designing awesome responsive sounds!!! | ||
Line 69: | Line 71: | ||
<videoflash type="vimeo">180050728|400|300|</videoflash> | <videoflash type="vimeo">180050728|400|300|</videoflash> | ||
If flash isn't working on your browser go here: https://vimeo.com/180050728 | <br/> If flash isn't working on your browser go here: https://vimeo.com/180050728 <br/> | ||
<br/> 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. <br/> | |||
== LINKS & REFERENCES == | =='''LINKS & REFERENCES'''== | ||
PureData online manual http://en.flossmanuals.net/pure-data/ | PureData online manual http://en.flossmanuals.net/pure-data/ | ||
Line 81: | Line 82: | ||
Digi arts students check out Kadenze’s other free courses! https://www.kadenze.com/ | Digi arts students check out Kadenze’s other free courses! https://www.kadenze.com/ | ||
Iannix http://www.iannix.org/en/ | Iannix http://www.iannix.org/en/ |
edits