Vsynth Package
Buen dia Kevin, estoy teniendo un problema con un patch que parece no ser tan pesado pero sigue corriendo en menos de 30 frames, tengo una macbook pro 2017 así que podria pensar que es problema de mi computadora, por lo que se lo envie a un compañero que tiene una computadora buena pero el resultado fue el mismo, lo que estoy pensando es que tal vez no estoy optimizando correctamente el patch o estoy haciendo algo mal, pongo la resolución de la textura en 1920 x 1080 y con cualquier video que ponga me pasa lo mismo, por lo que grabar la pantalla hace que me corra aun peor.
Aprovechando, me gustaría preguntar si hay alguna posibilidad de exportación sin ser tiempo real...
PD: Muchas gracias por Vsynth, es una herramienta increible
Leaving here the walkthrough video of the vector-synthesis modules from last update!
Thanks for all your great work on Vsynth. I have an issue modulating the saturation on all of the Hue modules. I've tested and there doesn't seem to be any mistakes in the patch because the Hue param modulates fine, but then I can just change it to "prepend sat" and none of the sat parameters on all the hue modules ever do anything. "prepend SM" works and "prepend light" works as well. But I actually want to modulate the control of the sat knob like how the hue knob moves and the SM knob moves etc. Just using a game pad to control it with the analogue sticks. Loads of fun. But really need to get Hue and sat working together with the analogue stick. Thanks
RICHIELG, the message is actually "saturation" not "sat". You can always alt+click on the modules to access their helpfiles and see which are the external control messages they receive. Cheers!
Ah thanks! I tried that before but maybe my patch was configured wrong at that time or I could have spelt it wrong. Perfect thanks :)
I have an issue than when i'm using vizzie playr and movie foldr and also capture plugged into the same output as corner pins it never lets me select the clip with movie foldr, it freezes on the same clip. When I delete capture it works fine again and I can change through clips. If I use avplayer it works but there's black space in between changing clips. If I use syphon to record output instead of capture I get occasionally significantly dropped frames like a half a second or stutter . So I want to get capture working with playr and movie foldr. I'm inspecting these modules but I can't see anything which would be stopping them from working together. Any advice? Thanks
Can you please attach a patch so I can better understand what you are doing? Thank you.
Here's my version
Ah I t seems to be when you change the resolution on the render object as well. So you can either delete capture or not change the res on render. I'm wanting to work at 4k
It is working just fine here. Are you under gl_core engine?
So basically anything other than SD on the render module creates a massive lag when switching clips and also outputting to capture. If you delete capture its fine. But once you get to 1080 and 4k it doesn't change at all when using capture
graphics engine gl2, video engine avf. I don't recall changing these I may have done but I don't know the difference they make. Thanks
ok I switched to glcore and now it changes with a massive lag on 4k. But after deleting capture it changes instantaneously
Yeah, I mean the capture module is using jit.vcr which is an old object. I recommend you do the Syphon->Syphon Recorder way. But depending on your computer specs if you want to record at 4K it might lag or loose frames, yeah.
ok thanks. Is it better to use glcore?
Ok I also realized there is a mistake inside the Capture module. Replace with this file under Documents/Max8/Packages/Vsynth/Patchers.
Edit: Yes, use gl_core.
I've got a mac studio m1 ultra. But syphon did still glitch on a 4k record test. What I did to aleviate this problem in the past is stitch all my clips together in a long video and just randomly move the playhead position. But I think its preferable to being able to choose clips. But that all depends on whether syphon is reliable. Capture has been very reliable in the past, but I only just realised this was what was breaking the clip folder selection
Yeah its working now. But there's still a bit of lag compared to without the capture module. Do you reckon quick time or hap files would make a difference to that? I'm going to test that now
It still introduced a lag with hapq
There's still a bit of a lag with pro res as well when using capture. So its working now but a naticable introducing of lag when changing clips with moviefoldr at 720, 1080 and 4k
I think its usable but it would be nice if it was better optimized. Why would it introduce a lag when its not even in use? Its patched in but i've not clicked write. Its just there for when I need it
Ok so I'm on a M2 and I cannot notice any lag. With that being said, to be able to record a file you need to read the texture from the GPU back to the CPU and that is always a bottle neck. I can make a few other adjustments to the module but no guarantee there is gonna make a huge impact on performance while recording.
There are some workarounds out there to render non-real time from Max but its not super straight forward to integrate with Vsynth (though it can be done). Check in the forum!
In terms of the video I'd just use .mov Apple Pro Res 422.
Even if you are not recording, the texture readback is being done. A quick fix for that could be adding a gswitch.
You could also try this instead of using Vizzie's PLAYR to see if it improves your performance:
Thanks. I tried the Oneirotomy thing a while back for non real time rendering but found it a little clunky. My mac studio handles real time fine I think so i'll steer away from it for now. That patch you sent instantaneously changes clip but then delays playback start. Its actually a simillar amount of lag to the vizzie player so I wonder if its doing the same thing?
Amazing thanks i'll test this out tomorrow.
I tried those things not sure if i'm doing right but it mainly introduce black space when changing clips. So i've got rid of the capture object and i'm just doing a 4k pro res screen record with obs. This seems to be the most responsive and reliable thing. Without the capture module changing clips is instantaneous. Is there any downside to doing a screen record with obs vs using the capture module? Thanks
Ah thats a shame, I'm not getting any lag when changing the clips anymore (maybe because of my clips. Have you tried .mp4 h264?). But yeah, I personally don't use the Capture unless is something quick and not in high res. I do syphon recording or screen recording. Maybe turn off true color under Settings/Display and turn off smooth images under Settings/Accessibility/Zoom/Advanced.
Well if a screen record with OBS is just as good as capture then I can just stick with that. Thanks for all your help by the way its greatly appreciated.
Just for other peoples benefit here I encountered another issue with the vizzie playr set to loop 2 so the clip plays forward to backwards and so on, I hand't realised the reverse playback was stuttering because I had so many effects on it. The setting which is seems to work on for me is avf with pro res or hap. I think hap is slightly better performance. I will also say that that some of my clips had audio AAC encoded and in that case the video does one round loop and then freezes. It took me a while to figure out what was doing that. But yeah no audio codec rendered with the vid is necessary for the vizzie playr to seamlessly loop forward and back and in my case. And the avf engine with pro res or hap does smooth seemless forward and backwards playback andnear instantaneous changing between clips, I think hap slightly has the edge over pro res in terms of speed of changing clip, just a couple of tiny lags on pro res and haven't noticed any with hap. So thats the fun stuff over! Time to start working the grind and being creative.
Hi –
just getting started with Vsynth - & loving it.
Quick question: is there any way to output visuals from Vsynth in 3 dimensions instead of 2?
For instance: I can feed a CAM object to an XYZ DISPLACE & distort it on the Z axis – then I can rotate the 3D image with a 'rotatexyz' message.
The 'vs_Render Contexts_help' lesson shows very clearly how to output the image to a jit.gl.cornerpin in a different rendering context.
But what if I want to get the distorted/displaced 3D image into another context of my own that I can then manipulate in 3 dimensions? I can't figure out if that's possible or not.
(I'm afraid I haven't done a thorough search of docs & forums to see if this question has already been answered – so apologies if I've missed something.)
I looked inside the XYZ DISPLACE patch but couldn't find the jit.gl.node. Is it hidden away in a sub patcher or something, or am I just blind?
Meanwhile, another quick question: I'm working with the SHAPES WAVEFORM GENERATOR and I'd like to make the shapes move away from me instead of coming towards me. For that to happen, I would expect the Time dial would have to be set to a negative number, but that's currently impossible, since the dial only goes down to zero.
Is there something I'm missing? Or is there some other way (a different parameter or another object) of accomplishing this?
Could you use alpha blend mode in the additive mixer to invert the white to black? That might work to reverse the direction. Not sure.
Thanks for the suggestion – but unfortunately the motion is still outward (coming towards) when flipped to negative.
But the shape is white and the background is black so wouldn't it change the direction if the background was white and shape was black?
Pseudostereo, where there's a Time param with a gray box next to it, ticking the box makes the time value negative. Easy to overlook.
@Pseudostereo
Look out for the outlet object, the jit.gl.node is connected to the outlet of that module.
What Matt pointed out.
@Richielg
If you want to invert the wfg, all of them have a right outlet which spits the inverted of whats coming out of the left outlet. There is no need of extra modules for that.
thanks 2K & Matt – much appreciated. (& the inverted right outlet – which I didn't know about – is brilliant)
I'm a little confused about the 'vsynth' floating window, and the difference between the behavior of the LESSONS patches vs the PATCHBOOK patches.
When one of the PATCHBOOK patches (containing a CORNERPINS object) is running, I can click on the floating window without losing the image, and ESC makes the floating window go to fullscreen.
But when one of the LESSONS (again, with a CORNERPINS object) is running, clicking on the floating window makes it go black – for some reason the first X of the CORNERPINS object becomes unchecked. Clicking on the patch re-checks the first X and the image reappears. ESC still goes to fullscreen, but without the image - it's just a black screen, probably because the floating window gets the focus, therefore unchecking the X.
(I don't know if I was having this problem before I upgraded to Sonoma 14.4)
I realize that I don't entirely understand the relation of the floating window to the CORNERPINS object – it seems there's always only one floating window – but when multiple patches (each with a CORNERPINS object) are opened simultaneously, what determines which image is sent to the floating window? Is there any way to control this, other than clicking on the different patches?
Next question: the second X of the CORNERPINS object determines whether a rectangular floating window contains a square letterboxed image, or the image filling the frame entirely. However, the PREVIEW window always contains a square letterboxed image. Is there any way to replicate the behavior of the floating window (so that the image fills a rectangular window)?
Similarly, in the vs_XYZ_Displacement_help patch, the movie file is rectangular, but it becomes a square when fed into the XYZ DISPLACE object. Is there any way to maintain the aspect ratio of the original image?
@PSEUDOSTEREO
I left the Patchbook patches open and the patches in the Lessons locked and disabled if that window isn’t active. The idea behind it is that you can open as many lessons as you want without rendering all of them at the same time and killing the computer performance. It also forced my students to actually follow the lessons by making the patches themselves instead of copy-pasting them.
The cornerpins module has a jit.gl.cornerpins object inside and each new cornerpins that is added to the patch is going to be on top of the previous one (check the cornerpins module helpfile by alt+clicking on it like a normal max object).
The preview floating window from the render will replicate the aspect ratio controlled by the cornerpins.
The xyz_displacement has a “fixed aspect ratio” button as well so if your resolution is 16:9 you can toggle it to make it square. Gonna make a ticket to see if I can make it 16:9 even if your resolution is 1:1.
@2K
OK, I think I understand the cornerpins module & how the floating window works.
Next question: can you explain the RENDER module? Adding a Render module creates a new floating window, but since there's only one active floating window (the vsynth window) what would be the reason for creating additional windows? And how would you get anything to show in these additional windows? I can't get anything to show up in these windows, the ON/OFF button doesn't seem to have any effect.
You wrote "The preview floating window from the render will replicate the aspect ratio controlled by the cornerpins." However, I wasn't asking about floating windows, but about any PREVIEW modules in the patcher, and if there is any way to control their aspect ratio.
Finally,, the "fix to aspect ratio" button in xyz_displacement doesn't seem to have any effect, at least not in the vs_xyz_disp.maxhelp file. The movie file has a 4:3 aspect ratio, but xyz_displacement always transforms it to a square.
(btw thanks for the quick responses to all my questions!)
The Render module creates the render context thus there should be only one even if you have multiple patches open. Creating more Renders will create more render contexts and that’s why you are noticing that dramatic fps drop. If you want additional floating windows you have the “Floating Preview” module.
You can’t control the aspect ratio of the Preview module. They will show the aspect ratio that branch from the resolution you set in the Render. You can always modify the module though, should be pretty easy to add that feature to the previews.
The button in XYZ will only work if the aspect ratio from the render is different than 1:1. Try putting the Render in the same resolution as your video.
Thanks. All set with XYZ (for the time being).
I think I understand how Render works now.
So is this correct:
Once you click on 'Create New Patch', you have to close the Launcher. Then add a Render module to your patch and turn it on & you're set.
What I found confusing is the fact the the Vsynth Launcher creates its own floating window. I assume it must have its own Render module (which isn't visible)?
And since I wasn't closing the Launcher, adding a Render module caused an error ("object with name vsynth already exists, generating a unique name").
The Launcher has its own Render, yes. If I were you, I'd just start a patch from a blank patcher instead of from the Launcher. Just open a new patch Right Click -> Paste From -> Vsynth -> Synth Default Patch.
Is there some kind of trick to using still images in Vsynth? Just as a super simple example, I'm banging an fpic to cornerpins, render is on, I get nothing. I tested with jit.pwindow to be sure and it works fine there. What's going on here?
[edit] Tried banging fpic with a metro and now it is working. Is this the correct functionality? The "First Steps" lesson with the vsynth logo doesn't seem to indicate this.
You should check the "Working with video" Lesson. And yes, you need to bang the fpic at frameRate. Instead of using a qmetro try getting the bang from Vsynth's master metro. Just create a [r draw] and connect that to the fpic.
Ah cool. Thank you I missed that.
I'm having a hard time, getting Vsynth out of Max via jit.ndi.send. The picture that arrives at the other end is shifted. Anyone tried this and has any tips? I guess the corner pins need different, maybe negative coordinates. But I can't wrap my head around it.
Just invert your image using the Flip&Swap module.
thanks, but the mapping is just wrong when it comes out. so, flipping or swapping doesn't change much.
is there another way? cause I don't really need jit.gl.cornerpin
Ok so I've just tried it myself and getting the same result on Mac with the resolution/aspect ratio you using. Works fine with others so I don't really know. Maybe worth sending a bug report. Here...
dammit! its the darn resolution. yep, looks like a bug
thanks a bunch!
two pixels less on the x axis and its all fine
Hey sorry if this is already answered but I can't find it and I know this is really simple but i'm stuck so its making me a bit frustrated . I just want to do a fun house mirror type of effect on a video clip, where its kind of like a dream and the whole thing wobbles. I thought that you did this by putting a sine wave lfo into a displacement module along with the video footage. But no matter which way I try it I can't figure it out. Any tips on this? Sorry this is so basic but I need to get it figured out because think it can serve as a good basis to build a bunch of other effects off the back of. Thanks
I'd do it with different waveform generators and the displacement 2 module.
oh man I didn't check the disp depth box. Thanks I thought I broke that module coz I customized it. ok great
When I modulate the cross fader with a square LFO it doesn't do a straight cut, it does a short cross dissolve. I think its because the GUI moves and creates the lag maybe. Is there a way around that. I did it last time by using a square wave LFO alpha with blend mode to do a straight cut. Thanks
ok so I set it up in the old way I used to do it because its a straight cut with a square lfo. The way I do it is I sent the video clip into the blend mode mixer, the lfo into the channel and the blend more as subtract. This gives me a square wave alternating between black and the footage, so then I duplicate that and invert the lfo and route both into another mixer and it gives me a straight cut strobe. I don't know if this is the best way to do it but this is the way i've found because the cross fader is a cross dissolve. But I would like to control the lfo hz synced to an external midi clock and i've no idea how to go about this. I can think of a rudimentary way of doing it but I don't know how optimal it will be. I could have a black video clip and a white video clip and clock the tiggers of them externally. That would only work as a square wave though and I don't know how fast the triggers would go. So i want to figure out how to externally clock the existing LFO really.
Something like this?
Ah ok so that can clock it right if I add what ever max object receives clock and route that into the number box? But what I was actually thinking was 1/4, 1/8, 1/16, 1/32 etc, straight, dotted, triplets on the lfo freq. Because often they have a switch on an lfo where its like hz, seconds, beats. And i'm trying to have it both clocked to external midi or ableton link if thats possible but I don't know if it is then also with the freq control having divisions at regular beat intervals. Sorry I didn't explain that properly earlier
Check the [translate] object. You'd want to translate whatever you are getting to hz for Vsynth's LFO to be "synced".
ok thanks. I think im just going to send a midi note message to trigger a specific hz value which works for the tempo that I need and then have another note for half time and another note for double. And also have the hz automated to a fader so I can nudge it a bit like you do on technics. And just reset that automation per project. Because i'm just not sure how to do it any other way really and its easy to do that way. Would be nice if there was a global clock module which synced to external clock and then timing based modules had a sync button and their respective beat divisions that come with that. Thanks
Hey i'm on Max 8.6.1, vsynth 1.5.0 and osx 13.6.4. vizzie settings on glcore and avf. I have a slight delay when switching video clips using moviefoldr to playr. The frame basically freezes momentarily before it switches the clip.
I've tried with pro res 422 lt, 422 hq, 4444 xq, hap and h264. Also tried in 4k and 720p and its the same deal for everything.
So basically what i'm doing is I had a bunch of clips being selected with moviefoldr into playr, then this was going into a really lovely fx chain. So I thought it would be nice to duplicate this and have two different video clips playing concurrently and cut between them using a square wave LFO creating a strobe effect.
It creates a nice effect alternating between two clips running concurrently so I have to do this with two video players and not one.
So having a square wave LFO alternating two video clips going through the same fx chain works nice. Its when I duplicate the entire fx chain that I have a problem with the freezing lag.
So the LFO alternates between the two playr modules, the clip going into each playr module can be changed on the fly using moviefoldr and each alternating clip has its own unique fx chain for enhanced control. Once I add this extra set of modules for the unique effects chains, around half the time when I change a clip on either of the two playr modules I get the short freeze before the clip changes.
Its a shame because this is the ultimate goal for me really is to have two independent fx chains being effected, blended and cut between, each with their own folder of clips to choose from on the fly. Thats the goal really, but the final stage has introduced a lag when selecting a clip unfortunately.
I should let you know i'm mixing vizzie modules and vsynth modules in case thats a factor. Also I did have an issue a while back that we talked about when routing the output of the project into the render object, it created a huge delay when changing a clip with moviefoldr. As a result I abandoned the render module and simply screen recorded the output instead. So I had an issue with a larger clip selection lag before and worked around that. But i'm not sure what to do now because have two independent fx chains is fundamental to what i want to do here. Thanks
Without the patch I can't really say much. You are more than welcome to reach out to me on Discord or send me an email with the patch and videos. Also, there is Vsynth 1.6 in the Package Manager. Don't think that is gonna solve your issue but may be worth the update specially if you are on Windows.
you can try jit.gl.polymovie.
Hello Vsynthers!
Question about the Bipolar Waveform Generator: is there a message I can send to toggle the polar/bipolar brightness (the +/- button in the top right)?
Currently not but you could easily modify the module and add that input. Just put something like "mode" in the route object and connect the new output that is created to the +/- button. I'll make sure I add that external control in next update. Thanks!
Thanks so much for the quick response. I'm still a beginner and have never modified a module before. This may be a bit over my head, but I'll look into it and see what I can manage. Thanks again, Vsynth is really amazing!
(I figured it out - it wasn't so tricky after all.)