2d sequencers


    Oct 07 2007 | 2:19 am
    Hi all,
    I am in the process of constructing a series of 2d sequencing apps for a project of mine, and I was wondering if the Jitter Massive had any good ideas on the matter?
    The apps are all going to be 16x16 grids.
    Right now it's ranging from simple 16-step lines to Game of Life things, but I am really interested in persuing some of the weird styles found on the Tenori-on - like dropping bouncing notes etc.

    • Oct 07 2007 | 2:27 am
      The other 2D sequencer, which from what I've seen is more interesting than the tenori on, is monome: http://monome.org/ .
      wes
      On 10/6/07, Andreas Wetterberg wrote: > Hi all, > > I am in the process of constructing a series of 2d sequencing apps for a > project of mine, and I was wondering if the Jitter Massive had any good > ideas on the matter? > > The apps are all going to be 16x16 grids. > > Right now it's ranging from simple 16-step lines to Game of Life things, > but I am really interested in persuing some of the weird styles found on > the Tenori-on - like dropping bouncing notes etc. >
    • Oct 08 2007 | 4:54 pm
      Hi Wes,
      yeah, the monome stuff is very interesting... unfortunately the most interesting interface of them all, mlr, is so horribly programmed that I am just about to cry... case in point, the main playback portion of mlr: http://covops.dreamhosters.com/dropbox/mlr_pl.gif - to me this is very much CLOSED source, hehe.
      I have a few good ideas for patches, but would still really love to see untraditional sequencers in proper patch form and learn from them . I might cross-post onto the maxMSP list for esoteric sequences in general, but the idea of doing sort of graphically moving sequence patterns in Jitter really intrigues me, and it's something I definitely plan to pursue.
      I also want to take the visual aspect of it to another level and incorporate the sequence data directly into projected visuals, as an ad absurdum twist to Tenori-On and the blinkiness of monome.
      I may modify that sprite generator patch andrew benson posted to work as a sequencing device somehow - that would be a nice way of working.
      I hope the Jitter users here have some inspiring ideas. Andreas.
    • Oct 08 2007 | 5:29 pm
      For a highly non-tradition 2D sequencer perforance and visualization, check out Dave Griffiths performance from Piksel 2006 (http://www.piksel.no/piksel06/videoblog.html go to the bottom of the page and click on the Dave Griffiths link).
      wes
    • Oct 08 2007 | 10:17 pm
      your kiddint me, this patch is the monome mlr engine??!?? Im gonna throw up! How did they manage to design a georgeous piece of machinery and the ugliest begginner looking hack of a patch in the engine? Makes me wonder what the inside of the monome looks like.
    • Oct 08 2007 | 10:47 pm
      also wes, that Dave Griffiths thing is only playing audio for me, should there be video?
    • Oct 08 2007 | 11:02 pm
      Man, that's a little harsh. I'm totally obsessive about clean patching, but I wasn't always. Some people patch messy, probably especially ones concentrating most of their time on designing beautiful hardware. I've opened up my Monome 40h, and the internal layout is super-clean.
      I can also tell you that mlr, while it looks like spaghetti, runs very well. I use it all the time.
      Vlad
      On Oct 8, 2007, at 3:17 PM, Nicholas C. Raftis III wrote:
      > > your kiddint me, this patch is the monome mlr engine??!?? Im gonna > throw up! How did they manage to design a georgeous piece of > machinery and the ugliest begginner looking hack of a patch in the > engine? Makes me wonder what the inside of the monome looks like.
      Vlad Spears Urbi et orbi
    • Oct 08 2007 | 11:15 pm
      Nicholas C. Raftis III skrev: > your kiddint me, this patch is the monome mlr engine??!?? Im gonna throw up! Not even that, this is just the player part of it. It actually consists of 10-15 bpatchers, if memory serves. > How did they manage to design a georgeous piece of machinery and the ugliest begginner looking hack of a patch in the engine? One explanation could be that mlr itself is quite a few years old, probably started when the maker(s??) were relatively new to max... having said that a slicer in max is what, 20 objects? this is just silly.
      Getting back on topic though, lets widen the search parameters a bit here. If I use the 16x16 button matrix to draw into a jit.matrix, how does one most efficiently fetch these values? I use that word deliberately, since what I am in essence looking for is like the [fetch $1] for multislider..
      jit.submatrix? getcell $1 $2? Is there an equivalent getrow/getcolumn?
      Andreas.
    • Oct 08 2007 | 11:32 pm
      Vlad Spears skrev: > I can also tell you that mlr, while it looks like spaghetti, runs very > well. I use it all the time. You're totally right, of course - which is what attracted me to it in the first place... I was just saddened that as an open patch it is almost totally inaccessible.
      Dearest Vlad, could you perhaps take a bit of time here to explain the sequencing paradigm of mlr? Although I have played with it (using lemur->monome conversion) I never quite "got" it, and even the help file doesn't read properly on my pc.
      thanks,
      Andreas.
    • Oct 08 2007 | 11:44 pm
      Yes, there is video. I used VLC to view it.
      wes
      On 10/8/07, Nicholas C. Raftis III wrote: > > also wes, that Dave Griffiths thing is only playing audio for me, should there be video? > -- > -=ili!ili=- www.Axiom-Crux.net -=ili!ili=- >
    • Oct 09 2007 | 12:08 am
      On Oct 8, 2007, at 4:32 PM, Andreas Wetterberg wrote:
      > Dearest Vlad, could you perhaps take a bit of time here to explain > the sequencing paradigm of mlr? Although I have played with it > (using lemur->monome conversion) I never quite "got" it, and even > the help file doesn't read properly on my pc.
      It's a loop cutter with very some nice bells and whistles.
      Loops are laid across the rows of the matrix, and mlr auto-adjusts them to tempo. Pressing a pad in a row jumps playback to that quantized location in the loop, and it keeps on going. Press-hold a start point in a row, press an end point and release both will set a playback loop within the row. Rows are assigned to 4 mute groups. Rows assigned to the same group will mute each other as you play them. The top row is for control: You can record and playback looped patterns of pad presses from the rows below, then play over these looping patterns. You can also control playback, mute and volume of the four groups. There's also live input: you can record loops on the fly, then manipulate them. This is brilliant fun.
      There's a bunch of other little things, like transposition of loops, reversing, variable quantization values, tap tempo, preset saving... it's messy patching, but Brian's written a wonderful app.
      If you like, I can send you the text from the help documentation patch off-list. It's minimal like mlr, but if you play with mlr next to it everything will probably become clear.
      Vlad
      Vlad Spears Urbi et orbi
    • Oct 09 2007 | 2:33 am
      haha I guess I was a little overboard, but damn man when I see monome and that patch next to each other in my mind they just dont make sense, those guys seem like minimalist neat freaks, Im sure the inside is clean as fuck, but why, just why would you make something so awesome and then make the actual sound generating component so messy? its like spreading 30 dollars worth of caviar on a cracker you found on the floor.
    • Oct 09 2007 | 12:51 pm
      yes, and all of dave's stuff is open source too boot, including his excellent fluxus live-coding environment (working mac port soon...): http://www.pawfal.org/Software/fluxus/
      On Oct 8, 2007, at 6:29 PM, Wesley Smith wrote:
      > For a highly non-tradition 2D sequencer perforance and visualization, > check out Dave Griffiths performance from Piksel 2006 > (http://www.piksel.no/piksel06/videoblog.html go to the bottom of the > page and click on the Dave Griffiths link). > > wes > > On 10/8/07, Andreas Wetterberg wrote: >> Hi Wes, >> >> yeah, the monome stuff is very interesting... unfortunately the most >> interesting interface of them all, mlr, is so horribly programmed >> that I >> am just about to cry... case in point, the main playback portion >> of mlr: >> http://covops.dreamhosters.com/dropbox/mlr_pl.gif - to me this is >> very >> much CLOSED source, hehe. >> >> I have a few good ideas for patches, but would still really love >> to see >> untraditional sequencers in proper patch form and learn from them . I >> might cross-post onto the maxMSP list for esoteric sequences in >> general, >> but the idea of doing sort of graphically moving sequence patterns in >> Jitter really intrigues me, and it's something I definitely plan >> to pursue. >> >> I also want to take the visual aspect of it to another level and >> incorporate the sequence data directly into projected visuals, as >> an ad >> absurdum twist to Tenori-On and the blinkiness of monome. >> >> I may modify that sprite generator patch andrew benson posted to >> work as >> a sequencing device somehow - that would be a nice way of working. >> >> I hope the Jitter users here have some inspiring ideas. >> Andreas. >> >> >> Wesley Smith skrev: >>> The other 2D sequencer, which from what I've seen is more >>> interesting >>> than the tenori on, is monome: http://monome.org/ . >>> >>> wes >>> >>> On 10/6/07, Andreas Wetterberg >>> wrote: >>> >>>> Hi all, >>>> >>>> I am in the process of constructing a series of 2d sequencing >>>> apps for a >>>> project of mine, and I was wondering if the Jitter Massive had >>>> any good >>>> ideas on the matter? >>>> >>>> The apps are all going to be 16x16 grids. >>>> >>>> Right now it's ranging from simple 16-step lines to Game of Life >>>> things, >>>> but I am really interested in persuing some of the weird styles >>>> found on >>>> the Tenori-on - like dropping bouncing notes etc. >>>> >>>> >>> >>> . >>> >>> >> >>
    • Oct 09 2007 | 12:52 pm
      Vlad Spears skrev: > > On Oct 8, 2007, at 4:32 PM, Andreas Wetterberg wrote: > >> Dearest Vlad, could you perhaps take a bit of time here to explain >> the sequencing paradigm of mlr? > Pressing a pad in a row jumps playback to that quantized location in > the loop, and it keeps on going. > Press-hold a start point in a row, press an end point and release both > will set a playback loop within the row. Wow, that's all there is to it? hehe, you know, I sometimes have a tendency to overcomplicate things (hence my interest in your 5 way path project) I already have a switching system in place that allows me to change behaviour depending on the amount of depressed keys. Awesome. > If you like, I can send you the text from the help documentation patch > off-list. It's minimal like mlr, but if you play with mlr next to it > everything will probably become clear. I took the time to import and convert into OpenOffice - formatting now alright. Thanks for the offer though.
      Andreas.
    • Oct 09 2007 | 11:03 pm
      right, I finally got down to building a proper jitter sequencer for my Lemur: http://www.youtube.com/watch?v=90EV0ovMzj0
      This is based around two jit.poke~->jit.repos, as wonderfully demonstrated by Andrew Benson.
      I was surprised to see how easy it was to use the Lemur to draw directly into a matrix, but perhaps even more surprised at how easily the data was used as a standard "midi sequence". Here's the bit that takes the matrix and spits it out a noteout - it is a quickie, done for testing, so replace metro with your favorite flavour of sync.
      Cheers, Andreas.
    • Oct 11 2007 | 1:50 pm
      aaarrrrgh!!!
      i was going to be so productive today to, darn you. but now i got distracted and did this (with an example patch of mine for drawing in a matrix tacked on)
    • Oct 12 2007 | 6:51 am
      vvvcool!
      On 10/11/07, evan.raskob [lists] wrote: > > aaarrrrgh!!! > > i was going to be so productive today to, darn you. but now i got > distracted and did this (with an example patch of mine for drawing in > a matrix tacked on) > > > max v2; > #N vpatcher 572 61 1448 785; > #P origin 0 -26; > #P window setfont "Sans Serif" 12.; > #P window linecount 1; > #P comment 362 114 350 196620 click in the pwindow to draw on a 32 x > 32 matrix in color; > #P comment 575 299 92 196620 (color values); > #P window setfont "Sans Serif" 9.; > #P comment 687 432 26 196617 row; > #P number 576 432 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; > #P number 648 432 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; > #P comment 105 627 139 196617 evan.raskob@coventry.ac.uk; > #P comment 105 581 100 196617 by Evan Raskob; > #P comment 105 597 100 196617 Coventry University; > #P window setfont "Sans Serif" 12.; > #N vpatcher 20 74 620 474; > #P origin 16 -23; > #P window setfont "Sans Serif" 12.; > #P window linecount 2; > #P comment 237 324 144 196620 display window is 4X larger than our > martix; > #P window linecount 1; > #P newex 22 215 86 196620 buddy 3; > #P newex 22 331 39 196620 sel 1; > #P newex 201 330 33 196620 / 4.; > #P newex 164 330 33 196620 / 4.; > #P comment 402 160 59 196620 Mac ctrl; > #P comment 338 160 57 196620 opt/ alt; > #P comment 294 159 38 196620 caps; > #P comment 249 159 39 196620 shift; > #P window linecount 2; > #P comment 181 158 70 196620 Mac cmd/ Win ctrl; > #P window linecount 1; > #P comment 77 159 32 196620 x , y; > #P number 402 139 31 12 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; > #P number 353 139 31 12 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; > #P number 294 138 31 12 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; > #P number 250 136 31 12 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; > #P number 193 136 31 12 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; > #P number 141 138 31 12 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; > #P number 98 138 35 12 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; > #P number 61 138 35 12 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; > #P newex 80 104 308 196620 unpack 0 0 0 0 0 0 0 0; > #P newex 80 78 149 196620 route mouse mouseidle; > #P comment 133 159 50 196620 button; > #N comlet mouse data in from jit.pwindow; > #P inlet 80 45 15 0; > #P outlet 22 358 15 0; > #P outlet 164 357 15 0; > #P outlet 201 357 15 0; > #P window linecount 0; > #P comment 32 280 100 196620 set the color when mouse is down (==1); > #P comment 294 32 248 196620 This subpatcher handles mouse > information from the jit.pwindow object; > #B frgb 207 9 255; > #P user panel 267 0 292 73; > #X brgb 223 223 223; > #X frgb 0 0 0; > #X border 0; > #X rounded 0; > #X shadow 0; > #X done; > #P fasten 12 0 27 0 146 187 27 187; > #P lcolor 2; > #P connect 27 0 26 0; > #P connect 26 0 5 0; > #P connect 10 0 27 1; > #P fasten 9 0 10 0 85 130 66 130; > #P connect 6 0 8 0; > #P fasten 8 1 9 0 154 99 85 99; > #P connect 8 0 9 0; > #P fasten 9 1 11 0 127 130 103 130; > #P connect 11 0 27 2; > #P fasten 9 2 12 0 169 130 146 130; > #P fasten 27 1 24 0 65 260 169 260; > #P connect 24 0 4 0; > #P fasten 9 3 13 0 211 130 198 130; > #P fasten 27 2 25 0 103 256 206 256; > #P connect 25 0 3 0; > #P fasten 9 4 14 0 253 130 255 130; > #P fasten 9 5 15 0 295 130 299 130; > #P fasten 9 6 16 0 337 130 358 130; > #P fasten 9 7 17 0 379 130 407 130; > #P pop; > #P newobj 484 404 161 196620 p handleMouseData; > #P window linecount 2; > #P comment 569 159 173 196620 click in the boxes and type a number > from 0-255; > #P window setfont "Sans Serif" 18.; > #P window linecount 1; > #P message 422 142 105 196626 clear , bang; > #P window setfont "Sans Serif" 12.; > #P newex 362 148 50 196620 t b l; > #P window setfont "Sans Serif" 18.; > #P number 593 263 54 18 0 255 3 3 0 0 0 153 153 255 222 222 222 0 0 0; > #P number 593 196 54 18 0 255 3 3 0 0 0 255 156 156 222 222 222 0 0 0; > #P number 593 229 54 18 0 255 3 3 0 0 0 74 156 97 222 222 222 0 0 0; > #P window setfont "Sans Serif" 12.; > #P newex 574 467 226 196620 pack setcell 0 0 val 0 0 0 0; > #P newex 362 182 190 196620 jit.matrix colors 4 char 32 32; > #P user jit.pwindow 365 209 130 130 0 1 1 0 1 0; > #P window setfont "Sans Serif" 9.; > #P comment 495 384 77 196617 mouse drawing; > #P user panel 563 154 202 208; > #X brgb 239 239 239; > #X frgb 214 0 0; > #X border 2; > #X rounded 0; > #X shadow 0; > #X done; > #P user panel 98 574 155 70; > #X brgb 193 210 186; > #X frgb 99 99 99; > #X border 1; > #X rounded 0; > #X shadow 0; > #X done; > #P comment 613 432 21 196617 col; > #P newex 71 194 66 196617 jit.rgb2luma; > #P button 185 85 15 0; > #P newex 71 168 148 196617 jit.matrix colors 4 char 32 32; > #P newex 148 393 40 196617 noteout; > #P newex 148 366 38 196617 pack; > #P newex 148 310 38 196617 unpack; > #P newex 148 284 60 196617 listfunnel; > #P newex 148 337 27 196617 + 36; > #P newex 205 129 40 196617 t i b i; > #P newex 148 257 122 196617 jit.spill @outputmode 1; > #P number 279 196 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; > #P toggle 205 65 15 0; > #P newex 205 84 64 196617 qmetro 100; > #N counter 0 31; > #X flags 0 0; > #P newobj 205 107 66 196617 counter 0 31; > #P message 206 197 63 196617 offset $1 0; > #P user jit.pwindow 278 258 34 130 0 1 0 0 1 0; > #P newex 188 225 126 196617 jit.submatrix @dim 1 32; > #P connect 8 1 14 0; > #P connect 14 0 16 0; > #P connect 0 0 7 0; > #P connect 7 0 10 0; > #P connect 10 0 11 0; > #P connect 11 0 9 0; > #P connect 9 0 12 0; > #P connect 12 0 13 0; > #P connect 11 1 12 1; > #P connect 16 0 0 0; > #P fasten 2 0 0 0 211 219 193 219; > #P connect 5 0 4 0; > #P connect 4 0 3 0; > #P connect 15 0 3 0; > #P connect 3 0 8 0; > #P fasten 8 2 2 0 240 189 211 189; > #P fasten 8 2 6 0 240 189 284 189; > #P fasten 0 0 1 0 193 245 284 245; > #P fasten 23 0 27 0 579 498 355 498 355 144 367 144; > #P fasten 28 0 22 0 427 176 367 176; > #P fasten 27 1 22 0 407 176 367 176; > #P connect 27 0 22 0; > #P connect 22 0 21 0; > #P connect 21 1 30 0; > #P fasten 30 0 23 0 489 461 579 461; > #P connect 30 1 35 0; > #P fasten 30 1 23 1 564 454 609 454; > #P connect 30 2 23 2; > #P connect 30 2 34 0; > #P fasten 25 0 23 5 598 217 729 217; > #P lcolor 2; > #P fasten 24 0 23 6 598 251 759 251; > #P lcolor 2; > #P fasten 26 0 23 7 598 291 789 291; > #P lcolor 2; > #P pop; > >
    • Oct 13 2007 | 10:56 am
      That's great! Now it's *you* that got someone distracted... I took your patch and added a bunch of stuff, see what you think. Nice central idea using color via luminance values, I wonder what other parameters would be interesting to manipulate via color or transparency. Maybe RGB could each do a parameter and alpha indicates velocity?
      The matrixset is really handy to store your patterns, and I also added a seq to record your MIDI.
      Very distracting. I need to sleep...
      --CJ
      --------------------------------
    • Oct 13 2007 | 11:24 am
      Seejay James skrev: > That's great! Alright, then how about a little credit, guys? I don't know, to the guy who did the sequencer? :)
      Andreas. [/shallow]