Jump to content

Poll for Bassline engine


TK.
 Share

Recommended Posts

I've nearly finished the bassline engine and would like to know from the users, which sequencer partitioning they would prefer.

Each patch has an reserved area of 256 bytes for sequences.

Two basslines (left/right SID) will be available, each can play one of x (x=16 or 8 - your choice) sequences of the patch, and you can switch back and forth (measure synchronized or not...) between the sequences, e.g. from a MIDI keyboard by playing another note, or from the control surface.

I'm unsure about the best partitioning of this 256 byte area, therefore would like to know your oppinion.

256 bytes could be divided into 16 * 16step note tracks. Each step of a note track would contain the note itself (C/C#/D/D#...B/C+), the octave (normal, up, down), accent and slide flag

So, like a normal TB303 - this is the first option of this poll

Or I could provide 32 step tracks, but in this case only 8 sequences would be available per patch. (second option)

Maybe an A/B option (chaining) would be better?

Or I could provide a second parameter track which could control an assignable sound parameter (e.g. cutoff or depth). But this would reduce the number of sequences per patch to 8 (third option)

Of course, I could also make the partitioning configurable. But this increases programming effort, makes the usage more complicated and could just lead to the typical "featureitis" (people requesting features which they never use)

So - which implementation would be your choice? - please use the poll form above and don't hesitate to make alternative proposals

Best Regards, Thorsten.

Link to comment
Share on other sites

Hi TK, I tought, if one would want to have 16 sequences, it is possible to use a second patch for the other sequences. In theory one could even use more than 2 patches to create x * 8 sequences.

Maybe it is even possible to define in the patch how many "patch-spaces" a patch occupies, to increase the number of sequences as needed/wanted?

I do think an assignable parameter on a second track is something useful, but on the other hand if one would want to make sophisticated sequences one could just build MBSEQ...

So, I voted for the second parameter track, but would be just as happy with any of the other options, if something I want is not possible with the SID alone, I'll build a SEQ to accompany it.

Cheers,  Alex.

Link to comment
Share on other sites

Hi TK, I tought, if one would want to have 16 sequences, it is possible to use a second patch for the other sequences. In theory one could even use more than 2 patches to create x * 8 sequences.

yes, this is correct. But switching between patches stalls the engine for ca. 250 mS, which is not preferable, therefore my assumption is, that providing as much sequences as possible into a single patch would be better.

It isn't an easy decition, therefore I'm asking here (thanks for the fast feedback btw!)

Maybe it is even possible to define in the patch how many "patch-spaces" a patch occupies, to increase the number of sequences as needed/wanted?

So, a completely user definable partitioning. Thats possible but the configuration will be complicated :-/

I do think an assignable parameter on a second track is something useful, but on the other hand if one would want to make sophisticated sequences one could just build MBSEQ...

Yes, using a MBSEQ is still the most preferable option :)

With a lead patch, 4 tracks per step can be processed, so it would be a good alternative solution, but entering sequences is much more time consuming than the current implementation of the "simple" bassline sequence editor (it still fits in a single 2x20 screen)

Best Regards, Thorsten.

Link to comment
Share on other sites

yes, this is correct. But switching between patches stalls the engine for ca. 250 mS, which is not preferable, therefore my assumption is, that providing as much sequences as possible into a single patch would be better.

I didn't think about that, you are right, it's not preferrable

So, a completely user definable partitioning. Thats possible but the configuration will be complicated :-/

You probably alrady tought about this:

If you use 2 bits in the header of a patch to tell what kind of 4 possible patch configurations is used one could already choose between the current 3 options (standard 16x16 track, 16x8 track with parametertrack, 32x16 track), that is, if there are 2 free bits in the header. With 3 bits 8 options are available, for example to tell the engine this is a patch with double length tracks.

I have absolutely no programming experience and can't predict the impact on the CPU load and programming effort, so if I'm talking crap please tell me ;)

Yes, using a MBSEQ is still the most preferable option :)

With a lead patch, 4 tracks per step can be processed, so it would be a good alternative solution, but entering sequences is much more time consuming than the current implementation of the "simple" bassline sequence editor (it still fits in a single 2x20 screen)

Then I would advise: keep it simple. Users who require sophisticated loops must make MBSEQ. I would love to build both MBSIDV2 and MBSEQ in the same case, to create an UberMonsterMidiBOX  ;D

...but that's just me.

Cheers,  Alex.

Link to comment
Share on other sites

I look at this SID sequencer as a really cool addon, not one of the main features, even I like the self contain idea...so, it should be very simple. I think for most of people 8 sequences/16 steps for bassline is enough. For any other, more serious sequencing there is great MBSEQ.

Link to comment
Share on other sites

My opinion doesn't count for much, being very n00bish when it comes to sequencing  ;)

I would prefer the assignable parameter over more sequences. 8 is probably more than I'd use, 16 is therefore way more. I see a lot of potential value of the assignable parameter, esp. for stereo effect and a lot more interesting sequences than just the typical 303 acid bassline.

So I vote for the third option, with possibly a one-bit flag which can switch between 8 sequences of 16 steps or 4 sequences of 32 steps (or whatever is meant by "A/B option (chaining)" )

Link to comment
Share on other sites

So I vote for the third option, with possibly a one-bit flag which can switch between 8 sequences of 16 steps or 4 sequences of 32 steps

That´s a good suggestion. I´d also say it´s more important to do complex basslines than to have 16 of them. It´s a nice feature when you can start some cool grooves directly from the box, but for complete song arrangements, I´d prefer a sequencer anyway. So I´d vote for Wilba´s suggestion - or, if this proves too complicated in programming or user interface, I would even suggest to do only 4 sequences/32 steps/second parameter.

Seppoman

Link to comment
Share on other sites

I voted for option three, I think that's the most useful to most users. As Seppoman said, i'd use a sequencer for anything more complex anyway. Is there going to be a randomize function for the bassline sequencers? I use Prophet64 a lot, and that has a very cool randomize feature where you can choose certain notes, and it will randomize soom cool patterns. I see the Bassline engine as an improv tool, so something like this would be exceedingly cool!

EDIT: Actually I was wondering if you're planning to do a version of the firmware specifically for 303 'clone' use?

I've been harping on about this for years, basically, I want a standalone MB-303 with controls for cutoff, resonance etc, and an LCD screen for programming etc. Does this sound like something that could be done with the new engine?

Link to comment
Share on other sites

Thanks a lot for your votes! Seems that the '8 sequences per patch w/ note and parameter track (16 steps)' is the most prefered option. :)

I have absolutely no programming experience and can't predict the impact on the CPU load and programming effort, so if I'm talking crap please tell me

A general comment to this topic: MBSID V2 has grown up to an extremely complex application. Meanwhile we have 40000 lines of assembly code.

The way how the application is programmed allows me to add certain features very easily without much programming effort. But there are also functions, which might sound primitive, but which could take me several hours or days for implementing it into MBSID V2. In addition, the integration of such functions could also affect the system stability and/or the memory consumption in a negative way, so that other - more useful functions - cannot be added anymore.

For example the possibility to vary the sequencer paritioning: it's absolutely no problem to add this to the sound engine, mostly it would only mean that I have to add two or three additional lines of assembly code. If only hackers like me would have fun with MBSID V2, it wouldn't be a big issue for them to edit the sequence directly with an hex editor - this would open a lot of additional powerfull possibilities btw.

But most of the users are not hackers. (some people even have problems to change the LCD display size from 2x20 to 2x16 ;-)

They prefer a comfortable and especially a consistent user interface.

The user interface of MBSID V2 is optimized for low memory consumption. Many references and parameters are compressed in tables. One of such a parameter is the maximum value of a menu item. This one is static - and thats the point.

So, we have only a static maximum value for number of sequences and/or steps.

And we only have a static number of menu items which can be displayed in a page.

If I would change the menu handling, so that these constants can be varied, most tables would grow up, which would limit the possibility to add other memory intensive features in future.

Best Regards, Thorsten.

P.S.: don't panic, only 66% of flash is allocated yet, and most stuff for the final release is already implemented! So, using the PIC18F4685 is future proven :)

Link to comment
Share on other sites

P.S.: don't panic, only 66% of flash is allocated yet, and most stuff for the final release is already implemented! So, using the PIC18F4685 is future proven :)

That is really nice to hear. I can only imagine what cool features can we expect in future from you and this new chip.

Link to comment
Share on other sites

P.S.: don't panic, only 66% of flash is allocated yet, and most stuff for the final release is already implemented! So, using the PIC18F4685 is future proven :)

That is really nice to hear, since I'm just about to order 70+ PCBs based on MB-SID V2 using PIC18F4685!  ;D

Link to comment
Share on other sites

Is there going to be a randomize function for the bassline sequencers? I use Prophet64 a lot, and that has a very cool randomize feature where you can choose certain notes, and it will randomize soom cool patterns. I see the Bassline engine as an improv tool, so something like this would be exceedingly cool!

Of course, like the Lead and Multi engine, also the Bassline (and Drum) engine will get some randomize functions - it is possible to generate a completely random patch, or to randomize specific sections (e.g. only OSC settings, only Env, only LFO, only notes, only accent, only slide, etc...) from a special menu page --- so long, until it sounds cool.

EDIT: Actually I was wondering if you're planning to do a version of the firmware specifically for 303 'clone' use?

I've been harping on about this for years, basically, I want a standalone MB-303 with controls for cutoff, resonance etc, and an LCD screen for programming etc. Does this sound like something that could be done with the new engine?

Again ;) Of course. There is a special edit screen (which differs from the normal WT editor for most ergonomic note entry). And you can add analog pots in order to control the typical 303 parameters. You can also control them from the Knobs layer with rotary encoders, or from a special menu page if you don't want to use the minimal control surface only.

And in far future there will also be a Control Extension (breakout box) as described in the wishlist. But note that this extension is a low priority feature for me - first I want to see the complete firmware before deciting the final layout of this extension. It should fit perfectly for all engines, not only for basslines

Best Regards, Thorsten.

Link to comment
Share on other sites

Here a short impression - this demo is played with a single core and two SIDs.

It basically consists of two sequences, which have been copied&pasted 4 times and slightly modified within the SEQ editor:

b_seq1.gif

There are different modes to play a bassline...

In this demo I used a mode which allows to select sequences with a MIDI keyboard, so that I was able to switch back and forth between different parts with one hand, while tweaking sound parameters with the other hand.

http://www.ucapps.de/mp3/midibox_sid/mbsidv2_bassline_demo1.mp3

Btw.: all 8 sequences are allocated, and I don't use the parameter track...

Best Regards, Thorsten.

Link to comment
Share on other sites

I love you :-[

Hey stay away from my man....

Wait a minute! No! Ewww!  :o :-X

;D

a mode which allows to select sequences with a MIDI keyboard, so that I was able to switch back and forth between different parts with one hand, while tweaking sound parameters with the other hand.

Awesome.

Link to comment
Share on other sites

In this demo I used a mode which allows to select sequences with a MIDI keyboard, so that I was able to switch back and forth between different parts with one hand, while tweaking sound parameters with the other hand.

So you can sequence the sequencer with another sequencer... Brilliant!

Link to comment
Share on other sites

Yeah that's even cooler, i'm guessing you could set up a track in your sequencer to send note events and that will change the patterns. How cool is that! Would this work in a non 303 mode too?

I'd have it set up so that my drummer (who uses a roland V-Kit) could trigger different patterns from the kit. Now that would be cool!

Link to comment
Share on other sites

I voted for option 3.  My Korg Electribe EA-1 stores a grand total of ONE sequence per patch, so 8 is just luxury.  Mind you, they're four bars (64 steps) with sequencing of all synth parameters.

If the multiple user selected partitioning turns out to be reasonably do-able, I'd love one option similar to the above.  ie one longer seq per patch, with lots of assignable parameter tracks.

Link to comment
Share on other sites

Yeah that's even cooler, i'm guessing you could set up a track in your sequencer to send note events and that will change the patterns. How cool is that!

It's nice also nice because you could use external buttons / trigger pads to change the sequences, if I get it correctly. And I had just decided to abandon the idea of building a Monome...

Best regards, ilmenator

Link to comment
Share on other sites

i'm guessing you could set up a track in your sequencer to send note events and that will change the patterns. How cool is that! Would this work in a non 303 mode too?

yes, it also works with other engines, just only the hold function is missing (yet)

The same mechanism will be provided by the drum engine.

Btw.: thanks to the ensemble it is possible to control all SIDs from the same MIDI channel, and to define split points in order to select sequences from different keyboard zones, or to layer them (e.g. selecting a bassline and drum sequence with a single key)

It's nice also nice because you could use external buttons / trigger pads to change the sequences, if I get it correctly. And I had just decided to abandon the idea of building a Monome...

You can also use the modulation matrix of MBSID, it selects and displays sequences in bassline/drum mode. :)

However, something "Monome" like works also fine, but note that there is no feedback for LEDs, to display which sequence is currently selected.

Best Regards, Thorsten.

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...