» IRIS - Interactive Realtime Image Synthesizer
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

IRIS - Interactive Realtime Image Synthesizer

Credits: eno, milo


The versions of IRIS on this website are outdated and no longer supported.
__Were still working on IRIS using it for professional production since years. As there is no public version at the moment -please get in touch if you need the flexibility of working with vvvv on site combined with a reliable, frame accuracy playback system.

This was the first public release of a performance framework we had have developed during several projects over the past years. It is (of course!) not finished and can be improved in many ways. We chose to make it public at this point to discuss its concepts with a larger user and developer base - and we hope that it proves to be useful for your projects.

In comparison to other v4-patch-changing approaches out there we have put a strong focus on a flexible, touchable interface and scalable in- and output. So far IRIS has proven its usability in several venues and events such as the CocoonClub, the Coke Happiness Monument or the INTEL visibly smart tour.



https://bitbucket.org/nsynk/iris_v0.1_legacy additional credits: avienhoe


IRIS is based on these Concepts:

Textures are the only Information shared between modules

What you see is what you get
Every step of the image synthesis is visible on the screen

Flexible Interface
Every patch defines the interface it needs. No limitations in number and type of parameters

Value parameters can be animated and recorded as quantized sequences

Server-Client System
Change patches in a server-client environment (no Boygroup). This allows for large scale realtime renderings and performances with redundant servers and great failure safety.

Collaborate on a show with many interfaces simultaneously

Create your own Signal Generators and route them to any parameter. MIDI and OSC input handled flexible by Signal generator modules

Fast browsable media library for textures, models, v4patches and bundles

Touch Interface
Optimized Interface for touch input

V4 Bundle
No interdependencies between modules and directory structures

How to get started

Download IRIS from the Bitbucket project page.
Start beta 27.1 and run install.v4p from the IRIS directory.
Run startMasterInterfacePerformance.cmd
Now you should have IRIS running with a couple of demo modules and library items installed that came with the download.

Per default the ‘Master’ menu item needs to be blue and the small N (for Network) toggle has to be switched off. Other settings are needed for Server-Client setups and for multiple interfaces.

Now you can ‘Load Patch’ to change the modules. Alter the parameters by clicking on them. Clicking on a string parameter brings up the library. Hold spacebar to record animations. Open the signals pane to map signals.

To make your own modules look into the Interface Root/Screencontainer4/Sandbox.v4p patch. The Sandbox resembles the signal path of the Interface. Open the respective Generator, PostFX or Mixer patches. You can see how to set up a content module. Be sure not to change the In- and Output Pin Names.

Signal Generators are for now the patches loaded in the Signalbay, and cannot be changed thr. These patches do the audio-analysis, MIDI- and OSC-Input (or any other protocol) or provide custom shaped signals.

Put your own modules into IRIS/library folder and be sure to meet the ‘v4bundle’ naming conventions (a v4bundle is patch in a folder of the same name, that contains all the resources needed to run the patch). Also add your media to the library. You can make your own folder structure to organize your library. Thumbnails will be created automatically when you press ‘update library’ in the library screen. Thumbnails for patches have to be created manually and be part of the v4bundle as thumbnail.png.


Known Issues

Update all
if a patch is changed on a machine by an 'update all' instruction, the new patch will get its values only after update all is executed a second time.

Save Set
Recorded sequences are not saved / loaded

sebl 08/05/2012 - 20:40


velcrome 09/05/2012 - 01:38


microdee 09/05/2012 - 02:14

wow! i shat bricks!

colorsound 09/05/2012 - 08:50

great¡ looks like vey usefull and hard work

circuitb 09/05/2012 - 13:26

nice work guys!

circuitb 09/05/2012 - 16:57

just a quick note:
library location path issue if iris folder is located in a subfolder called patches => substitute string

circuitb 09/05/2012 - 17:42

when saving/searching a set or a patch if you use the keypad numbers in the string name you've to delete the > sign at the end of the string

sapo 10/05/2012 - 02:37

when running .cmd files an error pops up about not being able to find the file (vvvv.exe i suppose).
my vvvv folder is in some subfolder with a space in the name, if i move all in c: no problems. still triing to figure out what this beast does!
thanks for sharing ;)

cmk_ver 11/05/2012 - 05:55

i followed the instructions, but every time audio analysis file is opened with max msp. i removed max msp from my computer, i reinstalled iris but the same issue occurred.
i am kind of desperate trying to make this work for a few hours now....
please help!

cmk_ver 11/05/2012 - 06:15

got it running! i don't know why.. but it only opened the audio analysis file until i reinstalled vvvv. anyway, awsome stuff!

milo 11/05/2012 - 09:58

@circuitb & sapo: thanks for reporting. will fix that
@ cmk_ver: i have to tell you that this is not a bug rather than a feature that the audio analysis runs in a max/msp runtime environment.
but you can of course build your own one with vvvv to and put it in the library/signal folder. detailed information how to build own stuff will follow.

milo 11/05/2012 - 11:54

some basic HowTo videos are on vimeo now

everyoneishappy 11/05/2012 - 12:54

have not had much of a chance to play with it but looks awesome!

@Sapo is your vvvv install in Program Files (x86)?

You may need to put some quotes around it- try editing the cmd file to something like:

start C:\Video\Patches\nsynk-iris-ff70ccab2127\patches\audioanalysis\audio_analysis\audio_analysis.exe
start C:\"Program Files (x86)"\vvvv_45beta27.1\vvvv.exe /o C:\Video\Patches\nsynk-iris-ff70ccab2127\patches\_Interface_root2.v4p /masterinterface 1

cmk_ver 11/05/2012 - 15:50

@milo yes it is a feature now that i got Iris running.

tekcor 13/05/2012 - 17:43

totaly impressive.

casinowilhelm 01/06/2012 - 20:10

This is awesome

bilderbuchi 21/06/2012 - 20:49

this looks great, just playing aroudn with it.
one thing I could neither find in the docs nor accomplish (but maybe I'm temporarily blind): how can I unload patches? I found no button, setting empty selection does not work, there's no "none" item... :-(

bilderbuchi 21/06/2012 - 20:54

btw, since you're working under version control anyway, it makes sense to add "*~.xml" to your .gitignore file. ;-)

eno 23/06/2012 - 21:33

For the moment the structure of Generator-PostFX-Mix-PostFX is fixed. This means you have to load the thru Patch, if you're not using the PostFx Slot.
The next version will have a flexible patch structure.

bilderbuchi 26/06/2012 - 11:46

ah thanks, i must have missed the Thru patch. >.<

m4d 26/06/2012 - 13:28

finally had some time to play with this awesome contribution. :)

what can i say? seems vvvvery well designed! not so sure about the rather vague license though..

eno 26/06/2012 - 18:55

Well basically it's the same licence model that also v4 uses. Its free to try and for non-commercial use. If you're making money with it we ask you to get in touch with us for a quote. We have a couple of projects of our own running on iris, but we have no history of licencing it to others... So we'll see how that works out in the future.

m4d 27/06/2012 - 15:24

Nothing wrong with that part of the license. Sorry for not making myself clear. It's more the part about contributing to it which seemed a bit of a downer to me.

All contributions to the framework by a third party become property of nsynk, and the contributor agrees to the commercial distribution of his contribution by nsynk.

While i absolutely understand that you have to clear the framework from third party rights interfering with sales/clients there still remain some questionmarks for me.

A simple example: Imagine someone would build a really nice DMX module for iris and contributes it.

  • Would that author be allowed to contribute a generic (not adapted for iris) version on vvvv.org?
  • Would other people be allowed to use that contribution in their non-iris projects? (as it's technically part of the framework which is nsynk's property)

I really don't want to look like a nitpicky person here, but i'm in the process of choosing a new performance framework for my next projects and i want to make extrasure that i don't have to switch again in a few months. I have a half-finished own framework which is more like svvvvitcher with a bit of md.vis, but it's nowhere near as well rounded/complete as iris.

So i don't wanna bash or discredit iris in any way. (quite the opposite. actually i've been waiting to get my hands on it since seeing your coccoon club postmortem @node10) I'm rather just thinking loudly about pros and cons of adopting iris as our studios main player framework.

Sorry, this comment became way too long, but i felt i had to make my position more clear to avoid misunderstandings. If we continue this discussion we might just open a thread to keep this contributionpage tidy.. ;)

best regards!

eno 28/06/2012 - 11:17

Hey Chris,
I totally understand your concerns, and I think it's important to discuss these openly. The current form of the EULA is very rough and needs refinement and certainly doesnt cover all copyright aspects. The line that you quoted refers to the framework itself, not to any of the modules that you write for it.
But if you decide to improve the library functionality (which you are welcome to do, its obviously open source), which is part of the framework, and your improvement is being integrated into the standard iris distribution at some point, you agree that we can continue to distribute and evetually sell iris including your contribution to the framework.
Ideally, iris comes with only a few example modules that show how to make new ones, and you dont have to touch the iris download at all. We claim property only for the framework, not for the content modules. And we encourage users to share their modules, but that can well happen outside of the iris download.
We would of course be super happy if you decided to work with iris, and we should work out an EULA that covers the needs of users and developers respectively. So please, feel free to also contribute to the agreement, and we work one out together.
Ditto, best regards,

m4d 29/06/2012 - 19:44

Hello Eno,
thanks for taking the time for a thorough answer. I'm a bit busy right now, but i'll get back to you via email next week. :)

chico 29/07/2012 - 07:47

what a huge work

paulhoppe 01/08/2012 - 00:17

Hey guys, I'm really excited to try this out but I'm having some problems getting started.

I think I'm having the same problem as @Sapo but adding the quotes to the .cmd file just opens the audio analysis window and a blank v4 window.

I tried loading the _Interface_root2 patch manually but that gets into a loop that loads a ton of patches over and over till v4 crashes. Any suggestions?

milo 02/08/2012 - 11:18

Where did you downloaded your IRIS version from? Actually only the attached zip version is working with current beta.

paulhoppe 02/08/2012 - 17:40

Thanks for the help. I re-downloaded and installed from this .zip and things are working now! :)

selavivivi 05/09/2012 - 16:22

Thanks for sharing... iris is working (not unstable/useless) but the TTY renderer goes crazy writting "Excepcion occured in the TMPlugingWrapperNode. Evaluate: intento de dividir por cero" and so on and so on...
I saved the log file begins like this but is too long
= 05/09/2012 15:32:23
There was an error during the execution of this program.
The application might become unstable and even useless.
It's recommended that you save your work and close this application.

Intento de dividir por cero.

Exception log with detailed tech info. Generated on 05/09/2012 15:32:04.
You may send it to the application vendor, helping him to understand what had happened.

 Application title: Iris
 Application file: I:\vvvv\vvvv_45beta28\vvvv.exe

Exception class: EClrException
Exception message: Intento de dividir por cero.
Exception address: 00000000

System.DivideByZeroException: Intento de dividir por cero.

   en VVVV.Utils.VMath.VMath.Zmod(Int32 z, Int32 d)
   en VVVV.PluginInterfaces.V2.Spread`1.get_Item(Int32 index)
   en VVVV.Nodes.StringDictionaryNode.Evaluate(Int32 SpreadMax)
   en VVVV.Hosting.Factories.PluginContainer.VVVV.PluginInterfaces.V1.IPlugin.Evaluate(Int32 spreadMax)>
medodawod 11/07/2013 - 16:50

i just downloaded the latest verios of iris from :
and i'm working with :vvvv_45beta30_x64
> when i install iris .. the install window disappeared quickly .. and baking nothing !!?

medodawod 11/07/2013 - 20:54

my bad , works fine (Y)
great job

ffffriedrich 26/03/2016 - 21:26

looks supercool. when i launch startMasterInterfacePerformance though, the thing goes nutz. i see the audio part done with max. and there are some unusually colored vvvv patches open. but in addition 3 to 4 vvvv windows open and close in rapid succession. i let it run for a bit but had to cancel after couple of minuets.

am i missing something?

i had to dl iris-r0602.zip, for the bitbucket link tells me to vvvvuck off: "You do not have access to this repository".

Is this .zip simplyt to old?

rtrkchtr 28/03/2016 - 20:17

@ffffriedrich i have the exact same problem. I'm really desperate to get the whole IRIS thing working, as it looks promising. I wrote a mail to nsynk and hope they could help me soon. I would be quite grateful if someone here could help us solving this problem.

sunep 28/03/2016 - 21:42

I think this project is more or less dead, at least there have been very little activity and the download is from june 2012.

Try downloading the last version of vvvv from before june 2 2012: https://vvvv.org/blog/vvvv45beta27.2 maybe it works with that version.

EDIT: Perhaps @milo can tell about the status of IRIS

princemio 29/03/2016 - 00:23

HOLY SHIT! Congratz!

milo 07/04/2016 - 17:38


sorry for being late on this. i updated the bitbucket links and marked iris_v0.1 and iris_v0.2 as public repositories. feel free to download and use them for your needs. they should work both with beta 27. i tried 34.2 but got some problems due to updated s-r nodes.
as i wrote on top unfortunately iam not able to support this versions anymore. but at least it should not be that hard to get them running even with current vvvversions.

and yes were still working on iris every day using it for big and small productions. but since topics and our needs changed a lot since 2012 iris<>vvvv concept has changed as well. so its not only a vvvv based thingy anymore but more a system consisting of multiple parts. iam sure that we have more details to show @ next node.



anonymous user login


~1mth ago

mediadog: @ggml Yup, lots. Only used in 4.x, haven't tried in 5.x yet: https://www.unrealengine.com/marketplace/en-US/product/simple-udp-tcp-socket-client

~1mth ago

ggml: someone has sent udp bytes to unreal ?

~2mth ago

micha_nismus: worked out, thank you very much ! :-)

~2mth ago

joreg: @micha_nismus does this help? https://youtu.be/xkrbT45BgOQ

~2mth ago

micha_nismus: thx joerg. Can anybody help me why i can't see any renderer in gamma? thx :-)

~2mth ago

joreg: @micha_nismus instead of discord, we're using matrix, see: chat

~2mth ago

micha_nismus: searching for a public discord server for vvvv

~2mth ago

joreg: Join us for the 20th #vvvv meetup on January 19th: https://thenodeinstitute.org/event/20-worldwide-vvvv-meetup/

~2mth ago

joreg: @schlonzo re "SDSL support" did you see the Shader wizard? or do you mean something different?