Reason style step sequencer – any ideas?

Apr 2, 2006 at 9:58pm

Reason style step sequencer – any ideas?

Hi all,
I’m making a Reaktor controller surface at the moment and need to create an analogue style step sequencer like the Matrix from Propellerhead Reason.Eg top half for notes, bottom half for velocity.Been playing around with matrixctrl and multislider to find a good way of note/velocity selection but am running into problems; when i change the velocity i hear a note come through, which is annoying when playing around with a running sequence.this also puts the seq ahead of itself by one step.A timing problem also arose but i am using buddy to try to pair up note and velocity info.

Anyway, what im basically after is one the same as the Reason Matrix; mono, notes and velocities, step number change, octave change.The focus is on simplicity and ease of use.

I realise there are similar topics around, so forgive me if I overlap, but I havent seen anything to answer this in particular…

If you have any ideas/suggestions/patches then I would be very grateful.

Thanks,

joe

#25195
Apr 2, 2006 at 10:03pm

EDIT: i thought i was on another forum. are you sure you’re playing with reaktor?

i’m not into reaktor, but isn’t there an object you can store events in, without sending them out? then use the trigger from the sequncer to send them.
hack some ensemble from the library, i’m sure it’s been done to death.

in max prepend set –> message
then metro –>counter –> sel –> bang–> message

a thousand ways to do it really…

#73875
Apr 2, 2006 at 10:08pm

hi,
thanks for the reply,
it could be used to control any synth – its just im using reaktor at the moment…all the seq has to do is output midi information.

I’ll have a go with trigger – thanks for that – that might give me a way of storing the data thus avoiding hearing anthing when i drag the velocitys values.

cheers,

joe

#73876
Apr 2, 2006 at 10:15pm

Quote: joecanti@yahoo.co.uk wrote on Sun, 02 April 2006 16:08
—————————————————-
> hi,
> thanks for the reply,
> it could be used to control any synth – its just im using reaktor at the moment…all the seq has to do is output midi information.
>
> I’ll have a go with trigger – thanks for that – that might give me a way of storing the data thus avoiding hearing anthing when i drag the velocitys values.
>
> cheers,
>
> joe
—————————————————-

hi, sorry, was a bit confused, spending time on a general computer music forum and your post was a bit ambiguous.
post an example patch and i’ll check it out.
i like working with several sliders better than multislider, for a more analogue feel.
i think (prepend) set –> message box is just what you want.

#73877
Apr 2, 2006 at 10:30pm

Sorry yeah – bit confusing.I’m using Max to create the sequencer.I’ll then use midiyoke to plum it into another synth…but it will only be midi data coming out of the Max Seq.

I havent got the patch on this computer, and to be quite honest its not that great anyway – i’m thinking of starting again on it – you know how it is – sometimes it takes a few patches to get your head around certain concepts before you blast it all off on a clean patcher.

But any ideas would be most welcome.Are you familiar with the Matrix sequencer in Reason?

Thanks,

Joe

#73878
Apr 2, 2006 at 10:54pm

Check out my user page at:

http://www.cycling74.com/twiki/bin/view/Share/DarwinGrosse

On the “user pages” page, it just shows the MIDI handler. But on the user
page, at the bottom, is the “QuickStart” set of abstractions. These include
a step sequencer that you can rip apart and use for the function you
describe.

Very similar to the Matrix sequencer, except it doesn’t do the octive
switching. You can add two of them to make the thing you want.

[ddg]
Darwin Grosse

#73879
Apr 3, 2006 at 1:11am

On Apr 2, 2006, at 3:30 PM, Joe Canti wrote:

> But any ideas would be most welcome.Are you familiar with the
> Matrix sequencer in Reason?

One graphic object I’ve always felt has been lacking is a combination
rangebar/multislider – similar to multislider in its display of an
array of data, but with two values, like range. This would allow for
the quick display/editing of “piano-roll” type data.

Yes, I realize that the detonate object offers piano-roll type
editing, but it certainly isn’t as elegant as the multislider (one of
my favorite interface objects in Max).

Any chance of expanding the range object to hold an array?

#73880
Apr 3, 2006 at 3:22am

> One graphic object I’ve always felt has been lacking is a combination
> rangebar/multislider – similar to multislider in its display of an array
> of data, but with two values, like range. This would allow for the quick
> display/editing of “piano-roll” type data.

I’m not sure if I understand you correctly… but have you tried
experimenting with matrixctrl? Here’s a little screen capture from my
UI dustbin (piano roll concept not nearly flexible enough):

http://phossie.com/matrixctrl-example.gif

As you might guess from the three-pic menu near the top, the main
matrixctrl uses the clickvalue message and optionally the one/column
message. (The piano roll is also a matrixctrl so that the whole view
can be scrolled.)

Has anyone made a drop-in jsui replacement for matrixctrl sporting
dynamic resize (in the sense of multislider)?

#73881
Apr 3, 2006 at 9:00am

one of the problems I see with emulating the reason step sequencer is
the idea of note-link which is not possible with just note on/off and
velocity. in other words changing the velocity of a note midi note.
it seems as though reasons CV/note in scheme works as shown below.
this means your instrument actually generates two sets of data from
your CV stream. noteon/off and a modifier value

UPON : every CV message going from zero to nonzero
DO: note on message with velocity x

UPON every CV change with no note on change
DO: change a specific parameter

UPON every CV message going from nonzero to zero
DO: end note

AS FOR NOTE/STEP DISPLAYING:

There’s no EASY answer yet in max yet. if your going to try it with
matrixctrl, you’ll have to write a couple of simple sub programs.
I’ve outlined them here. It looks long, its not. I just made sure
you could follow the instructions..

ABSTRACT: you need a way to interface between the absolute data in
storage and the relative data in your display.

DEFINITIONS:
noteDisplaySpan = currently displayed notes (ex: from f2 through g3
or something)
stepDisplaySpan = currently displayed steps (ex:16 through 32)
Matrix.x = x value relative to matrixctrl (relative to stepDisplaySpan)
Matrix.y = y value relative to matrixctrl (relative to noteDisplaySpan)
pitch = pitch number (absolute)
step = step number (absolute)
storage = where ever you choose to store (I suggest a coll)

1: translate matrixctrl to STORAGE
PSEUDO CODE:
***INPUT: matrix.X, matrix.y, noteDisplaySpan, stepDisplaySpan
***MUNGE: translate matrix.X to step given stepDisplaySpan
***MUNGE: translate matrix.Y to pitch given noteDisplaySpan
***MUNGE: format above munged values into commands to send to storage
***OUTPUT: step/pitch as commands to STORAGE

EXAMPLE:
***INPUT: 2,4, [notes 50 through 59] [steps 9 through 16]
***MUNGE: 50+2 = 52
***MUNGE: 4+9= 13
***OUTPUT: message for coll: nsub 13 1 52 ( stores value 52 in
1st list element of step 13 in coll )

2 translate STORAGE to matrixctrl
PSEUDO CODE:
***INPUT: step, pitch noteDisplaySpan, stepDisplaySpan
***MUNGE: translate pitch to Matrix.Y given noteDisplaySpan
***MUNGE: translate step to Matrix.X given stepDisplaySpan
***MUNGE:format above munged values to send to matrixctrl
***OUPUT: matrix.X, matrixY as commands to matrixctrl

EXAMPLE:
***INPUT: 13,52 [notes 50 through 59] [steps 9 through 16]
***MUNGE: 52-50 = 2
***MUNGE:13-9=4
***OUTPUT: message for matrixctrl: 2 4 1 (turns cell 2,4 on)

as always let us know how it turns out. and if you have any reusable
code, please take the time to post it. good luck
-matt

#73882
Apr 3, 2006 at 11:18am

maybe you should take a look at Lobjects… there is a gui stepsequencer included.

#73883
Apr 3, 2006 at 12:32pm

Hi,

thanks for the replys…

I’ve uploaded the sequencer(.zip).i uploaded it because of the pict file, so you need to extract it all before you try it out.Thanks Darwin – i had a look at your seq and used the count bit in mine to get the matrixctrl to count and reset itself.

I’ve also used a +0 system in the sub patch so that when you drag the velocities nothing is heard until that particular step is banged through.This is a lot more solid than the last seq as the last one used gates and they all needed to be reset…

have a look, and if anyone can give me clues on implementing an octive changer rather than just a pitch shifter (if you shift up an octive, then back down again, i want it to remember the notes – kind of like having a 4/5 octive multislider, but only being able to see 1 octive and scrolling up and down to reveal the others??)

Thanks for your help,
joe

ps not sure if the upload worked…i browsed then clicked upload file but i cant see it anywhere??

#73884
Apr 3, 2006 at 1:25pm

Joe I have posted a thread myself on an area related to my matrix style step sequencer. I use gizmo~ to change the pitch of my waves. Feel free to take a look at the patch I posted in the “ASDR for step sequencer” (its in sub patch waveforms1)

Will

#73885
Apr 3, 2006 at 3:51pm

Afaik, the forum doesn’t support attachments (yet?). You’ll have to paste it as text and upload the pict somewhere else.
For those of us reading this via mail, I notice that the forum doesn’t re-post updated posts either, so it’s probably best to answer your own post, rather than updating it – I was about to ask ‘uploaded where ?!’ until I thought to look on the forum itself ;-)
cheers
Roger

#73886
Apr 3, 2006 at 4:28pm

roger.carruthers wrote:

> Afaik, the forum doesn’t support attachments (yet?).

No, it doesn’t (yet). Attachments are also frowned upon for the time
being, for reasons outlined in this thread:

http://www.cycling74.com/forums/index.php?t=msg&th=18885

> For those of us
> reading this via mail, I notice that the forum doesn’t re-post
> updated posts either, so it’s probably best to answer your own post,
> rather than updating it

Note that you only have a 15 minute time frame to update your post in
the forum, which wouldn’t allow you to go back and revisit a post in the
manner you’re suggesting. Originally, we weren’t going to even allow
post editing, but felt like the 15-minute time limit was an acceptable
compromise, given that, as you point out, edits are not re-posted.

cheers

w

#73887
Apr 3, 2006 at 4:56pm

hi,
didnt realise uploads were frowned upon…i guess the upload file bit at the bottom of where you reply shouldnt be used then?

I might put it up somewhere else if i have the time – its not really essential…

cheers,

joe

#73888

You must be logged in to reply to this topic.