Structure vs. Memory Palace

Bottom line is - you can’t go wrong either way, but Structure is probably more useful as a single module. Good luck in choosing! :slight_smile:

2 Likes

Just an update, I’ve been emailing with Rick from Erogenous Tones and have attached the entire conversation below incase anyone had similar questions (simultaneously, I apologize that there is some overlap with the above thread)

As of June 6, Rick stated:

“We are going to test today how well stepping through images work. I am going to add an increment mode for CLIPS, just so there are options out there!”

This was in response to my request for some features to synchronize stop motion animation with CV, however as seen in this thread alone, everyone’s objectives and applications differ slightly.
I was wondering how the following features would mesh with everyone’s workflow?
Do you have any pointers/requests that would strengthen and diversify the application of such updates? Let me know, I’ll pass them on…

THE IMPORTANT QUOTES:

Rick:

“What I want is to be able to select a bunch of files and have them stored in the preset. That way, it ONLY points to those files. It’s a little more work to add them, but then even for like the GEN node you could have a list of things you want to load.

I think this would REALLY be helpful for people, so they could swap between shaders easily!

Would that work for you? Like how many frames per movie are you thinking? (Just so I have an idea).

…If I add a way to step through frames of a video file, that might be even better! With like a gate. Because then you can use the abilities already in video to randomly seen in the video with a voltage. (it’s just a different mode).

at 640x480 you can have 400 frames. At 320x240 you can have 1600 frames. (all within up to 16 files. Those are TOTAL frame counts)”

OUR CORRESPONDENCE IN CONTEXT:

Rick:
There is a ‘NEXT’ in IMG that you can assign to a gate (or midi) to advance. Sorting is done alphabetically, so you’d just have to make sure you use a naming convention that makes sense for that. You could create a preset that points to the first file. It will wrap around when it hits the end of the file list. RIght now, STRUCTURE doesn’t support any directories to separate different animations, but I’d like to add in the future.

The speed of the image load will of course be relative to the size of the image.

CLIP does not do frame by frame at the moment. Not that I couldn’t add that. It will load a maximum of 16 video clips. All the clips are stored in RAM. If you had more than 16 clips (or you exceeded the maximum frames in the loaded clips to a certain point) it will stop loading anymore.

Me:
So in the Next Image scenario you mentioned would I be able to load a folder of images into a single preset and cycle through? Or would each preset be a different image thus limiting me to 64 frames total?

Rick:
You can fill the img folder on the front SD card with all the images. Then just point a preset to the first image. What is not supported is having multiple folders, so if you had multiple animations, you’d have to know where one set ends and another starts, and not generate a gate to go past the last image file.

A way around this would be separate front SD cards for right now.

Me:
But is this just one image per preset?

Rick:
No no. The preset will store a pointer to an image in the file list. When you hit NEXT it will advance and load the next file in the global IMG file list. The next is on file load, not next preset.

Me:
Oh, wow ok. So say you had a 6 frame animation, could you have the preset start with file “2M” and each time you send a CV trigger to NEXT it would advance until you reach “2R” and then it would go back to “2M”? Then could you have another preset pointing to “3A” ending with “3F”?

Rick:
The list of files is just one big list, so if you had:

2M
2R
3A
3F

if you had a preset pointing to 2M, then hit next 3 4 times, it would go: 2R, 3A, 3F, 2M. It will go through the whole list of files then wrap back around. It doesn’t have the concept of separate file lists right now.

Me:
So you wouldn’t be able to limit the number of files it would go through before returning to the pointer file? It would have to go through all of the images before recycling?

Rick:
That is correct. One thing you could do is reload the preset when you got to the end, then it would point back to the beginning. So if you were driving with either MIDI you could know exactly where you were and reload it, if that makes sense.

Me:
Would the preset reload be possible using a CV trigger? As an example would this be possible with something like Pamela’s Workout, with one clock reloading the preset and another division advancing through images?
You guys are very prolific when it comes to firmware updates, any idea when some of the IMG node capabilities we’ve discussed may become available?

Rick:
Yes, you can assign a preset to load from a gate input. You an also use a GATE->MIDI module to get more gates so you can trigger more things.

I would say this is high on the list of things I want. Although it might work a little differently.

What I want is to be able to select a bunch of files and have them stored in the preset. That way, it ONLY points to those files. It’s a little more work to add them, but then even for like the GEN node you could have a list of things you want to load.

I think this would REALLY be helpful for people, so they could swap between shaders easily!

Would that work for you? Like how many frames per movie are you thinking? (Just so I have an idea).

Me:
That would work, in fact I believe the method you outlined above with a selection of files per preset would be ideal, I was just seeing if there was a current workaround that would achieve the same effect.
I’ve be discussing this topic with people a bit on the LZX forum because I wanted to determine if Structure was capable of cycling through media files like the Memory Palace does in this videohttps://www.youtube.com/watch?v=mDPB47sZsio So as far as the number of frames is concerned I would be happy with something like the video demonstrates. However, I would want to have a number of different sequences stored to access for different songs/concepts.
I must confess, I have next to no understanding of Shaders and many of the features in the Memory Palace don’t necessarily fit my personal aesthetic, but these two modules seem like the best options for my desired applications. It would be wonderful to be able to trigger frames with a Eurorack sequencer or even better, scrub through a series of frames in synchronization with an LFO or Envelope.

Rick:
Well if I add a way to step through frames of a video file, that might be even better! With like a gate. Because then you can use the abilities already in video to randomly seen in the video with a voltage. (it’s just a different mode).

at 640x480 you can have 400 frames. At 320x240 you can have 1600 frames. (all within up to 16 files. Those are TOTAL frame counts)

Me:
Yeah, that was definitely one of the workarounds I was considering. Having thematic sets contained to video files would also have its own performative merits with potential for expansion, transitions, and randomization. Again, I don’t have a Structure in front of me (yet…) but I feel as though “Pos allows you to use the CONTROL parameter to set the position in a video mapped across the whole range of CV values!” would be very helpful in this scenario.

Me: Just a follow up, I was looking around some more and it appeared as though XY scrolling and Zoom was unavailable for the IMG node as of December 2019 but possibly added in February, can you confirm this? If they are controllable by CV I believe they would add exponentially to the potential of even a short series of frames. Are these parameters available in the Clip Node as well?
Also, as I mentioned before, I’ve been discussing this topic on other forums. Do you mind if I share our thread to see if any other members have pointers on the implementation of frame by frame Clip node stepping vs. IMG node navigation within folders? We all have different objectives and mine are focused on unadulterated images but others may see other applications related to their own workflow.

Rick:
Hello! Absolutely you can share anything I’ve said!

Yes, IMG node now has shader support so there are different shaders to do different things, like zoom, rotate and all kinds of other things (like a ken burns type effect as well).

CLIPS do not have a special shader, but, you can load a node with EFX after then and use EFX for zoom and such. Clips are much more restricted as they only handle specific sizes.

We are going to test today how well stepping through images work. I am going to add an increment mode for CLIPS, just so there are options out there!

2 Likes

I have two MPs and a Structure. Love both. Which to buy first, depends on your goals. If you love feedback cornucopias and lots of physical controls, MP all the way. Structure can do similar things but the workflow and controls are not as immediate without using an external controller. Structure can do a lot more than MP too with it’s 4 node virtual patch system and large variety of nodes, but menu diving, reassigning controls, and finding the right node structure all slow down workflow. That said I still love it and MP. :partying_face::vulcan_salute:

1 Like

The variety and immediacy of controls is certainly one of the things that attracts me to Memory Palace, I feel like they provide a lot more impetus for experimentation on the fly. That being said my personal tastes are quite simple when it comes to video manipulation so it could be that I will assign a set of parameters to the Structure and leave it.

Is an additional possibility, and considering the size difference I would have the extra hp not to mention the $$$, relative to memory palace. @Dr_Rek are you currently using an external controller? Is it a MIDI to CV module as @wednesdayayay suggested? If so, how do you find it, does Structure allow you to access essentially any of its parameters through these channels?

My key concern at this point is Structure’s ability to handle the content I intend on feeding it. As mentioned previously, my key objective is not necessarily video manipulation by way of effects but rather synchronization of clips and images built outside of the module. Rick updated me on their progress last night:

Rick:
Shaders of the type we are using (called fragment shaders) have 2 purposes in STRUCTURE. One of generation, and one of manipulation. So like the GEN node, those are coded to create visual information. The ones used in EFX and IMG are used to manipulation image data coming in. Truth is, every one in the IMG set could be in the EFX set as well, since technically they are just taking input data, manipulation, and outputting (using an image format called a texture).
We are benchmarking doing IMG walks right now to see what the frame rate is like on the cards we started with. Like 640x480 is not super fast since each frame is loaded from the card. James will be sharing details on it.
I have half implemented the CLIP variety as well, will be interesting to see how well that works.

Me:
Thanks for the explanation, the analogy of the image as a texture is very helpful for understanding the way in which manipulation is achieved with shaders.
It will be interesting to know what sort of frame rates can be achieved, I believe equally important is how instantaneously the change can respond to CV. Do you expect the delay following a trigger, for example will be approximately the same as the speed of loading?

Rick:
Yes, the trigger causes the image load, so the larger the image the longer it would take.
For clip however, those are pre-loaded so just movement in ram which is MUCH faster.

2 Likes

I haven’t used any controllers yet, just audio and cv inputs on the front panel. I just finished reading the manual today but have been using for a couple months. You have to map whatever you want and save the mappings for a controller. It’s all very customizable, but the trade is that it takes time to setup and dial in things how you want.

Have you attempted switching images by way of CV? If so, what are your response times like?

I haven’t tried any images in Structure yet. But I’ll test that out someday and get back to you.

CV response times to other controls have been instant I think, but I haven’t tested it thoroughly.
There are a few frames lag compared to an audio input, so there could be a little lag on CV too.

Something I’ve been dealing with with LZX stuff as well with audio reactive work.
Vidiot has about 2 frames lag, but Memory Palace has about 7 frames lag when using an audio source to drive. Structure also seems to have maybe 3 frames lag in my recordings. (These are all being driven by Sensory Translator usually, but sometimes Diver, or Vidiot’s audio follower too) So when compositing the various sources in my video mixer for a single output recording, there can be disparities between sound to sync visuals. Workaround for now is just do audio driven stuff on only one source, but maybe it could be adjusted for with frame delay settings on video mixers. My Roland V4-EX will let me do that for one channel, so I could potentially dial in two sources sync. And I believe TBC2 would do stuff like this too.That said, each source being a few frames off from each other for audio sync to visuals isn’t always noticeable.

That’s interesting.
The latency in Structure means that I can’t get it to slam tightly on audio reactive stuff. I tend to have slower moving textural stuff happening in Structure, which I take into the Visual Cortex and the rest of the analogue rig if dynamic audio reactive processing is required. Sometimes I bring it into the Cortex through a converter to get it in colour.
I’ve never had a chance to use the Memory Palace. I like the idea of having greater direct control over more parameters than Structure offers. MP seems more ‘modular’ in approach than Structure. It looks to have been designed to sit at any point in a signal flow wheras Structure really wants to be at the end of the chain.
I’d read that the Memory Palace aux input is at full video rate. Does this mean that you can modulate within individual scan lines? Would it also mean that you would only see these modulations a few frames after they happened?

That would be much appreciated, I’m very interested to know. However if as @Marizu says:

I would suspect image loading would suffer a similar or even more significant delay. At this point I’m leaning towards either biting the bullet on a Memory Palace (I too like the modularity of its design) or building a r_e_c_u_r supplemented a small LZX rack or even a 3trinsRGB. The key thing for me is source material; much of my audio work incorporates samples and I would like the visuals to be equally recognizable. The image loading capability are the only thing that really attract me to Structure, the shaders not really fitting my personal aesthetic and the capacity for images and clips seem limited at best. r_e_c_u_r seems to be able to trigger a different clip immediately as long as there is a second to prepare, loading it into the buffer. Compounded with the unlimited storage I think I could make it work for my applications, the key question being how to interface it with my eurorack: a CV-MIDI module or via the GPIO…

I haven’t used Structure for images, but it does seem to load clips in to memory when it starts up, so that might be just the regular Structure latency.

I do sometimes use r_e_c_u_r. I mainly use it for playing video clips. It is good for shaders,too, but that interface isn’t as intuitive as Structure. There is an additional PCB called i_n_c_u_r that is a good way of interfacing with eurorack. It’s supported in the project and it gives you four CV ins, a MIDI socket and a front composite out.
I did some gigs where I had written shaders for r_e_c_u_r that were modulated using CV through i_n_c_u_r. I took the output of the r_e_c_u_r into the analogue system as the basis for tight audio and sequencing reactive effects.

1 Like

r_e_c_u_r is the first thing that has really drawn me into the Raspberry Pi world. Was i_n_c_u_r relatively easy to build?

In general what sort of parameters of video playback can you manipulate by way of CV? I know you can trigger clip change. Are you able to scrub/navigate through video by way of CV? Change speed?

1 Like

i_n_c_u_r was easy to build. Easier than a Cadet. There are very few components. Its PCB files are in the gitub repository i_n_c_u_r pcb. I didn’t get round to populating the MIDI or the Composite out.

I can’t remember. I only ever controlled shader parameters with them. The videos that I used were more ambient and got manipulated in the analogue realm. Unfortunately, I probably won’t have access to my r_e_c_u_r to check this within the next couple of weeks. Maybe someone on the
https://scanlines.xyz/ forum or the facebook group could help with that.

1 Like

I bought the very first Structure to roll off the production line. I literally bought it from Rick of Erogenous Tones directly. It’s a great module but not LZX. LZX and Structure are different animals. I love the node building process of Structure but I prefer the patching of LZX. They both serve their purpose though.

3 Likes

Hey all,

Lots of great points here about different aspects of these modules. Sorry I’ve been pretty much absent from the forum for months. One thing I wanted to share that I think is awesome, is the new Structure firmware update includes multiple assignable internal/virtual LFOs. So… previously I would pair Structure with a quad-LFO module in a small case… but I recently split them up because I longer need those external LFOs to accomplish the modulation/animation I want. Granted, the immediate adjustability of a dedicated LFO module is still preferable, but I’ve enjoyed freeing up my LFOs for other uses.

2 Likes

They continue to have excellent updates for Structure. This last one that added all the internal LFOs really helps get patches moving and morphing without any additional modules.

4 Likes

I like to play with a lot of 240p video sources, like game systems. Structure handles those like a champion, where they can be sent into LZX land and play nicely. I tried sending some into TBC2, and it didn’t handle them well, so for me Structure will stay indispensable.

1 Like

Thank you for information! :pray:

I am waiting for the arrival of TBC2.

I was thinking of using the TBC2 for input of 240p sources such as Ming Mecca, but it’s very sad to hear that it doesn’t work well… :weary:

Stay tuned. I know Lars wants 240p to work well, so I’m sure the bugs will get sorted out.

2 Likes

I got it working this morning. It’ll be in the 1.0.1 update.

7 Likes

scaler
and
FDel
these sound like fun parameters to play with!