MartinusMagneson's picture

The shader approach is so that you get more control over the individual pixels, and maybe a different approach to audio. As it stands now, I'm not sure about how phase is handled between the L/R channels.

Here I'm using Jerobeam Fendersons Oscilloscope music (no audio, sorry, check out for some absolutely fantastic visuals), which is tailored for this sort of thing, and although I can see some definitive shapes in there, it doesn't seem to line up with what I get from Vuo.

However, when sending two sinewaves and adjusting the sample delay for one of them, I can do this:

But again the phase seems off:

So Vuo might be capable of an approximation initially at least. Would be nice to have a comment from Jaymie about the phasing, maybe there is something to clear up :)

MartinusMagneson's picture

Very cool project by the way! You don't have to do several process lists, you can easily have several 'Is Within Box' nodes within the one 'Build List'. All you have to do is a bit of nesting of the logic.

Here you have three different sources for the 'box'. If the first 'Select Input' is true, cyan will be passed along as the false color for the second box. If the second 'Select Input' is false, cyan will pass to the third box as the false color. If the third 'Select Input' is also false, it will then pass along cyan as the final color. If all are false, blue will be passed along, and if any of the later ones in the tree are true, it will settle at the latest 'true' color. This way, you only need to convert the one color-list to Art-Net. I think the color list would be the simplest option to deal with by far, especially for LED strips.

Composition is attached ("EDIT2_...").

Xavier dev's picture

Thank you very much for coming back. I understand better the question of "hold". I worked on 2 new compositions attached. The first "MULTI ..." has the principle of using several "Is within Box" and 1 "Process List" for "Color to DMX". This works well, but the number of red cube is determined in advance. Then I realized the second composition from your recomandations, "EDIT_B ...". I can then real-time change the number of red cube and work on light movements. The goal is to work on a new version of this project. I think it will not be possible to inject 2 "Process List" into 1 "Is within Box".

The problem is that I want to work with a color list, maybe it would be better to do it without "Color to DMX" but with "Integer" directly in the "Send DMX".

The initial light sculture project is equipped with 1142 Leds, for example I made a smaller version with 260 Leds of which here is this video.

Congratulations to you for your work.

Merci beaucoup pour ce retour. Je comprends mieux la question des "Hold" . J'ai travaillé sur 2 nouvelles compositions ci-joints. la première "MULTI..." a pour principe d'utiliser plusieurs "Is within Box" et 1 "Process List" pour "Color to DMX". Cela fonctionne bien, mais le nombre de cube rouge est déterminé à l'avance. Alors j'ai réalisé la seconde composition à partir de vos recomandations, "EDIT_B...". Je peux alors en temps réel modifier le nombre de cube rouge et travailler sur les mouvements de lumière. Le but est de travailler sur une nouvelle version de ce projet. Je pense qu'il ne sera pas possible d'injecter 2 "Process List" dans 1 "Is within Box".

Le probleme vient que je veux travailler avec une liste de couleur, peut être serait il préférable de le faire sans "Color to DMX" mais avec des "Integer" directement dans le "Send DMX".

Le projet de sculture lumière initiale est équipé de 1142 Leds, pour l'exemple j'ai réalisé une version plus petite avec 260 Leds dont voici une vidéo.

Bravo à vous pour votre travail.

cymaspace's picture

Nice contributions Magneson. A virtual Cymascope is definitely on our to-do list! What are you referring to by a using a shader?

Have been making good progress with manipulating nodes of a 3D sphere via scaling (as you empathized) and will share results soon, however modeling sound wave phenomena would definitely be the holy grail for digital cymatics!

MartinusMagneson's picture

What are you planning to make? Cymatics and Oscilloscopes are perhaps better placed in a shader of some sorts. I at least haven't found a satisfactory way to emulate that in Vuo (that doesn't necessarily mean it doesn't exist). I see from the way you pose the question that you might attack the problem from the wrong angle though. As audio input is a one dimensional value from 0 - 1 it doesn't lend itself well to xy(z) manipulation in its raw form. What it does well however, is scaling. So if you start by making a circle/sphere, then you can apply the audio values as scaling for those points, either by adding/mulitplying lists, or by scaling the points that go into them.

I'm attaching two compositions I whipped up quickly to demonstrate two ways of doing it, although there are a lot more. I suspect that if you go into 3D space with them, the z-axis (provided the object has origin at 0,0,0) will be the best one to scale.

MartinusMagneson's picture

You have to think about the process/build list nodes as a self-containing loop. This means that the hold nodes needs to be triggered from the loop itself in order to avoid flicker/unintended behaviour. So in order to get it to work, you would have to trigger the orange hold nodes from the orange process list "process item" port. However, I don't think that the process list is the best suited tool to do the task if I understand the build correctly.

If you look at the picture, the Xs mark where signals enter or leave a loop without a hold node, which will make things go bonkers.

As far as I understand it, the process list is intended to use to change items, i.e. if you input a 3D point list, you should expect a changed 3D list output. So when you then want to create a list of color items based on the 3D point list, the build list is better suited. This way you can pull the info from the original list, and create a new color list based on the attributes you set. To make it react to both set values, and an animated value, you can use the logic nodes && (AND) or || (OR) to merge which points it should react to (although at increased resource usage).

Here is the composition with a build list instead EDIT_IsWithinBox-2xProcessList-Color-boyaud.vuo

Xavier dev's picture

For the discussion Is Within Box Get Color, I think the solution that you suggested, Bodysoulspirit, would actually be more efficient. Rather than building a list of 3D objects and then extracting their colors to send as DMX, @Xavier dev can build a list of colors and use that list both for creating the 3D objects and for sending as DMX.>

Yes, actually, I followed your recommendations and work on this color list as the attached file. It's better that way.



Vuo is more than nodes and cables, it's a community! Feel free to browse or add your voice.

Browse Discussions

Start a Discussion

Browse Feature Requests

Suggest a Feature

Browse the Composition Gallery

Share a Composition

How can I get notifications?

Learn more about the community

Learn more about Vuo

Vuo Announcements

Sign up for the Vuo announcements mailing list to get news and join the community. We post about once per month.