Jump to content

MIDIbox SEQ V3 Teaser: additional wishes


cheater
 Share

Recommended Posts

Hey TK! That's a great demo!

I've actually happened to stumble upon it on YouTube - first I was looking at the FSOL gear list, then searching for some of the gear on google (looking it up)... then ended up on a website called matrix synth which happened to feature your MB SID demo as a youtube embedded video. When I went to look at it in YouTube to read the comments, I noticed the MB SEQ demo in the links.... and then, I watched it. This brings me to two realizations....

1. You Tube really made movies *possible* on a large scope in websites. Putting a video on your website has never been easier (now that there are no bandwidth considerations and no problems with embedded players' compatibility)

2. It's cool to promote... people, if you have a camera, post your demos on You Tube! :) More interest for the ucapps projects!

TK: the midibox projects have come a long way. I must say most projects simply declass a lot of commercial stuff, and things like the Midibox SEQ are so new (and so wanted!), they simply have no competition. Thanks to TK and the MIDIBOX community :):):):):):):):):):):):):):):):):):):):):):):):)

Questions to TK:

1. how did you make that synth patch? I've been trying to do something like that for a loooong time... no success!

2. since the sequencer will feature 32 steps, will it support 32 knobs/etc? Perhaps two rows of LCDs (with the bottom row offset to the right to line up with a lower row of 16 offset knobs)

And perhaps.. an addition to the wishlist.... if the SEQ is playing, and you'd manipulate a special knob, the movement for this bar (of 16/32 steps etc) would be recorded and later played back like a MIDI LFO of sorts (unless you move the knob - then that part where you move the knob would be "overdubbed"). think it would be very nice for controlling e.g. notes with the step sequencer and filter or distortion or some other effects with that LFO-thing. This would work best if the resolution was higher than one update per step, best if you could controll it fluidly. No idea if this is possible - due to RAM constraints.. but perhaps if you could switch a track to that LFO-mode it would give you just enough memory to do that? If you got this far TK, thanks for reading :)

Link to comment
Share on other sites

Thanks :)

Yes, You Tube is a nice way for sharing videos, on the other hand I have to take care, that people don't get the wrong impression. E.g., one guy assumed that the timings of MBSEQ are unstable, either because of the sounds that I used (some can only be heart in the bass range, you won't hear them with laptop speakers), or because of the unusual combination of shuffle and step jumps which I only used to demonstrate the possibility for finding a groove just by tweaking the step progression parameters.

And the other point is, that some people assumed that I'm selling this stuff. Thats also the reason why I've (maybe temporary, maybe forever) changed the layout of the ucapps.de mainpage.

The Synth patch is #102 (Whats that?") of the MBSID preset library, it's basically a synched sound, where two oscillators are tuned -24 semitones and modulated by a LFO. In addition, I'm using different portamento values for each voice, which makes the transitions between two notes more interesting.

2: no, I cannot support 32 knobs or buttons - than more of such control elements, than worse the timings. I already spent a lot of effort to keep the timings stable (preemptive multitasking, tilewise LCD updates, etc...), and I measured and optimized the responses via scope.

-> before this leads to an endless discussion again: more is not possible, not with a 8bit microcontroller. Maybe with a 16bit or 32bit controller, but let's discuss about this in 3 years or so... ;-)

Currently you have to switch between step 1-16 and 17-32 with a double click on the edit button. In addition, the sequencer can optionally (!) switch to the second page automatically while these steps are played. This is an option, since sometimes it's better not to switch back and forth...

LFO: this will be a feature of stryd_one's sequencer, no?

I'm not sure, do you mean interpolation between the steps (e.g. 8 contemporary values sent between two steps for smooth CC sweeps), or do you mean stepwise playing (like it is already implemented?).

I fear that interpolation can cause so much MIDI traffic, that the note could be delayed unintentionally. My focus was always on best timings, such features could falsify the results.

I can have it back in my mind if a see a chance, but currently I'm busy enough with other stuff (and with some vacation :))

Something what I could add very easily is the possibility to generate waveforms and to store this automatically into the CC slots. E.g., a sine which goes over 32 steps, or two periods, or four periods, etc... here I must say: I like this idea (so long interpolation between the steps is not required).

Alternatively it will be possible to record CC sweeps anyhow (live recording is already in the whishlist)

Best Regards, Thorsten.

Link to comment
Share on other sites

TK,

The demo still blows my mind everytime I watch it. Since SEQv3 and SIDv2 requires a newer PIC18F4620, are you planning to embed the IIC_MIDI module on the new core? Or are you just going to design another MIDI out circuits to counter the EUSART bug.

thanks..

Link to comment
Share on other sites

Hi DocBrown,

my hope is, that Microchip will provide a revision sooner or later, so that the IIC_MIDI workaround won't be required anymore. Two months ago they finally accepted the bug and documented it into the errata sheet - more than one year after I reported it... now they are under pressure to fix this bug, otherwise the main customers could jump away from PIC based microcontrollers.

So - such a PCB would only increase the number of core module variants, and would make the support even more difficult.

Best Regards, Thorsten.

Link to comment
Share on other sites

Thanks :)

Yes, You Tube is a nice way for sharing videos, on the other hand I have to take care, that people don't get the wrong impression. E.g., one guy assumed that the timings of MBSEQ are unstable, either because of the sounds that I used (some can only be heart in the bass range, you won't hear them with laptop speakers), or because of the unusual combination of shuffle and step jumps which I only used to demonstrate the possibility for finding a groove just by tweaking the step progression parameters.

And the other point is, that some people assumed that I'm selling this stuff. Thats also the reason why I've (maybe temporary, maybe forever) changed the layout of the ucapps.de mainpage.

Definitely exposure is the only way to get some fresh blood with MB SID. And it seems YouTube is a great way to gain a lot of exposure :) - even if the buchla on the same page is more exciting than the MB SID to some, a photo of it will never win with a movie of MB SID :)

Thought of voice overs of what you're doing there on the movies?

Let's hear the sexy voice ;)

The Synth patch is #102 (Whats that?") of the MBSID preset library, it's basically a synched sound, where two oscillators are tuned -24 semitones and modulated by a LFO. In addition, I'm using different portamento values for each voice, which makes the transitions between two notes more interesting.

Hmmmmm... :)

2: no, I cannot support 32 knobs or buttons - than more of such control elements, than worse the timings. I already spent a lot of effort to keep the timings stable (preemptive multitasking, tilewise LCD updates, etc...), and I measured and optimized the responses via scope.

-> before this leads to an endless discussion again: more is not possible, not with a 8bit microcontroller. Maybe with a 16bit or 32bit controller, but let's discuss about this in 3 years or so... ;-)

I take your word for 3 years then ;)

Currently you have to switch between step 1-16 and 17-32 with a double click on the edit button. In addition, the sequencer can optionally (!) switch to the second page automatically while these steps are played. This is an option, since sometimes it's better not to switch back and forth...

perhaps linking up multiple MB_SEQs would be an option?

also:

perhaps editing 1,3,5,...,31 and 2,4,6,...,32 would be a good option - some people might want to find the rough stuff out and then add a step "in between" the existing steps to add variation.

LFO: this will be a feature of stryd_one's sequencer, no?

I'm not sure, do you mean interpolation between the steps (e.g. 8 contemporary values sent between two steps for smooth CC sweeps), or do you mean stepwise playing (like it is already implemented?).

I fear that interpolation can cause so much MIDI traffic, that the note could be delayed unintentionally. My focus was always on best timings, such features could falsify the results.

I can have it back in my mind if a see a chance, but currently I'm busy enough with other stuff (and with some vacation :))

Something what I could add very easily is the possibility to generate waveforms and to store this automatically into the CC slots. E.g., a sine which goes over 32 steps, or two periods, or four periods, etc... here I must say: I like this idea (so long interpolation between the steps is not required).

Alternatively it will be possible to record CC sweeps anyhow (live recording is already in the whishlist)

What I mean is: you move the knob around and it's recorded in "real time", e.g. 10-20 frames per second, for the duration of the pattern's single repeat. Of course that would have to work with the step-seq-ness of the MB SEQ, so I guess it would probably mean: record the controller data at 16x the "step resolution" of the pattern playing (to keep it hi-res).

If you've heard some techno by people like Surgeon or Laurent Garnier, you can understand why and how to use such sweeps.

I don't even want to comment how great it would work controlling the EQ of a mixer - play a (repeatative) techno loop through the mixer and shape it with the EQ and gain, running a loop as well, in sync with the music... that's been my dream for several years :) It would be like having ten hands. I can do that with one, two, perhaps three knobs at the same time (controlling two knobs with the right hand and really concentrating) - but I often play back 6 tracks from Ableton, and I don't have THAT MANY hands ;) also it would free me up to do other stuff... and that's the aim... be able to do more stuff... shape the music beyond imagination, in real time :)

Cheers,

D.

Link to comment
Share on other sites

perhaps linking up multiple MB_SEQs would be an option?

also:

perhaps editing 1,3,5,...,31 and 2,4,6,...,32 would be a good option - some people might want to find the rough stuff out and then add a step "in between" the existing steps to add variation.

Currently I don't have an imagination, how this should be realized user friendly... I mean: how should the user customize such a "screen and button layout" (step assignments to LCD and buttons), and would he really use it, or would he prefer the standard way because the configuration is too difficult and bad documented?

So, if you could give me an exact usage example, how to configure this with the existing MBSEQ hardware (which menu, which encoders/buttons/etc...) I could think about how much effort it would be for me to integrate this.

But at the end I think, that I never would use this by myself. So, there must be strong arguments for such a feature! ;-)

What I mean is: you move the knob around and it's recorded in "real time", e.g. 10-20 frames per second, for the duration of the pattern's single repeat. Of course that would have to work with the step-seq-ness of the MB SEQ, so I guess it would probably mean: record the controller data at 16x the "step resolution" of the pattern playing (to keep it hi-res).

This doesn't match with the concept and won't work. You can only quantisize with the given resolution while recording live, everything else will consume more memory than planned.

Calculation example: currently a pattern consists of 4 tracks, there are 32 steps and 3 layers, makes 384 bytes. There are a lot of parameters for each track, which allocate 128 bytes in addition.

So, a whole pattern takes 512 bytes. Accordingly, 64 patterns can be saved in each 32k BankStick, and 128 in each 64k BankStick.

This is acceptable, and it can be especially handled very *very* fast now with the PIC18F4620 (in addition I integrated a cache mechanism, so that even the BankStick fetching time cannot be regognized anymore :))

But now your idea to save 16 values per step. This would mean, that each pattern has to allocate 16*384 + 128 = 6272 bytes, accordingly only 5 patterns (instead of 64!) could be saved in a 32k BankStick.

And in addition, the step values couldn't be stored in RAM anymore. This is the biggest advantage of the v3 version, your idea would lead to the same situation like with v2

Hope that this makes my point of view more clear...

Best Regards, Thorsten.

Link to comment
Share on other sites

but I often play back 6 tracks from Ableton, and I don't have THAT MANY hands Wink also it would free me up to do other stuff... and that's the aim... be able to do more stuff... shape the music beyond imagination, in real time

mostly clever usage of envelopes and LFOs are doing the same, sometimes even better than manual edited curves. You can control the ENV/LFOs parameters from MBSEQ V3 very easily. E.g., one single track can control three CC's at the same time, or you can assign a track to Note/Velocity and an additional CC (in this case, the length is statically). If this CC controls a modulation source of the synth, you are fine in most cases.

I know, this doesn't help for all cases. But it's an alternative solution of which you propably haven't thought before...

Best Regards, Thorsten.

Link to comment
Share on other sites

mostly clever usage of envelopes and LFOs are doing the same, sometimes even better than manual edited curves. You can control the ENV/LFOs parameters from MBSEQ V3 very easily. E.g., one single track can control three CC's at the same time, or you can assign a track to Note/Velocity and an additional CC (in this case, the length is statically). If this CC controls a modulation source of the synth, you are fine in most cases.

I know, this doesn't help for all cases. But it's an alternative solution of which you propably haven't thought before...

Best Regards, Thorsten.

But I do use envelope followers often! They're fun. But they're not really what you might want, as they don't really reshape the music - they just let you change the dynamics a bit.

You mention your calculation. I looked at the calculations too. If you consider changing the mode of one track to that "other LFO mode" I'm talking about (through a flag in the menu somewhere or whatnot), you could squeeze out 96 bytes = 96 steps that you could interpolate between. 96 steps is a lot for a single bar in fast music like techno, trance, etc, and it's also a lot for slower types of music (where, on the other hand, the transitions don't need to be that fast and responsive). At 145 BPM one bar is little over 1.6 seconds (1.6551724137931034482758620689655...). With 96 steps over that time you get around the update frequency of 58 Hz. That's impressive. It's more than you could ask for. You get that 16*step resolution (actually 24*step), if you decide to squeeze the thing in such a way that the whole "LFO pattern" covers four steps.

Any additional info you could want is: CC number, BPM division/multiplication (for sync), interpolation mode (for very long cycles - e.g. BPM/16 speed), midi channel and... that's all? Sorry if I'm still ignorant of something! Just trying to let you understand the idea that's in my head.

About the step editing: It's just an alternative idea. If you don't like it, you don't like it ;) It's just a general way I edit patterns.. I start up with a general pattern (e.g. four notes to a bar) and then cut up those notes and move them around and make chords in some places, and then look at that, and cut it up into even smaller pieces (4th 8th 16th... 32nd, even 64th sometimes). What you can get is really weird, weird stuff - especially if you sequence chords in 64th progressions. Not to bore you with that though :) And the menus... when changing the step amount of the pattern... maybe you could hold another button and it would "divide up" instead of "enlarging" the pattern?

Wow, that's a lot I've written. I really sometimes wonder about your patience and especially endurance reading dumb ideas like these, TK ;)

MfG :)

Damian

Link to comment
Share on other sites

I splitted the posting to improve the documentation...

Your idea to combine the steps and layers isn't that bad, but increasing the speed in which they are played will require to overwork the whole concept. In addition, the handling will be different in many menu pages.

Things which are normaly obvious will become complicated, especially I hear already the question "Why does the sequencer behave so strange when I switch from any mode to this special "CC multistep mode"?

And why does it send so strange values when I switch back during liveplaying?

(We already had this issue with the drum mode, therefore I removed it, and adapted the overall concept so that it works better)

I can only say: it just doesn't match with the whole concept - not only the programming concept, but also with the user interface. E.g., it won't be so easy anymore to use the progressive parameters, to determine which step should be played on an incoming MIDI position command, to use backward/pendulum/random parameters, etc...

At the end I think that your idea cannot be adapted to the overall concept, and another firmware + another user interface (-> front panel) has to be developed in order to achieve best handling and not only a tinkering solution.

Any additional info you could want is: CC number, BPM division/multiplication (for sync), interpolation mode (for very long cycles - e.g. BPM/16 speed), midi channel and... that's all? Sorry if I'm still ignorant of something! Just trying to let you understand the idea that's in my head.

Currently following values are available for each track:


;;  track record structure
SEQ_TRKMODEx            EQU    0x00    ; track mode
SEQ_TRKEVNTx            EQU    0x01    ; first MIDI byte
SEQ_TRKEVNTCONST1x      EQU    0x02    ; event constant value #1
SEQ_TRKEVNTCONST2x      EQU    0x03    ; event constant value #2
SEQ_TRKEVNTCONST3x      EQU    0x04    ; event constant value #3
SEQ_TRKCHNx            EQU    0x05    ; MIDI channel and port
SEQ_TRKDIR1x            EQU    0x06    ; track direction (mode and replay)
SEQ_TRKDIR2x            EQU    0x07    ; track direction (steps fwd and jump back)
SEQ_TRKDIVx            EQU    0x08    ; clock divider
SEQ_TRKLENx            EQU    0x09    ; track length
SEQ_TRKTRANSPOCTx      EQU    0x0a    ; octave transpose value
SEQ_TRKTRANSPSEMIx      EQU    0x0b    ; semitones transpose value
SEQ_TRKGROOVEx          EQU    0x0c    ; groove mode and intensity
SEQ_TRKMORPHx          EQU    0x0d    ; morph mode
SEQ_TRKHUMANIZEx        EQU    0x0e    ; humanize mode and intensity

SEQ_TRKSPARE1x          EQU    0x0f    ; spare
SEQ_TRKSPARE2x          EQU    0x10
SEQ_TRKSPARE3x          EQU    0x11
SEQ_TRKSPARE4x          EQU    0x12
SEQ_TRKSPARE5x          EQU    0x13

SEQ_TRKMUTED0x          EQU    0x14    ; muted steps 1-8
SEQ_TRKMUTED1x          EQU    0x15    ; muted steps 9-16
SEQ_TRKMUTED2x          EQU    0x16    ; muted steps 17-24
SEQ_TRKMUTED3x          EQU    0x17    ; muted steps 25-32
SEQ_TRKSTEPCTRL1_0x    EQU    0x18    ; step control 1
SEQ_TRKSTEPCTRL1_1x    EQU    0x19
SEQ_TRKSTEPCTRL1_2x    EQU    0x1a
SEQ_TRKSTEPCTRL1_3x    EQU    0x1b
SEQ_TRKSTEPCTRL2_0x    EQU    0x1c    ; step control 2
SEQ_TRKSTEPCTRL2_1x    EQU    0x1d
SEQ_TRKSTEPCTRL2_2x    EQU    0x1e
SEQ_TRKSTEPCTRL2_3x    EQU    0x1f
[/code]

where some of them already have a double or trible definition (e.g. the TRKSTEPCTRL* variables will be assignable to # Skip: skip/accent/glide/roll/random gate/random value).

The purpose of the track constants are also different depending on the selected track mode.

Best Regards, Thorsten.

Link to comment
Share on other sites

Something what could be realized is the possibility to play tracks with a multiplier (so not only a divider).

Since it will be possible to chain tracks, you will be able to combine 4 tracks and play them 4 times faster.

This will result into a chain of 128 steps over 8 beats

A track can send up to 3 CC values at the same time... enough room for controlling different waveforms at the same time.

And all these nice progression parameters (steps back/forward, randomness, repeats, loops, etc...) will still work.

Best Regards, Thorsten.

Link to comment
Share on other sites

Hey TK, thanks for the reply :)

I'm looking forward to a year-long sabbatical and it might give me time to tinker with things like these.

But now ---> sleep time. 2.40 here and at 9.15 I get my hair cut... :)

as for confused users:

a help button that would explain what options mean in the menu could be... very profitable... display simple text and scroll using a rotary (data wheel?) or something... :)

good night TK!

Link to comment
Share on other sites

Something what could be realized is the possibility to play tracks with a multiplier (so not only a divider).

Since it will be possible to chain tracks, you will be able to combine 4 tracks and play them 4 times faster.

That would be AWESOME!!! I'd use a feature like that a LOT, would it be possible to add that to the wishlist?

Link to comment
Share on other sites

From the programming point of view I could support so many gates and CV outputs you ever want.

But I don't want to do the circuit/PCB design + documentation for stuff I never used and tested by myself.

So, if you could develop the circuit, and provide it to the community, I could easily add the driver as "AOUT option #3"

Best Regards, Thorsten.

Link to comment
Share on other sites

That would be AWESOME!!! I'd use a feature like that a LOT, would it be possible to add that to the wishlist?

I've just implemented this - but on the easy way (not so complex like you are planning it for Vx): a track can now run with a resolution of 64th notes, and this value can be divided by 2, 3, 4, 5, ... 64

So: for the normal 16th notes resolution, divider value 4 has to be selected, for 8th notes divider 8, for 32th notes divider 2, etc...

Especially for odd dividers there is an optional synchronisation to the (virtual) master track after 1 bar

And the divider menu page provides a "quick selection" for most common divider values.

menu08_01.gif

Best Regards, Thorsten.

Link to comment
Share on other sites

  • 4 weeks later...

hi TK,

another wish or suggestion : the group selection with the F4 button works fine but there is a limitation: if we want to edit for example 2 tracks at the same time with for example the transpose function (great display;)), we are limited to tracks of the same group...don't worry, i don't plane to transpose all 16 track at the same time  ;D...but maybe it could be possible to implement an "group independant" track select function. maybe holding the "mute" bouton then pressing on appr. GP buton?...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...