soyuz (scrolling sequencer) updated 20th apr

  • It would be great if we could save note setup and patterns to a file so that people that are using max runtime can recall all their work after closing/re-opening max.

    er, is that already possible? any patterns i've stored as a pattern preset isn't there anymore the next time i open max.

    It would be amazing to recall the presets by keystrokes as well.

  • I may need some other people's help in testing this further, but I seem to be encountering clock sync issues with Ableton Live with Soyuz.

    I have Soyuz set to 'External' and listening to IAC Bus 1 for clock sync in Ableton. I then have the output of IAC Bus 1 in Ableton set to Sync.

    If you turn on the metronome in Ableton and set a simple pattern in Soyuz to match, you should be able to hear pretty quickly that its off. I can confirm this when recording quantized clips as well, you can see the recorded midi notes are off. There also seem to be double notes that get recorded for some reason (perhaps a different topic)

    Anyway, I've tried delaying the midi clock output to match the 'total latency' (something done in pages setup) but that only helps a little. Delaying the midi clock to about -40ms seems to bring it much closer to synced...but that seems extreme. Any idea what's going on here?

  • hi stephen and griotspeak, i have made a version that works on 128's (which is what I have). It is also possible to scroll using the monome alone. The way you do this is doubleclick on the lowest button to the left and pressing the flashing buttons to the right.

    I really enjoy the mlr style skipper!

  • it would be cool if you could scroll using the tilt feature on the 64.
    i'm excited to try this 128 version. thanks!

  • interesting points folks.

    @mapmap - the very first thing i thought of was using tilt for scrolling. i discounted it because i thought it would be kind of hard to have nice, easy control (i had visions of people staggering around like clowns trying to hold one of those giant plates of jelly trying to get the page they wanted). i could put it together and see though. actually, this has just given me an idea - conway's life on the 64 using the tilt to navigate over a huge grid. that would be sicknesh.

    @groitspeak - nice idea! can i detect a bit of my "segmented patch cords OCD" patching style rubbing off on you?

    @eimhin - you can save note setups right? they stay between opening and closing sessions? (because they're saved to notes.xml? like i say, i'm not guru on using [pattr] objects). i could change the sequence-saver to use the same system. i guess because it currently uses the [preset] object, they're not saved for runtime users maybe?

    regarding the whole preset system - can i get a show of hands regarding who would prefer a single system of saving presets, and who would like to keep the two separate?

    @emergencyofstate - that clock thing is weird. i'll take a look - i did some quick tests with ableton when i implemented it, and it seemed fine on my system. but i could well be wrong.

    busy week this week guys, unlike last week. hopefully an unpdate will be coming later in the week.

  • @stephen

    Yeh, I can save note setups, and that works great. If there was an option to save patterns as well, that would make this amazing. I'd definitely be into a single system of saved presets.

    BTW: The pattern sequencer is working for me. I get no response from it. I'm on PC.

  • did the "about" file not make it into the current .zip files? or am i blind?

    edit - duh, it's in the app.

  • hi folks - another small incremental update. i changed how the presets are managed - there are now 10 preset slots, and you can recall them from the number keys 1-0 on the keyboard. you can save them, with names, by choosing a slot in the main window and pressing save.

  • being able to save the pattern presets like this is great, but what happened to saving the note presets?

  • it's all saved together. notes, pattern, all of it.

  • oh, missed that post. i dig them separate, but i like the new way to save patterns too.

  • @ doktor

    Can't get this to work in Max 5 Runtime on my 128.
    Mac OS X 10.5

  • @ emergencyofstate - is the normal version working properly in runtime?

  • .26 works on the 128.

    stephen didnt build .27 off of .26.

    hehe. development trunks are funny like that.

  • ha. ok, ich bad. i should've checked out .26 first. i had a look now. it's nice, though i couldn't get the monome scrolling to work. anyway, what i'll try to do is create a version .28 that will have a bit of everything. though that might be hard if i'm not sure how it works...

  • ok, this may be a faux pas in development ettiquette, hope i'm not stepping on anyone's toes, but this is version 0.28, which has nothing "new", but is an amalgam of 128 support from doktor syntax's 0.26, and the preset system from my 0.28. it doesn't have scrolling from the monome. i couldn't get that to work.

    128 users, please take this boy for a drive. or buy me a 128 for "development purposes". cheers.

  • yo stephen, it's working on my 128. It's a shame that the monome scrolling didn't make it. But I guess I can just copy/paste it from the old patch.

  • glad it's working. we can soon add the scrolling bit back in, i just felt weird putting in something i didn't understand. but by all means post up a version with it in. i didn't put the preset seq in either. maybe i should.

  • new version rocks and is quickly becoming a very powerful app !

    a few additional thoughts/ideas i had after playing around a bit today... ;)

    running smooth + stable on my 128 and i'm finding i esp like working with it because it runs both as a sequencer on it's own or alternatively launched and in sync with ableton.

    top row of buttons is great for jumping around in a given loop/sequence but maybe there could be a 'start' button on the monome instead of the spacebar?

    i dig the new save/load feature but is also a bit confusing at first... would be more powerful to have customizable banks of presets and then preset numbers within each bank (e.g. bassline bank/preset 1, bassline bank/preset 2, percussion bank preset 1, etc).

    noticed that the tempo only allows in full numbers e.g. my 123.88 bpm track running in ableton only syncs properly if i up it to 124bpm.

    'monome width' option (8/16) does not seem to do anything?

    what does the panic button do?

    no scrolling for second half but does not really bother me as long as audio is there and is in time.

    don't have it running with pages yet but would be a great addition as an alternative sequencer.

    that's all i can think of for now... great work and curious if there is somewhere we can all contribute to the cause?

  • i'm not stephen...but here are some responses

    1. Although i did not implement the preset system, the numbers changing everything is about as nice a situation as can be have 10 presets which do not have to be very different.

    i will say that seperate pattern saving is something i want to figure out.

    2. tempo probably isnt hard to do...i'll see about that.

    3. monome width should actually allow you to use the second half.

    4. sends note off bottons on all notes.

    5. see 3

    6 i think stephen made a version that bound to a different port number ... i don't know how to make a patch with a configurable network setting...i will try that soon.

  • try this out for ports and tempo

  • ah hah. i noticed the bug that was causing me to think it didn't work on my 128.

    the past few versions it has behaved like a 64 initially even with the sequence started and the monome width set to 16. The 'page' has to be changed before the grid will expand to 16 wide.

    I'm a big fan of the different 'built-in presets' for midi note mappings for Drum Rack, Simpler. Seems like the features of Polygome may be able to integrated too?...choosing a mode, base key, transpose options.

  • nice work groitspeak! i didn't know you could change port numbers with (port $1) messages to the [udp] objects. i learned something today. as for the tempo thing - i was foiled by a decimal point. my bad. i do that all the time. i like to think it's because i used pd for a long time before max, and all the numbers there are floating point. though really i'm just forgetful.

    about presets, i think i'm going to keep the system how it is, unless anyone wants to write a new system. i wanted to keep it simple. and i only wanted 10 slots because there are 10 numbers on the keyboard. but an option for scales would be cool too.

    sorry if there are bugs in the 128 version. hard for me to fix.

    out of interest, has anyone used the panic button? i never have, but i like having it there. like a fire alarm.

  • yes I also noticed that pageswitchbeforeitworks thing but I didn't think it would be a problem for anyone. I will fix it when i have the time.
    Also when you load one of the prebuild patterns it switches back to 64 mode, but that's probably just a question of making your own 128 specific patterns.

    I have never used the panic button, don't know what it does..

  • you werent spoiled by a decimal point. 'flonum' instead of 'number'

    that took me a few minutes to find.

    the panic button sends midi note off messages to all notes.

  • "Also when you load one of the prebuild patterns it switches back to 64 mode, but that's probably just a question of making your own 128 specific patterns."

    yeah - that's cos a saved em for me...

    "'flonum' instead of 'number'"

    yeah - that's what i meant. cheers.

  • big ass new version.

    soyuz now scrolls vertically and horizontally! whoop whoop. etc. so there are, in effect 28 rows of notely goodness rather than just 7.

    i also added tentative "support" for 256 and 128 oriented vertically or horizontally. this is kind of untested - i'm fairly sure the horizontal 128 version will work, and i'm fairly sure the others will have issues. please, try them and let me know what goes wrong, and we can go from there.

  • ahh! this is amazing.

  • Tremendous! I only hope that whatever it was I was probably supposed to be doing instead of playing with soyuz all afternoon wasn't that important...

    - c -

    Oh! And if anyone's using this with Reason, try this: Route the MIDI out to a Redrum. Map ten rows to the ten channels in a Redrum device using C1 - A1, and then map just the white notes C2 - E3 and C4 - C5 with a duration of a whole note.

    C2 - E3 will mute voices 1 to 10 respectively, and C4 - C5 will solo voices 1 - 10 respectively, for as long as the note is transmitted (hence the whole note duration).

  • thanks for the advice, scrag. i always knew that certain keys would mute and solo, but i never took the time to figure out which, so this is helpful on a number of levels.

  • WOW... Love V.3.1 This is fast becoming one of the best apps for monome. Absolutely awesome .. have been playing all afternoon. Great with intstrument racks in ableton.

    I am having one small problem that seems to happen time to time. I can't reproduce it every time so i'm not quite sure what is going on . Problem occurs occasionally when I scroll up and down Rows between say a beat and a melody.

    Sometimes the position of the leds on monome are transposed to different lines so they no longer correspond with what you originally programmed . The midi is still triggered in the correct place though .

    Anybody else getting anything similar ??

  • thanks for the comments guys!

    @ fivealive - 3.1 hasn't been very well tested at all yet, so i'm sure there are some ghosts in the machine. i'll try to get some time to test in the next few days and see if i can replicate what you're getting.

  • update with a little change.

    top row now has 2 behaviors. the first (and default) is the MLR Playhead skipping action. the second is scrolling.

    There is a menu to choose the current behavior or you can press period to toggle between behaviors.

    i have assigned the first 4 buttons in scrolling behavior in a way that they act just as the arrow keys do: holding shift makes them jump completely in that direction.

    LEFT RIGHT UP DOWN (i was so tempted to go konami, but this seems more natural)

    and check the note settings should make sense.

    sorry stephen...i have no idea how you get stuff so well lined up.

  • possible bugs:

    128 vertical didn't seem to work in max runtime 5 on OS X. Scrolling works but looks like it still thinks its a 64.

    128 horizontal works fine.

  • I have an idea proposal for a future version of soyuz.
    You know that Live has got the "slice to new midi" feature where you can specify the number og slices and Live makes a new drumrack with the slices. I have been having a lot of fun with this function and the skipper function in soyuz. Then I thought that there isn't far to creating a kind of ableton mlr where you also can step edit the skips and so on.
    I imagine that there could be two pages and several soyuz's sending out midi on different channels. Page 1 could be the skippers one for each soyuz and page two could be the step edit as it is right now.

    I think this would really rock on my monome and make integration with Live easier..

  • nice work groitspeak! i like the midinote bit too. i was thinking that whole area was getting unwieldy. nice.

    "sorry stephen...i have no idea how you get stuff so well lined up." ;) i basically have OCD. i spend ages shuffling boxes left and right. and pressing command+y. i have a milder version of what vlad spears has i suppose. have you ever looked at the inside of balron?

    @emergency of state. yeah - i was afraid of that. i think someone who has one of the larger devices may need to pick up the baton there - how are rows of 16 addressed in the monomeserial protocol?

    @ doktor syntax - can you elaborate a little? sounds interesting, but i'm not sure i get it.

  • Last night I got soyuz and ableton synced up but am totally new to ableton, I would like to know how to assign sound samples to the different channels but have no idea what kind of tutorial to google for. Anyone have any links or suggestions to a relevant tutorial, id like to jump in quickly to start using this app.

  • kind of easy to show with pictures, hard to describe in words. i guess a good place to start would be the "drum rack" preset in soyuz. then, create a drum rack in ableton by dragging the drum rack device from the browser. this will be empty to start with. on the i/o section for the track with the drum rack, set the input to "from max/msp1", and set this as the output in soyuz. input a pattern in soyuz, and play it.

    you should see the pads in the drum rack being triggered. then it's a case of dragging and dropping samples from the browser in live to those pads. if you're not sure how the drum racks in live work, it's time to start digging in the drum rack section of the manual, and the tutorials in the help menu.

  • this is an excellent app!
    no questions or suggestions, just kudos :)

  • used this!

  • @stephen / groitspeak (and other contributors to this app out there that I missed):

    Hey, this app is great. Thanks a lot for your work on this!

    Is it possible to change the app in such a way that one could actually assign midi channel per ROW, rather than one master midi channel?

    That would allow me to send four different channels out to my DAW (logic), so: drum track, bass track, lead, arpeggio (etc.). That would be RAD.


    Tilt: I know some of you have been talking about adding tilt, explicitly for shifting b/w rows/columns. That would be cool.

    But I mainly use tilt for expression. So, again, could you take a look at tilt in an app like polygom

  • ok, so, first off...i looked into the per channel thing and--i THINK--it would take a redesign of how the app sent notes. so i didn't do it before.

    second off... my trial is up :-( so, until i get the funds to pay up, i am out of commission anyway.

  • @groitspeak: okay, gotcha. Would it be feasible to place the midi channel selection in the note setup page? That would allow the same (and even more) flexibility.

    And, bummer about the end of your trial. Sorry about that.

    I think I would like to set up a fund for helping all of you great monome app developers out there to pay for the (unbelievably expensive) cost of Max/msp. And also to pay for up-grades to 5 for others that already have the previous edition!


  • hi guys - interesting points.

    groitspeak is right that adding channel selections to the note setup page is note as simple as it looks, though i think it might not be to hard either. i'll take a look.

    we talked about using tilt/accel for scrolling before, and i did put it in in an early version, but i took it out again because it was kind of unwieldy. but i might look at it again.

    i think tetramorph is right that tilt is more useful for expression. i'm going to look into the idea of having toggleable-per-channel CCs which can be sent via tilt.

  • @ groitspeak - i didn't realise you were on a max five trial. wow. good work for saying how long you've been at this.

    it might be a little while before i get round to putting this stuff in. i have a lot to do for school and stuff at the moment.

  • thank you, i hit the tutorials hard. they really are great. after that a nice look monome base and howto.

    finding a nice newborn app helped a whole lot though. so i owe a good amount of my progress to you and the feature requests. heh

  • Has anyone gotten Soyuz to work with Pages? I can't get LED feedback to work, everything else works. I tried three versions of Soyuz and couldn't get any of them to work. Tried using different ports. Works fine when I use Max runtime standalone, but not through Pages. The midi patch from monome base work fine through Pages, so Max/Pages/Monome communication seems fine I guess. Any ideas?

  • did you change the ports?

  • I tried that at first, but Max tied the 8000 port when I load the patch, so I used 8000 for Soyuz, 7000 for Molar and 6000 for MonomeSerial->Pages. I also tried the 1000/1010-version with same result.

  • m'kay - this seems like a recurring thing. i've never used pages (for shame!), but i'll see if i can get it to work.