Home › Forums › Your projects › Video: Iannix — Case study
Today I put up a video showing a brief case study of Iannix talking to a MIDI keyboard/controller via Max/MSP. I wrote some Max sub-patches to adapt C74’s very cool FM synth, “X.FM”, to OSC messaging input/output.
Please have a look and give me your reactions. I’d be willing to do a similar patch in Pd if anyone would like it.
Cheers,
–Bob
Hey Bob,
I really like your OSC demo video. One thing seemed a bit hacky to me, namely the use of Max to interpret MIDI and forward the control info to IanniX via OSC. IanniX can send MIDI info, and the documents hint that it can receive (and presumably, respond) as well. But, they don’t tell you HOW to do it?
–dick
Hi Dick, thanks for commenting. Yes, I agree — this is a hack.
In my own work, I’m much more likely to be turning ON/OFF a single cursor from an algorithm running inside some Pd patch or other process, rather than via physical gestures. It seems users of widely varying levels of sophistication visit this forum and I was hoping to help inform the user who does not yet realize that one has that level of control over Iannix (I believe all example patches show Iannix only controlling something downstream, rather than vice-versa).
In the video, I used a MIDI controller in order to have something visual to relate to on-screen changes in some of Iannix’s objects (and to show that Iannix and *something else*, regardless of what that something else is, can both be affecting control over some other process). I’m hoping the viewer can also imagine another controller — maybe a smartphone, a Lemur, a joystick and flight-sim pedals, or maybe just another program; a Supercollider or Max patch. The MIDI is incidental.
MIDI is something I’ve been working toward extricating from my life. I would ask: Why deal with the limitations of MIDI when something like OSC exists? I can think of one answer for that: When the only physical gesture-capturing devices one has are MIDI-based. This, of course, applies to many of us. I view OSC as both an inter-process and an intra-process messaging mechanism. I can’t imagine using MIDI for such purposes ( well, I don’t want to imagine it :–)
If one uses OSC-based expressions inside of one’s algorithms, it becomes easier to break apart a CPU-heavy process and run parts of it on another computer across the network. This method of function parameter-passing (speaking in procedural programming terms) can then also become the mechanism for eventual load distribution. Cool, I shout!
Sorry for the long-winded reply that turned into a manifesto.
Cheers,
–Bob
@Dick wrote:
Hey Bob,
I really like your OSC demo video. One thing seemed a bit hacky to me, namely the use of Max to interpret MIDI and forward the control info to IanniX via OSC. IanniX can send MIDI info, and the documents hint that it can receive (and presumably, respond) as well. But, they don’t tell you HOW to do it?
–dick
Edit: I take it back: I recall the Max patch example *does* show how the downstream process can control Iannix timeline rate!
Sorry Bob, nobody in IanniX team has thanked you for this video. So : thanks a lot, we love pedagogical and instructive video that explains why IanniX is so coool 😀
Yes, cool indeed!
Hi Bob
A PD version of your patch would be most welcome, thanks for offering to do it
Cheers
Paul
Okay Paul, but it’ll be a while. This may seem lame, but I don’t go in my studio during this great North American heatwave. I have air conditioning in the bedroom, but that’s it. The studio is at 91 ºF (32 ºC), and I don’t do patching on my portables (I’m spoiled for screen real estate) 🙄
Cheers,
–Bob
@paulF wrote:
Hi Bob
A PD version of your patch would be most welcome, thanks for offering to do it
Cheers
Paul
Hey Paul, et al,
@paulF wrote:
A PD version of your patch would be most welcome…
So here’s that Pd version of my “Iannix Case Study” patch. I did not write it with wide distribution in mind, so it has some of the typical hardcoding-isms, including the object IDs from the score I used (attached). However, I do have calling arguments in the top level patch for easily customizing the CC-numbers and the two lowest-key pitches to suit your own MIDI controller (the comments describe those [pd]-object creation arguments). Yes, the MIDI channel is hardcoded to Ch-1 😥 .
In case you have not installed Pd-extended, in a separate zipfile I have provided the two audio files that correspond to the triggers so you can choose to download that only if needed.
The top level patch to load from is “CaseStudy-1.pd”
Have a blast,
–Bob
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |