Jump to content

RFC: MBSEQ V4 instrument mapping


TK.
 Share

Recommended Posts

Another request for comments: would you prefer the define the MIDI port, channel and name of your instrument inside each pattern (which will result into lot of editing effort whenever the instrument is plugged into another MIDI port, or assigned to a different channel, or you decided to use a different synth), or would you like to select a reference to a global instrument definition inside the pattern?

If yes (and this is the main question): how many synth instruments, how many drum sounds should be definable?

Would you like to store Program Change, Volume, and other CCs as well? Which ones?

The instrument settings could be editable on the frontpanel, but also in a .txt file stored on SD card (so that you can change them with a text editor on your PC)

Best Regards Thorsten.

Link to comment
Share on other sites

i have the nord rack III @ home.

there you have 2 operation modes, that you can select with a Button on the controll sourface.

for backgroundinfo...the nord has 4 synth (slots), that you can controll, and switch the controll sourface for it...like the MBSID!....

in the Performance you have what you said...for every patch that is stored in (programm... switchable with programm change...) the synth slot, a own Midisetting, and Audio-output routing).

So if you activate preset (performance-preset)1.1, the midi and audiosetting also changes! and this for all 4 slots!

This midisetting information, is stored in the performance preset, but not in the normal preset....

so we come to the EDIT mode (the other was PERFORMANCE mode)

The normal preset is the preset, that is used in the EDIT mode, here you can switch the Patches (for you in the SEQ4 - the track-sequences...) without changing the Midi and audio editing....

HMMM...I used the 2 modes..... I finaly use the standart EDIT mode!

The Performance Mode, is way to much complex.... it is too complicating,...I use the nord for liveacts... (the MB seq is also a performance sequencer?-yes it is...) there is so much to do...and the last what you need is that, the midi setting is changed if you change a sequence....

but if you make it like nord...2 modes? with the same preset, only in one mode the midisetting change- is ignored... ;)

Link to comment
Share on other sites

As there's already two Midi outs on the core32, i.e. 32 midi channels, and that is even expandable, wouldn't it be easier to just define once for the whole song what port/channel/instrument a track is routed to? In my opinion there's enough channels to do really complex arrangements with a lot of sounds (as long as you could e.g. insert patch change events into the patterns). I'd say making things as flexible as possible is sometimes making things harder to use. Obligatory separate settings for each pattern is too commplicated, and the idea global instrument definitions might seem a nice feature. But from my experience with the rather complicated memory structure of older Korg synths like the Wavestation - the WS was very annoying because if you used a basic voice in more than one patch, you couldn't change one patch anymore without possibly affecting others and so you always would try to use only the most basic sounds more than once. I'd say keeping things integrated to a patch sequence is probably the easiest way. Maybe a function to copy settings from another sequence would be handy :)

S

Link to comment
Share on other sites

I like the idea to provide a copy function for instrument settings only. This should make it easy to adapt patterns.

Note that we currently have 12 MIDI out ports (including USB), 4 AOUT ports (for 4 AOUT/AOUT_LC/AOUT_NG) modules) and 4 virtual busses


static const seq_midi_port_entry_t in_ports[] = {
  // port ID  Name
  { DEFAULT, "Def." },
  { USB0,    "USB1" },
  { USB1,    "USB2" },
  { USB2,    "USB3" },
  { USB3,    "USB4" },
  { UART0,   "IN1 " },
  { UART1,   "IN2 " },
  { IIC0,    "IIC1" },
  { 0xf0,    "Bus1" },
  { 0xf1,    "Bus2" },
  { 0xf2,    "Bus3" },
  { 0xf3,    "Bus4" }
};

static const seq_midi_port_entry_t out_ports[] = {
  // port ID  Name
  { DEFAULT, "Def." },
  { USB0,    "USB1" },
  { USB1,    "USB2" },
  { USB2,    "USB3" },
  { USB3,    "USB4" },
  { UART0,   "OUT1" },
  { UART1,   "OUT2" },
  { UART2,   "OUT3" },
  { UART3,   "OUT4" },
  { IIC0,    "IIC1" },
  { IIC1,    "IIC2" },
  { IIC2,    "IIC3" },
  { IIC3,    "IIC4" },
  { 0x80,    "AOU1" },
  { 0x81,    "AOU2" },
  { 0x82,    "AOU3" },
  { 0x83,    "AOU4" },
  { 0xf0,    "Bus1" },
  { 0xf1,    "Bus2" },
  { 0xf2,    "Bus3" },
  { 0xf3,    "Bus4" }
};
[/code]

It would be easy to provide a special mode which prevents that MIDI channels/ports and instrument settings/names are changed

Best Regards, Thorsten.

Link to comment
Share on other sites

I'd say making things as flexible as possible is sometimes making things harder to use.

I think that's quite true in this case. I started typing, thinking of how I was worried about this exact situation with my design, and I was thinking that maybe this extra layer of flexibility might be a hindrance for the mbseq which is well loved for being quick to edit...

But then I thought... How often do we connect a synth that we haven't used before? I mean... You can spend a short time to make a few instrument maps for your gear, and maybe a couple of 'spares' for when your mates come around to jam... Then you won't have to do it again after that... I guess it could be a short initial investment of time, to save lots of time later? (and you could use a text editor to do quick block copies and search/replace... Maybe even simple scripting could be used... oh, and there are lots of softsynths around that export .ins files these days...)

Edit: and the copy function would make it even easier :)

Link to comment
Share on other sites

I would imagine if you put program changes into a pattern you would switch though patterns while jamming out and have a delay because your synth takes 1-3 secs to change its patch. I honestly think that if live use is main focus I wouldn't want it like a pc program that plays/switches everything for you BUT sometimes I might find it useful aswell. If you want to do it TK I say go for it and give people the option if they wanna use these features or not. I would always have track #1 be my nord, track #2 be sampler and so on... because l don't wanna worry about things like setup when inpsriation hits. Sorry if thats not a very good answer to your question. Just chiming in.

Regards Echopraxia.

Link to comment
Share on other sites

I have a bit of a concern, that so many things are going to be implemented in this sequencer, that it's no longer going to be intuitive.

It's like the saying that "a camel was a horse designed by a committee."

For me, this sequencer is a killer live tool.. if you want a non live sequencer, it should be a computer.

I don't mind setting stuff up for the first time.. (Labels etc) because once set up, it is very benificial to work flow..  But for me, ideally, if I want to change a label/name of a track etc, I would like the option of changing it's name with the sequencer.

Regards

Mike

Link to comment
Share on other sites

i think that is no problem, if you can configurate all on you own...once you have modified this machine to yours wishes, - and turned off for you unneccessery things - and switch on for you must have things...this will be your ownd small super live sequencer....

its a good idea that you can switch of uneedet tings... or change the design

Link to comment
Share on other sites

The option to set port/channel/name of a pattern should be kept to the pattern itself.

There could be a "naming" page, currently I dunno where it should be accessible from.

Editing of a name could be done with two encoders, one for cursor position and one for the character (my reference is the Microwave XT).

Its ok for spontaneous naming, but to ease the workflow and avoid endless naming sessions, i thought about this:

the TrackEvents page has this "Copy Preset", but for layers and stuff.

There could be a second button, like "MIDI Preset", which gives you a page of 16 pre-defined port/channel/name settings (predefined means by your personal wishes)

I press the according GP button, and it sets the current pattern to the port/channel/name.

For full dual port operation, a second page would be necessary to access 2x16 MIDI presets.

These names would then be of course more instrument oriented, say channel/preset 2 is always "909", channel/preset 8 is"MWXT1" and so on.

To take it a bit further, lets say I want the names to be more sound oriented, due to the role the instrument has in my song.

This could be done similarly by pre-defining 16 personal namings, like Bass, Lead1, LoPad, SeqHi and stuff like that.

These "name presets" could be accesible from the "naming" page I mentioned above, similar to the "MIDI Preset",

and then be edited on the naming page ("Lead1" to "Lead2" or so).

So to sum up,

- port/channel/name selection inside pattern

- naming page with

- access to 16/32 sound name presets

- MIDI Preset page (via Track Events) with

- access to 16/32 instrument presets (port/channel/name)

Link to comment
Share on other sites

Providing a MIDI preset page sounds like a good idea.

Preset definitions could be imported from a .txt file, or entered directly.

I thought it could be nice to enter labels with a dial code known from Mobile Phones with 12 GP buttons (e.g. GP2: abc, GP3: def, GP4: ghi, etc...) + delete/clear/enter/exit function

Even an automatic text completion could be provided, known as "T9" ;)

Best Regards, Thorsten.

Link to comment
Share on other sites

  • 2 weeks later...

My vote is for global instrument definitions, or a way to use that if desired.  This would speed my workflow up by 200%, since in my application I have a limited set of instruments/drum modules I use, and a specific way I route everything.  Not having to assign midi ch, note number, etc. for drum sounds after saving them in a preset file would be amazing.  This would allow me to use the SEQ completely intuitively without messing with the event page or anything -- just sequence away!

As far as how many, personally it would nice to be able to define 32 or more drum presets and 8 or more instrument presets.

Link to comment
Share on other sites

My vote is for global instrument definitions, or a way to use that if desired.  This would speed my workflow up by 200%, since in my application I have a limited set of instruments/drum modules I use, and a specific way I route everything.  Not having to assign midi ch, note number, etc. for drum sounds after saving them in a preset file would be amazing.  This would allow me to use the SEQ completely intuitively without messing with the event page or anything -- just sequence away!

As far as how many, personally it would nice to be able to define 32 or more drum presets and 8 or more instrument presets.

You can create so many presets as you want by storing them into a special bank, and copy over to the pattern or track you want to edit.

Patterns in a bank get a category (5 characters) and name (15 characters).

There are some presets (under construction), but these are soft-presets which you can easily edit by entering the characters directly in the SAVE page.

Current preset names (under construction - they will be read from a .txt file later)


  const char preset_categories[][6] = {
    "     ",
    "Synth",
    "Bass ",
    "Drums",
    "Break",
    "MBSID",
    "MBFM ",
    "Ctrl"
  };

  const char preset_labels[][16] = {
    "               ",
    "Vintage        ",
    "Synthline      ",
    "Bassline       ",
    "Pads           ",
    "Lovely Arps    ",
    "Electr. Drums  ",
    "Heavy Beats    ",
    "Simple Beats   ",
    "CC Tracks      ",
    "Experiments    ",
    "Live Played    ",
    "Transposer     "
  };
[/code] Screen of the "save" page:
[code]
  // layout:
  // 00000000001111111111222222222233333333330000000000111111111122222222223333333333
  // 01234567890123456789012345678901234567890123456789012345678901234567890123456789
  // <--------------------------------------><-------------------------------------->
  // Grp. Save Pattern    to Target          Category: xxxxx   Label: xxxxxxxxxxxxxxx
  // G1 (Track 11-11)/1:A1 -> 1:A1           Char  Cur  Ins  Clr Undo  Presets  SAVE
Overworked screen of the pattern selection page:

  // layout:
  // 00000000001111111111222222222233333333330000000000111111111122222222223333333333
  // 01234567890123456789012345678901234567890123456789012345678901234567890123456789
  // <--------------------------------------><-------------------------------------->
  // G1: xxxxxxxxxxxxxxx  G2: xxxxxxxxxxxxxxxG3: xxxxxxxxxxxxxxx  G4: xxxxxxxxxxxxxxx
  // >>> xxxxx 1:A1 ____      xxxxx 2:A1 ____    xxxxx 3:A1 ____      xxxxx 4:A1 ____                                         
[/code] Example pattern selection:
[code]
  // 00000000001111111111222222222233333333330000000000111111111122222222223333333333
  // 01234567890123456789012345678901234567890123456789012345678901234567890123456789
  // <--------------------------------------><-------------------------------------->
  // G1: Breakbeats 2    G2: Lovely Arps 5  G3: My fav.Bassline  G4: Transposer Emaj
  // >>> Drums 1:B2 ____      Synth 2:A5 ____    Bass  3:B1 ____      Ctrl 4:C1 ____                                       

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