MIDI Reactive Visuals
I’m completely new to max and I’m currently working on a patch for some midi reactive visuals, I was hoping some of you may be able to give me a helping hand?
I want some effects (contrast, brightness, saturation) to be reactive to midi signals but my effects don’t seem to be doing anything and I’m not too sure what else I’ve forgotten that may be needed so I’ll leave a screen print of the patch below.
Maybe have a read of the Max tutorial on Basic MIDI. Also Max Basic Tutorial 3 Numbers and Lists – should help. Once you’ve read them it should be simple enough to pick an object and send it MIDI notes. You might have to use the [scale] object to scale MIDI values to values you can use with the object you choose.
sorry not MIDI notes – MIDI CC’s
Thanks! That’s such a big help :D I’ve been stuck on this patch for a month so now I have some info to go ahead with.
Send your movie into a jit.gl.slab effect (brocosa if I’m correct) this has the brightness,contrast and saturation effects all in one and works with very basic messages. Eg. brightness $1. Then plug this into a video plane.
With this setup you move your video processing onto the GPU which is far more efficient.
I honestly have a very basic understanding of Max (I’m currently learning it at uni but my tutors only deal with Synths not visuals) so if you could elaborate on what you said would be great!
----------begin_max5_patcher---------- 1818.3oc6at0aaaCE.94jeEb5ksBjHPRcunOrgtGWAFF1KCqCAzRz1pUhzUh JWVQ+uuCIkbbbiTjSjST.FPPhI0sC+NW4QNe8zSbVHulW6fdK5uQmbxWO8jS LSom3j1wm3TxtNsfUaNMmTYYIWnbNydLE+ZkYdLpLWjW1ThHzHDbI5O+QA1E I3Ws8X9sCsG18iheUJ9QEZorZEWgTq4nkMEEnZkbCRIQY7TVQEGkKT7U7J8T ajv.zOfd6a5DghbAOU1HLxQP6jhlRYipfqLRMtc1MLU55bwpKp3oJ6pNAG6h OCQw95+PBBz+IBFf9m1KJOyr.kK9z49gcOzkUqVXtytc26kRgRvJ4lS9WpxY EN6bj57+0bDBc6E.hXtnSBI5491omp+0YiTU.jDDpuSSTCLiivF8.fee2tyv BD0Ma31ktiy103cwEoebEiw6fqjD6fdnUfyjvlvGAa5yL8cuC8mqyqQvORAG IWhtQ1TA1mY4n2+dD7bWvqpuWSK5gZZEGQM1T9Q6XZ440Cr7mUlVFNzqgStl rHmELwp9rg5nUqqtU.idPCqVXEfGzvh9vFVaXUv7Jd0EbAaQAeWc0nnVm7ai bYt7IzNL3bjJeiK5CZCOvXbYkrD7Yg.b.kbgHgvb7uzvJpgIh6rKQ+TtHsnI iaBUheyY1STv4Y05qcAXsVBwPKjLEf21fkYLECUKQoq4oe1bk7qYkaffDRgY XU9p0J260nO5PM5ChRr5QOqQuUqh6SShmSV88or7O2foMU7MbQFBDbX4hXY. zYnRdcMakNGkVIJzgTtZMSwuDxWAwVP05KIW3h9KXfVSYxhUzr5tQdLJIPaI MOJq9FYxNqOe1xk5GIbnRWz62pG0WLXnWC1CMJoFQ5ToHNq9ls5XiNhWe+p2 3CU8FZ0q9ThQuFZUujdxW5E8ZP85cNxjVfi.+lLs9rSEC0eTvpzp.3fY7krl BE5RVQCLkEzoqaO26EudGLdwgt3njjfPHSguuaLLH1S6GYBKpCNdubN30.mo FN+6UZ.qA5hFkRGARB06wpTnR4k4f8ZA6lErzOOM4f8RvtA6GNpubvd9uFvH 4bzuA1o1..Zj4bvPw2V8l+NLoubsdduBJ4UgVf3UrZduUrXJUAJYwdVOPMK2 asbFHEXPl0YrWhgcla74S4J2UEtWlmwkf+ET36GL9Z+rphIpgHYkvRsF1AFs W.B2hKJYpp7q0X7QPPZLvqv3jHfe9VSNu3g3HMbtxwJHkNjc9C6570qE2i.U 9ljqzD61GvACRI+WNJA0YB2idIfoLzwtOg6CCdjcp03ABSk7z1R.HTPx97RV A3ejxuin8JEedT+QiOR3+iu82HC3EFzVJ13XXzqOF1Sbts0ASlzlGEPB2hzc qtMZvHbdjYWdfc3CcJAjODqO3trIlNXz+34LalRzPgB4IQAjHxgX6PClc7oq KB0LUSESkKEGKWL+.hqWjOwOTuEcxfbxa1xoT3wBEsqNB9Y2AP3gADc1BnEl 12I.Wtik+1cMj7FjSj4ZQ6axutaWOq3BfZoxZ1fa2YUwE5aRSE+oukG+3jaQ X3flZjWvX51VxL7dZdD1R1dB2t6Y5vUQ4br6exuWvt4vaYR2tv76ZfDnGS5o fkmbGSfJOSBHwQSEJZ6Q8222j7RNBOkgMZasDIBa26gcPOM+2Y5nBcBoBYRA BNYGf3QMcirGfD7BCjii2eGA7ieXu+Pmibx.XyWURjO9XEhiZVjAgCEeH5EV MqjqVUvG7k693A.dDw3iG41gONA8p3LcUkMBUl7Jgao7xIstIpm1Eus25j3g B.l7BaHLPASWkK.5zVvT.xm.gtBfBZHGi9cRMlNg1vDgC56PvSHy5TioxBYk UTLUlgciSvjjP8mvsehnkmokweQ4ZekWdTLhNPLomdu2acNa6nrcuf8hXxqL D2Wgd+A27dEO7Z8rMNs8cFZSa0Krnyth81vD7sOoEq1m7s32OIF6kzB8CkPz n1BfM9pQlWGVbOeG.HaKyqBh4lwy5OHemLyR+7JyIuOBL2eyaDduuyhFYTO+ c4RsroJsyKp6qjF5VwLCrPxE1lvb6IoaF9Nmz57rLtXWoNKuVmsJq+uTPiVd niPd1SnOlxCcL7QuG+mI4QuW3GVdd9zW52sKh7Pxi+yq7fmOxCYDhydx7QUb Fi7rmM12KO6DAEaCd18qcCdNgNgShTOgxCclIOdyL4YTAonOeV8QiQd7d9BR QlYxSxLSeENyR5NF2KxLKno+ymPWlmY9hU2VCpWfYG+zX6KFINd6nivxbL0m EeTVkD65p8++i3aGcDVkiwgv+HtJaaBQql0L5EZUFLybyFSpk4VngwjdNZlI yIu7wfsa1lsYyk7p51mrQdcJYexdeCO6T6+hL1glMv6TwuLu67MeA3cXUoqy U7TyqRU2WfqiCcNU+b91o+GvV4vxb -----------end_max5_patcher-----------
Here you go. I used jit.gl.pix for the brightness/contrast/saturation instead of jit.gl.slab. I really advise you checking out the cycling 74 examples map for amazing examples of video processing !
Thank you so much! You’ve been such a great help. I’ve incorporated it into my patch and it’s working very nicely! I just need to tweak some little things and it’ll be perfect. I’ll check them out, I had a look before and found it very interesting but was a little over whelming since I had no idea about what they were talking about, I’m starting to understand it all though I think it’s just something I’ll pick up over time.
I found open gl much easier to learn than jitter matrixes (which I’m still learning now) the hardest thing to get your head around is the destination context.
Every open gl object such as jit.gl.pix,jit.gl.videplane need a destination context (in the case of this patch the context is jit.gl.render Movie) by stating the destination you tell each object "what it’s associated with".
The jit.gl.render then sends its output to jit.window.
Just try getting some jit.gl.slab/jit.gl.pix effects from the example folder and inserting them into the video feed, you can plug them all into each other, eg, slab 1 to slab 2 to slab 3 and so on. By putting a gate between each jit.gl.slab you can send the video to the effect or bypass it completely.
The videoplane is just there as a "virtual window", any texture you send it will be displayed as if it’s in a window.
So you could easily make 2 videoplanes each with their own movie and put one on each half of the screen by moving them with the position $1 $2 $3 (x y z) command.
Just experiment and you’ll be off in no time !