Livid Instruments Code

Crux's icon

I recently started making a sequencer inspired by the arbitrary function generator from buchlas nesting function although right now im only just starting to lay out the normal sequencer functions, will probably post it when im done in projects area, but now my question is..anymore code-users out there that have done any cool stuff for their controllers specifically?

Morgan's icon

I'm buying one this week – excited to see what you come up with!

Peter Nyboer's icon

Hi,
I haven't done anything super cool in Max for the Code specifically. I did do the Editor and Live Remote Script for it, and have been slowly working on an alternate Live script for it that specifically works with Griid. I've been hoping someone would do a cool sequencer with it.
I do have some js code that is useful for translating and scaling MIDI into pattr messages (i.e., controller 15 into "Synth::Volume 0.8"), and I have other code that is useful for automatically detecting a Livid controller on the MIDI port. Lots of nuts n bolts. Let me know if you need any help.
Peter Nyboer
Livid Instruments

Crux's icon

My patches are not the most elegant in the world and i often think there is a better and more elegant way to do something but i often only use the objects i have a firm grasp on what they do without having to delve in too deep into them to understand them..mostly because when i start working on a patch i dont want to stop and read alot and sit and try and understand an objects usefulness and workings for half an hour..

completed most of the standard sequencer functions..BPM to MS converter and such in place..
ive started on the routing for a menu system with the 5 function buttons to the left..the logo-button being the "master"-page so to speak where every knob is just pitch for their corresponding step whereas the other four are the 8 first steps for the first and their the first row represents the first step and is pitch velocity nesting step and nesting counter..

the ugliest thing ive done soo far is..not finding a way to make a constant bang start when my radio-button indicates 4 so i made a metro at ms 1 thats gated when it stands on 4..toggle just toggled on off when 4 became true..with both select and ==
but this solution works as long as you dont except any parameters to move faster than 1 step per ms!, this constant bang is for the mass-send i use for the page-routing of my ctlin-objects

yeah im kinda of a max-noob so thats why i do ugly solutions like this..started learning PD at the end of last year and now im doing max...still on demo, gonna buy it when its over though i think..i love it soo much and now with the lower price..wow!

Peter Nyboer's icon

STOP!
Ok, first thing you need to do is study the help file for the "transport" object. This will centralize your timing and make things more accurate and musical. It provides break downs of time into bars, beats, and units and you can easily detect events along those lines.
Also reference the "Time Value Syntax" (just search for that) in the Max Help window, or use the online version
https://cycling74.com/docs/max5/vignettes/core/maxtime_syntax.html
so you can learn how to sync your metro(s) and timing objects with the current tempo that the transport object is using. The "Global Transport" window in the Extras menu in Max5 is a decent UI for transport.
You may also find that the live.step object is worth designing around, as it provides a UI and direction for sequencing, plus it can be readily integrated in to Live if you ever go that direction.
Another suggestion is the "tab" object (it's an array of buttons), which can be a nice UI substitute for umenu when you only have a few, fixed items.

Crux's icon

Aah, thats a nice BPM-using object for more musical setting, heh just did it with some math to make BPM into MS but this might be even better.

One thing ive been thinking about is note lenght also but maybe would have to make my nesting-functions more complicated to navigate then or make more pages of knobs in that case..

Although gate-time/notelenght has been somewhat of a minor consern of mine since ive mostly thought of it as a over time evolving modulation sequencer..although it has a trigger-track it is not one of the features that has been given most focus so far.

Crux's icon

Hmm do i have to have max for live to use that object inside of normal max and can i use it to make standalone programs?
Also, do you know if that can use an external counter? since a big reason i love the counter in max is that i can set so the next tick on the counter becomes any number i wish on the next tick of the clock.

Peter Nyboer's icon

You can use live.step in a standalone and it's in regular max as far as I can tell. If it is not, install max for live, and you'll have it. You don't need to own M4L to use it - there's nothing special about it. If you want to use it in Live, however, you will, of course have to own M4L!
Yes, it has an external control - see the live.step helpfile and the [p "Counter Driven Sequencing"]
P

Crux's icon

Looking at some help-files and the documentations on this website right now while working along on the sequencer, right now im working on my menu system and pages in it a bit and routings and such, will upload a patch when im done with the main features at least and you can see how it turned out, thanks for all the tips! always nice to hear from someone a bit more experienced in this..

And that live.step was nice..but right now i was trying to build a 32 step sequencer..since that is the numbers of knobs the code has and couldnt really find how to do that with that sequencer..probably could with 2 counters that go of one after another one counting 1-3-4-5-6-7-16 then that setting of the other one maybe? either way that sounds like a hassle...and the most cool with the live.step was that it looked soo damned nice..and im more into trying to keep my eyes on the code and making it give as much of the visual feedback as possible.

And a question especially about the Code..if i send it a controller value back to it..does it set that CC#'s encoder value to that value?
like if i send CC 1 out to it it sets the controller to the value i send? trying to make pages for it so this is relevant for it that.

that probably would be nice as a little sub-patch that could be really nice for..alot of things like different presets and such by using the function-buttons or the like..

Reason i want to know about feeding back CC is because i want to be able to set it to the value that the page i go into is on..if you understand what im saying, i know the knobs dont have a physical place they are standing, but in the firmware they are probably on some point along the 0-127 right? so if i send the position when i come to another page and go back from it i want it to switch back and forth from standing in that being in that 'position'.

Peter Nyboer's icon

You can use the "nstep" message to live.step to set the number of steps, so nstep 32 would give you 32 steps.
Regarding pages: yes!
For example, if you have the Code set to default settings, and you send it CCs 1-4 value 63, all the LEDs for the rings in the first column of encoders will move to the center, and when you turn those encoders, they will start sending values starting at 63.

Crux's icon

Aah, nice then i can do a much more tidy sequencer with this! heh will have to remake a bit of the sequencer probably but thats okay cuz it will be better this way..and go faster!..will have layers all done in the sequencer..AND NOTE LENGHT woho!..also a bit of the parameter pages will be done since the live.step seems to have a bit of that although i believe i will still have to make the feedback system to make sure when i switch between pages the encoders start where i am in on the encoder..will probably just remove most of my patch and use my current ctlin-system to make a subpatch for the whole feedback and input thing..and then i will just need a single live-step and done! this way i can also easily reuse the CTLIN subpatch for other patches involving the code.^^

Peter Nyboer's icon

I just posted this http://bit.ly/nYZKlw about a nice way to integrate MIDI into projects.

Crux's icon

Thanks for telling me about this i will delve right into it to see if it helps me, which it probably will!^^

and yeah the old logo was way cooler.^^

amounra's icon

I haven't taken a look at what you're doing yet, but you might also want to check out the Codec control script for the Code....it does a lot of the addressing stuff for you, and allows easy assignment (er....once you figure it out, its pretty easy). Just install Monomodular, and check out the Monomods_help patch for features. There's also Binary, a patch I built around the idea of Code based sequencer.

a

Crux's icon

Ah, nice i will check it out!

Hans Mittendorf's icon

@Peter
just got my OHM64.
How is Max6 in regards to midi and OHM64?

Peter Nyboer's icon

It's friendly! You can use the same midi code I posted in the link above to make things easy. The OhmSound synth on our website is all built in Max5. It's slightly crazy, but it's well documented. There's also the LividStep sequencer. Also has a bit of code cleanup - I was a bit afraid to go full javascript when I made it, so there's some gymnastics that, hopefully, someday, I'll make nicer.

ziggomatic's icon

I have owned a Livid Code since March of this year to do exactly what you are interested in (building a Buchla 250e/251e inspired step Sequencer). So far I have mostly positive feedback of the Code, it really is a great controller for all of its functionality. It does have a couple minor bugs that I have gotten somewhat used to, but overall I am totally in love with it.

I have spent several months working on my Max Sequencer instrument, it has grown to an insanely complex instrument at this point, I might have gone a little overkill on the features, but wow is it a fun sequencer to play with! My patch (M4L version) has been at about 92-95% complete for the past couple months, I would really like to work out all the bugs so I can confidently share the patch with other Code users like yourself.

The hardest part of the system was definitely building a bullet proof "nested looping" feature similar to the Buchla 250e, in theory it seems simple to create, but when you add in variable sequence length, stage time, offset, reset sync, etc, it became MUCH more complicated to get working successfully.

Happy to see others on here with the same ideas.

Chris Muir's icon

I've been thinking of integrating a code into my Gyre sequencer. Right now it is driven from a block, and works well, but it could always be better. ("it could always be better" is sort of the curse of writing your own software)

My problem is that I can't decide whether to swap out the block for an OhmRGB, or get a code. Either way it would be an improvement. Either way it would take time to integrate fully.

Crux's icon

Wow, thats great ziggomatic..i havent gotten further than doing learn/implementing led-feedback to some extent..everything gets more complicated as you start it feels just like you said..i used the live.step since it already has alot of features like a way to feedback through dumping and also changing which layer you want to edit..and also note lenght!..then i just need to make the two extra tracks into parameters for the nesting...but still it takes me forever(though i havent really put in the proper time into it i feel..)

Darwin Grosse's icon

FWIW, I'm going to have a basic sequencing tutorial for the Code up on the site (and the front page) on Monday or so. There are also going to be some follow-up articles from Some Guest Stars, so it's going to get a little love over the next month or so...

Just thought I'd throw that into the mix.

[ddg]

Hans Mittendorf's icon

Thank you Darwin,that will give us a Happy New Year.

Crux's icon

Would love to hear how it is going for you with your sequencer Ziggomatic..have you worked any more on it recently?^^

Hans Mittendorf's icon

hello Darwin,

is the project moving on?

Peter Nyboer's icon

Darwin posted a full description last week!
https://cycling74.com/2012/01/04/working-with-hardware-livid-instruments’-code/
more coming this week - keep an eye on the C74 homepage.

Crux's icon

Ive been driving my whole house insane with this patch today in combination with buchtys SQ80 emulation vst..mmm..how i love my Code..

its like..Robert Smiths hair is my patch..then this is..someone with very very silky and well combed hair..

Darwin Grosse's icon

Wow, Crux - thanks for the compliment.

But, alas, my hair is grey and greasy; I've spent many, many years with Max, and I don't have much time for showers when there is more patching to do!

Also, with the whole world looking over my patches, they'd better be pretty.

[ddg]

Hans Mittendorf's icon

Is Peter coming out with some code?
cheers

Peter Nyboer's icon
Crux's icon

So, ive finally actually bought max/msp and am not only using demo..so now im able to continue this project not only on paper...this is gonna be fun..although probably still a bit messy.

Crux's icon

And now..a while later i understand the awesome power of CodeSetup....i will start from scratch with my sequencer cuz this will make it all better..only thing im gonna have to get a hang of is doing the same thing this patch is doing with encoders to button and led-states..then im golden.

Peter Nyboer's icon

I did some updates on Darwin's simple sequencer yesterday, adding a few bells and whistles:
http://blog.lividinstruments.com/2012/11/29/darwins-code-step-sequencer-an-evolution/
It was difficult to finish once I got it hooked up to Reason. I really just wanted to play with it. Peter Elsea had a great "touchstone" about the problem of evaluating your work: "You know it's good when you want to play with it."

Peter Nyboer's icon

But wait, there's more! Expanded and modified again. I'll save my fingers - if you care, just check out: http://blog.lividinstruments.com/?p=33854