MIDIbox SEQ V4 Wishlist

We are currently working on the upcoming ARM based MIOS32 platform, and MIDIbox SEQ V4 will be one of the first projects which I will use for a feasibility study. It’s too early to give you detailed informations about the final hardware decitions (and this topic shouldn’t be discussed here), but the design goal is to find a solution which will only require to replace the MBHP_CORE module by a new one (MBHP_CORE_STM32), the remaining hardware can be re-used, no frontpanel changes are planned, etc.

Expected upgrading costs: ca. 25..40 EUR (maximum)

The new platform will allow to overcome the limitations of the PIC, especially the available memory and the execution speed. MBSEQ V4 will be implemented in C, so that it will be portable to different ARM derivatives (we will probably take a Cortex M3 based device), and even to a PC so that people are able to evaluate the firmware before building the hardware (given, that somebody else programs a graphical user interface)

Update: GUI now available for MacOS - Cocoa is pure fun :slight_smile:

A first release can be expected in Q2 2009; I’ve some rough plans which features I could add in addition to the existing ones, but I wonder which ones you would like to see.

My ideas so far:

  • integrating the nice features you already requested for MBSEQ V3 (see bottom of CHANGELOG.txt and the MBSEQ V3.3 thread)
  • more steps per track, at least 128
  • 16 additional tracks for drums/percussions only, improved editing
  • patterns stored on SD-Card, so that simple backup/file exchange is possible w/o using SysEx
  • MIDI file import and export
  • integrated MIDI file player
  • support for USB; MIDI USB and/or optionally COM protocol (for OSC packages to a proxy)
  • maybe also support for Ethernet (OSC and/or MIDI)
  • using OSC not only for sound triggering, but also for remote controlling
  • live recording with different quantisation strategies
  • individual track/pattern/song/mixer channel names
  • send SysEx patches to your synths (stored on SD-Card)

Let’s fill the memory :wink:

/Update: Comments to requested features here

http://www.midibox.org/forum/index.php/topic,12186.msg105818.html#msg105818

Best Regards, Thorsten.

WOW.  You just made my day TK.  I’ll have to put some stuff on pause while the details of this new core get fleshed out.. some ideas I had shelved may be possible now!

Most of my wishlist is already covered in other peoples suggestions.. but I’d like to add that there is no base resolution for the sequencer which I’d consider too high!  With MIDI file import being a possibility, it would be very nice to be able to bring in recycled .mid files for beat chopping without loosing their original feel.. something even the MPC’s can’t do.  This does require a very high resolution tho, and may simply be impractical for a hardware sequencer.

Perhaps the possibility to slice beats on the seq itself…would require some sampling hardware though. well, at least sample playback hardware, I personally would have no problem only being able to import the samples from SD cards, with no recording.

Longer patterns  would be great also, already on your list.

Touch screen ?

more steps per track, at least 128

patterns stored on SD-Card, so that simple backup/file exchange is possible w/o using SysEx

MIDI file import and export

integrated MIDI file player

live recording with different quantisation strategies

individual track/pattern/song/mixer channel names

send SysEx patches to your synths (stored on SD-Card)

all these features please me a lot : it will replace my MPC ^^

Do you plan to play different sequences of different length at the same time i mean A and B play simultaniously, A is 4 bars, B is 6 for example)?

a Chop Shop function for each track (real time remix) ?

That’s great, thanks !

more steps per track, at least 128

Does this mean 128 steps in a bar for micro editing?

I was thinking replace the 2x multi triggers of the notes and be able to put extra notes in between the 16 steps but not have them be dependent on any of the 16 steps. I would like to make sounds that speed up and slow down by making a bunch of notes tightly packed together. Maybe use forward and backward keys to advance to next micro step while editing.

I was also thinking to have way more layers per track so we can have orchestral polyphony and 16-32 CCs per track for autechre editing.I.E pan, notes, vel, aftertouch, and all the other CCs per track please. I think this would make for big yippie!

And no limit to a patterns length. Aleast if it could be 8-16 bars for string stuff.

And if that happens maybe we could get a small lcd that displays all the tracks kinda like on the tr-707 and the MBseq multi led expansion.

Don’t forget about the real time note retrigger functions we discussed earlier.

Could we control tempo of indiviual track and have tempo spring back to normal when special button is released/pressed?

Is it to much to ask for more than 16 tracks. Like 64 maybe :slight_smile:

Now we need ultracore x32 before I even use the first one.

TK your freakin awsome.

I will now stfu.

One thing I would suggest is loading more than 4 tracks into ram for editing, which would enable people to use the bigger BLMs that have been so heavily requested.

Echo: you can already do the many-modulators thing with extra tracks :wink:

Needless to say I’m a big fan of individual tempo control per track, but as we already know, doing so with unusual meters (time signature/divider/etc) introduces some interesting challenges when you want to have independent track tempos but still keep them in phase (and even more so when you take things like realtime retriggering of tracks and loopback ports and such). It’s easy enough to solve, but does cause a performance hit, so I’m not sure it’s for everyone… That said, the chips we are playing with at present do have a hardware divider that will significantly reduce the overheads of such a system, so maybe it won’t be so bad…

personally i’d rather see this seq stay a step seq…

the usage and editing requirements are quite different for a high res midi seq,

i think enough so that such a thing would deserve it’s own application…

however being able to delay or advance steps in time by small amounts within a track could be very cool.

+1 on the phasing thing (different track lengths in parallel)

this is very fun thing to use on audio loopers anyways…

LABELS!!!

YAY!

I would also prefer to keep it as a step sequencer… Maybe an MPC style sequencer could be a different project all together.

I’d also like The BPM to be able to increment in 0.1 BPM too.. (Thats a pretty small feature)

(1 BPM is too coarse when lineing up longer samples)

Regards

Mike

Just some random thoughts to throw out there… (feel free to ignore! ;D)

DMX output - why separate audio and visual sequencing? I gather speed and memory was the main issue with DMX in the past. (Let’s be honest, we all love http://www.youtube.com/watch?v=UtnUMpykQLc!)

SEQ scratching - scratch / jog / across a pattern (unless of course you already can, I haven’t built one… yet!)

Big colour LCDs - would take a bit of GUI programming though

MIDI over WLAN - hey, why not think crazy

Love the idea of channel names. I’m wondering where and how they could be displayed.

Also love the sound of C! (ASM scares me a bit…;))

DMX output - why separate audio and visual sequencing?  I gather speed and memory was the main issue with DMX in the past.  (Let’s be honest, we all love http://www.youtube.com/watch?v=UtnUMpykQLc!)

Outputting DMX is not a massive chore in terms of speed or memory. A full universe of DMX is only 512 x 8 bit numbers, with some start/stop etc thrown in. So, to store all these values in RAM would only require 512 bytes. The transfer speed is only slightly problematic (250kbaud).

The real issue with DMX is that it is not state-based like MIDI, so you must keep the stream active at all times, or the state is dropped.

(ie, with MIDI, you simply tell a synth to start playing a note, or move a controller to a position. It is assumed in the protocol that the synth will keep doing what you last told it, until you tell it to stop).

Some DMX controlled devices will retain the last complete packet if the stream is dropped, but this is not specified by the protocol (though it has saved my ass many times  :wink: )

Edit: (So, what I’m saying is that DMX output has always been possible, but the core would not be able to do anything else… like running a sequencer application…)

Partly you are requesting features, which are already implemented.

Hope that other people don’t feel conused about that - everything written in the Manual is true :wink:

Best Regards, Thorsten.

I’d like to see tracks outputting to loopback ports, processed before other tracks…

the usage and editing requirements are quite different for a high res midi seq’ date=’

i think enough so that such a thing would deserve it’s own application…

however being able to delay or advance steps in time by small amounts within a track could be very cool.[/quote’]

Thinking about it a bit longer, I agree with you.  A step sequencer is not the proper application for beat slicing  8)

Echo: you can already do the many-modulators thing with extra tracks

But why not just have more for each track rather than using more tracks for just one sound ect..?

About tempo control issues. I was saying to maybe have an F function button to control the usage by reverting the tempo back to normal sync when released/pressed vice versa maybe user selectable. Individual tempo would still be cool but I was thinking of temporary changes that would sync back up. I hope I am explaining myself well.

Maybe this feature would only be good for crack heads??? I am not sure if it woudl be cool in the long run though.

personally i'd rather see this seq stay a step seq...
the usage and editing requirements are quite different for a high res midi seq,
i think enough so that such a thing would deserve it's own application...

If your talking about micro editing between steps I can see your point here. Maybe just having long patterns like 16 bars long at 128th would work just aswell :wink:

I still like the idea of retriggering steps or multiple steps for breakbeat stuff and fills. That was were the tempo thing came up as I was hopeing to retrigger steps and adjust tempo at same time.

labels sound very nice too for naming CCs, patterns ect… USB keyboard input anyone?

I don;t know much about the Song mode as I have only tinkered with V3 alittle for testing but does it save only patterns used in the song? I was thinking you could still load other patterns into the song but then just resave the song. Is this how it is already?

But why not just have more for each track rather than using more tracks for just one sound ect..?

The live editing step sequencer concept requires static data structures stored in RAM.

Let’s say, each track would offer 16 layers with 128 steps, this would lead to a memory consumption of 2k for each track, and 32k for 16 tracks

But the planned processor offers only 20k RAM (update: 64k RAM, 512k flash cost US $4 more - we will take this one)

Another issue: storing 32k on SD Card would lead to unwanted latencies on pattern changes, regardless how much RAM is available

But a 4th layer makes sense (I’m missing it as well)

About tempo control issues. I was saying to maybe have an F function button to control the usage by reverting the tempo back to normal sync when released/pressed vice versa maybe user selectable. Individual tempo would still be cool but I was thinking of temporary changes that would sync back up. I hope I am explaining myself well.

Maybe this feature would only be good for crack heads??? I am not sure if it woudl be cool in the long run though.

-> live control page

Background story: two weeks ago I spent several hours to optimize MBSEQ V3 in order to get some free memory for this page. Especially because I’ve also some cool tempo/step progression manipulation ideas in my mind which could lead to very nice breakbeat effects as well. The page should combine the suggestions - a lot of parameters and trigger buttons so that everybody can search for his favourite ones.

But at the end I only saved ca. 700 bytes - not enough.

This was the day were I decided to move to a new platform…

If your talking about micro editing between steps I can see your point here. Maybe just having long patterns like 16 bars long at 128th would work just aswell :wink:

And a zoomed view, so that you can get an oversight over all bars.

I still like the idea of retriggering steps or multiple steps for breakbeat stuff and fills. That was were the tempo thing came up as I was hopeing to retrigger steps and adjust tempo at same time.

See above - I’ve some ideas as well, it won’t be forgotten.

labels sound very nice too for naming CCs, patterns ect… USB keyboard input anyone?

haha!

USB slave mode only

I don;t know much about the Song mode as I have only tinkered with V3 alittle for testing but does it save only patterns used in the song? I was thinking you could still load other patterns into the song but then just resave the song. Is this how it is already?

Sure - the pattern slots not used by the song are free changable.

Best Regards, Thorsten.

My ideas so far:

  • more steps per track, at least 128
    ..
  • individual track/pattern/song/mixer channel names

You already got my two biggest wishes.  :wink:

Let’s say, each track would offer 16 layers with 128 steps, this would lead to a memory consumption of 2k for each track, and 32k for 16 tracks

But the planned processor offers only 20k RAM

A track is considered the same thing as pattern? And 128 steps would be 8 bars if I am understanding correctly? Sounds good to me.

And a zoomed view, so that you can get an oversight over all bars.

Zooming out to see every track and how many bars there are all at once?

Is there an option to change how the track moves to the next track. I.E imediately or at the next bar option. I guess sync would become a problem though but not by much.

Also maybe add a delay to the live trigger page which would repeat notes and fade the velcoity on the repeats or whatever customizable to scales ect…

Do you think backwards scrub would now be possible? :smiley:

When ever I have more time when I am not juggling three kids, wife, friends, work,and music I really want to contribute to midibox in some way.

A track is considered the same thing as pattern? And 128 steps would be 8 bars if I am understanding correctly? Sounds good to me.

A pattern consists of 4 tracks, and it depends on the selected resolution (clock dividers) if 128 steps are playing 8 bars or less or more.

E.g., with MBSEQ V3 you are already able to play 16 bars with a single track if a clock divider of 64 is selected. Two notes per bar are played in this case.

This is especially nice for a track which plays the base note for other tracks (note event sent via loopback to transposed tracks)

You can also already select a clock divider of 4, which results into quadrupled speed. 32 steps are processed in 1/2 bar - but they are played superfast, so that microtimed beats can be easily created. Especially once the progression parameters are used in addition (so that for example the track will be varied over more than 4 bars) very nice effects can already be achieved.

Another point (to answer some requests above): you can also already select odd divider values and predividers for different time scales. The track length can already be varied.

All this for each track individually! - so, no need to overwork the concept here. There is only a strong need that people begin to understand the given possibilities :wink: (sometimes I’ve the impression, that most of you only use straightforward tracks without different timing/length/progression values)

In MBSEQ V4, we will get more steps, but I think that you can calculate by your own, how many bars can be played depending on the selected clock divider values (== resolution)

Sorry, no time anymore to answer remaining questions - I’ve to prepare for holidays :wink:

For more requests I cannot say if it is possible or not anyhow, since the evaluation phase (checking the possibilities of the new micro by programming a lot of code) will take ca. 6 months. Thereafter I should have enough experiences to give realistic statements.

Best Regards, Thorsten.

Some last words to the ideas behind the zoom functions: with 128 steps you would have to trigger the “Step View” (F3) button multiple times switch between the different 16 step pages. Thats unusable.

This button will get a different purpose: press&hold it to zoom out the 16 step view - you will see an oversight over all 128 steps. Now press a GP button to zoom into a view.

I’m also thinking about an alternative “scroll view” function by utilising the datawheel.

Very quick page changes should be possible this way

Best Regards, Thorsten.

A Gate time Trigger or Layer to vary the time intervals between the steps. The steps can be set within the

range from 1/384 to 16 1/1 notes. Like on the Scritty… or even higher resolution..

Midi processors for internal routing… with midi fx… LFOs and midi filters… maybe the arp. should go there

More random stuff… rotate…skip closed gates … random move active gates selected and or random chance by percent… There is alot of crazy stuff that can be done here… Maybe 16 tracks for internal loopback so funktions can be muted / toggled on off. This would be like dynamic editing… the seq programning itself. 

So we can have tracks triggering Track directions, Track direction progressive parameters, clock divider for each track, normal and tripled, groove quantiasion start and stop of sequnces and loop points.

I think all my ideas can be done with 16 internal loopback tracks like the 16 new drumtracks!!

YES lan midi please.. wifi?? Possible??

I don´t mind features like 128 steps… but please keep it a stepseq… 64 steps is fine even 32 as it is now..

A memory place holder for timebase and groove… using gp buttons to change the tempo and groove quickly…

Drummaps.. yes please!! Nameable!!

More CC layers in the mixer map…

Maybe a daw mackie/LC controller… maybe not keep it a seq…

Midi sync. delay calibration.. Clock sync delay in ms… from say -30 ms to +30 ms

Maybe my ideas are to crazy but think about it.