Databending - Convert raw data into image
Hello,
I want to do databending with Jitter, but I can't find an efficient way to do it.
I made some images by opening raw files in Photoshop and I want to do the same with Jitter.
I made the file "raw_example.jpg" with Photoshop, and it's exactly this kind of visual I want to achieve with Jitter.
I try to open raw files with sfplay and convert it into image with jit.catch and jit.gl.texture, but the result is not even close to what I made with Photoshop.
Any idea ?
Thanks !
Hello,
I'm still stuck with my raw data conversion. Any clues ?
Is there another way to achieve raw data conversion in Max like the one I made with Photoshop ?
Thanks again for your help !
This reminds me of something I built by saving each row of a matrix in an audio buffer and playing them back with spectrocope~ in sonogram mode.
Hello Metamax !
Thanks for you help.
Your matrix was generated by an audio file at first or you created a random matrix ?
I got your patch to work by adding a toggle to jit.world. Changing the framesize attribute of jit.catch~ provided some nice variety.
this patch rules!
Thanks Holland Hopson.
Using the toggle on jit.world was so simple and clever that I didn't even think to do it !
For now, the result is too much clean. I want something more noisy / dirty like the one I made with Photoshop.
And with jit.gl.videoplane, it's very blurry and ugly.
I'm pretty sure that the resolution is too low, so I increase the dim attribute. It look likes less blurry, but with a huge drop of framerate.
Is it possible to keep hi resolution in fullscreen without losing too much FPS ?
With Photoshop, I can made fixed images, but my will is to make an evolving texture with Max keeping the same noisy visual.
Maybe jit.catch~ is not the good tool for that purpose ?
This is the new patch :
you could try throwing a jit.scanwrap in there and playing with different dimension values, also try disabling gl.texture filtering (@filter none):
Thank you Rob ! It's perfect !
I didn't know jit.scanwrap and the filter attribute.
Woo !!
Your patch is so great !
Thanks a lot for sharing. I love the visual.
I will study this patch to understand how you made it.
Thank you again
oh, I just wanted to bring this post up to see if someone had some new ideas to bring in ;)
Haha ! Thanks Yoann !
Yeah, there's always a lot of fun to do with glitch and databending !
Yeah... I should definitely do something new...
I have been looking for a way to databend video with audio for a long time. This is what chat gpt gave me but when I paste it to text in Max it doesn’t become a patch. I’m sure there’s an easy solution or correction to the AI script but I haven’t used Max in a couple of years since I have an academic I’m in touch with who makes stand alone video processors, but nothing like this:
openpanel]
|
[jit.qt.movie @autostart 1 @loop 1] <-- Load any video
|
[jit.qt.movie] -> [jit.rgb2luma] -> [jit.matrix 4 float 640 480] <-- Convert to matrix for processing
|
|-----------------------------
| |
[jit.op @op - @val 1.0] [jit.slide @slide 0.2] <-- Inversion and feedback (echo-like)
| |
|------------[jit.op @op @val 1.0] <-- Combine effects
|
[jit.expr "xsin(t*10)+y*cos(t*10)"] <-- optional audio-style modulation (oscillator)
|
[jit.matrix 4 float 640 480] <-- Output processed matrix
|
[jit.window @size 640 480] <-- Display output in real-time
|
[jit.qt.record @autostart 1 @overwrite 1] <-- Optional: save output video
Also given:
This is what chat gpt gave me but when I paste it to text in Max it doesn’t become a patch.
Haha. Go chatGPT!
//
first message (openpanel) not even a message for jit.qt.movie
//
here is code for first 2 objects
{
"boxes" : [ {
"box" : {
"maxclass" : "message",
"text" : "read",
"patching_rect" : [ 604.0, 77.0, 33.0, 22.0 ],
"id" : "obj-11",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ]
}
}
, {
"box" : {
"maxclass" : "newobj",
"text" : "jit.qt.movie @autostart 1 @loop 1",
"patching_rect" : [ 604.0, 119.0, 186.0, 22.0 ],
"id" : "obj-9",
"numinlets" : 1,
"numoutlets" : 2,
"outlettype" : [ "jit_matrix", "" ]
}
}
],
"lines" : [ {
"patchline" : {
"source" : [ "obj-11", 0 ],
"destination" : [ "obj-9", 0 ]
}
}
],
"appversion" : {
"major" : 9,
"minor" : 0,
"revision" : 9,
"architecture" : "x64",
"modernui" : 1
}
,
"classnamespace" : "box"
}
copy/paste into max
looks like this

//
I will build that chatGPT and see if it work
//
edit: as is, nope