Search Forums


Forums supporting
reViSiT (http://revisit.info)
and MIVI (http://mivi.nashnet.co.uk)
nashNET Forums ->  reViSiT - Tracking Software for VST hosts -> Testing & Development -> View Thread

You are logged in as a guest. ( logon | register )

FEATURE: Dynamic MIDI Controllers
Jump to page : 1
Now viewing page 1 [25 messages per page]
View previous thread :: View next thread
   reViSiT - Tracking Software for VST hosts -> Testing & DevelopmentMessage format
 
CS_TBL
Posted 2007-07-10 1:49 PM (#13936)
Subject: FEATURE: Dynamic MIDI Controllers



Expert

Posts: 512
500
Location: Netherlands
Currently reViSiT (as well as IT) has non-automatic controllers, meaning that for a crescendo you have to interpolate/input those values on each step from begin to end. It can be a bit tedious to do and you're stuck with the resolution of the steps, which isn't always high. This is how most classic trackers work btw, on the MSX tho there have been a few trackers with automatic pitchbend commands.

So here's an idea/proposal:
Introduce automatic controllers

Have for example some effect column character, I dunno, something like 'V', followed by one of 16 assignable controllers and then followed by a programmable delta.

One could program "delta #1" as "+4", meaning that the given automated controller (the left nibble) does +4 each tick or whatever internal clock you use (this should perhaps also be specified!). Additional, one could program "delta #f" as 'stop', meaning that the delta for the given controller.. stops .. :P

Programmable deltas are handy because you never know what sort of speeds the user wants, for expression in Adagios one might want a number of slower deltas.

(see below for a sketch)

There're 16 configurable controllers (left panel), usually one typically uses those in the example. Tho it's very possible to have multiple volume controllers selected.

In the right panel there's a delta for each value, and at what speed it should update. Numbers are BPM sync (16 = 16th note, 8 = 8th note, etc.), tick = the reViSiT ticks system, just as the IT ticks system.

This would mean that it's very easy to have cutoff and resonance changing together, with different speed.

Assuming 'V' as effectcolumn-command and that all controllers use the same settings on the right (which they don't have to! as each controller has its own 16 delta/clock settings):

V41 <- right here the cutoff starts changing
V52 <- right there the resonance starts changing
...
...
...
...
()
...
V4F <- cutoff stops changing
V5F <- reso stops changing


So, how about all that? I think it's perfect for creators of electronic/modern music, and it's also ideal for instrument composers (acoustic/orchestral) as it's easy to let instruments eb and flow.



(rvstsuggestion.png)



Attachments
----------------
Attachments rvstsuggestion.png (10KB - 0 downloads)
Bookmark and Share Top of the page Bottom of the page
chrisnash
Posted 2007-08-01 4:33 PM (#13973 - in reply to #13936)
Subject: RE: automatic controllers



Developer

Posts: 746
50010010025
Location: England
Hi CS_TBL,

Nice mock-up and there's definitely a need for generic MIDI effect sliders. I have a few comments:

The tedium of interpolating parameters, volumes, pannings, etc. can be overcome with the interpolation macros (Alt-X for Effects, Alt-K for Volume/Panning). By "Automatic", you mean relative rather than absolute musical directions? Entering a crescendo as a sequence of increasing entries in the Volume column is definitely laborious - so why don't you use the Dxx command? Other slide effects exist for other parameters, and all are transmitted for MIDI instruments. Admittedly, the rate of change is unvarying (except between normal, fine and extra fine variants), but the degree can be varied and gives much the same effect, for volume slides, etc. If you're writing an adagio and need finer control - either a faster or slower effect rate - then you should play around with the Axx command, which varies the resolution of the patterns - changing the number of tracker frames per row.

Some effects do have control over rate - notably the retrigger command (Qxx), and this does actually work over note boundaries, but having effects work on a "macroscopic" level (bars, beats, instead of tracker frames) would constitute quite a fundamental shift in the tracker control philosophy - and should be explored cautiously and in context.

As my PhD is slowly revealing, memory usage lies at the core of expert use, and thus an interface must be written to support the memorising of commands, etc. Having them so that they can be user-defined and varying between files, projects, etc. inhibits this and I'm nervous about introducing such complex features. Indeed, if I'm going to introduce user-configurability and more expressive flexibility, I'll probably do it more explicitly and drammatically - by, for example, integrating an effect-triggered macro or scripting mechanism (you would be able to build up your own effects, using a basic set of commands perhaps derived from the core effects).

The current problem is that I'm running out of letters in the alphabet (a number, including V, have gone with the Pro features ), so I'm working out options of adding more than 26+10 effects - perhaps have effects case sensitive...? Enter an effect with Ctrl/Shift to access "alternate effects"? I'm working on it...

All the best,
Chris
Bookmark and Share Top of the page Bottom of the page
CS_TBL
Posted 2007-08-01 4:50 PM (#13974 - in reply to #13973)
Subject: Re: automatic controllers



Expert

Posts: 512
500
Location: Netherlands
Naturally, I'm using IT2 since '96 (I know every pixel of it), so *if* I'd think that using the delta commands in the fx columns would be the best solution, then I wouldn't have written and designed this thing. :P

1) The point is exactly the typework of such deltas.
2) Multiple controllers can be at work (and I know in the future you'll have multiple fx columns, but this automatic controller thing would work now! (and then!))
3) It adds to non-destructive editing. Since I'm not hard-defining the depth in the fx column but in the definition of such an automatic controller. If I need less crescendo eb/flow, what would be easier? to change all the deltas across 30 patterns for every channel that uses them, or simply go to that auto.ctrl editor and change some values there? I'd say the latter is, even from a code point of view, the correct and most easiest way.
4) Experimenting is easy. Want another flow (e.g. starting later and ending earlier)? Just change one command, using hard-placed deltas or values you'd have to change the whole shebang for each and every experiment.
Bookmark and Share Top of the page Bottom of the page
CS_TBL
Posted 2007-08-01 4:55 PM (#13975 - in reply to #13936)
Subject: Re: automatic controllers



Expert

Posts: 512
500
Location: Netherlands
as for fx characters: At least you want them without combination keys, as far as I can see you could still use: - = [ ] \ ; ' / That's another 8 codes!
Bookmark and Share Top of the page Bottom of the page
CS_TBL
Posted 2007-08-01 5:25 PM (#13979 - in reply to #13936)
Subject: Re: automatic controllers



Expert

Posts: 512
500
Location: Netherlands
and:

5) It's the ideal way to define what to sync to. Using this mechanism, one could force controller changes to stay as fast as they were, even when the bpm is changing -when you use 'clock' as sync-.



..why can't I edit my earlier messages :S (oh, there's prolly a time limit)

Edited by CS_TBL 2007-08-01 5:26 PM
Bookmark and Share Top of the page Bottom of the page
chrisnash
Posted 2007-08-01 6:15 PM (#13987 - in reply to #13979)
Subject: Re: automatic controllers



Developer

Posts: 746
50010010025
Location: England

1) The point is exactly the typework of such deltas.

Sorry - didn't understand this. Typework?

2) Multiple controllers can be at work (and I know in the future you'll have multiple fx columns, but this automatic controller thing would work now! (and then!))

I'm not wild about expending effort on something I'm already planning to make obsolete.

3) It adds to non-destructive editing. Since I'm not hard-defining the depth in the fx column but in the definition of such an automatic controller. If I need less crescendo eb/flow, what would be easier? to change all the deltas across 30 patterns for every channel that uses them, or simply go to that auto.ctrl editor and change some values there? I'd say the latter is, even from a code point of view, the correct and most easiest way.

You're introducing an abstraction that could vary between command, file, project, user, etc. As before, I mentioned this inhibits memorisation and learning - you would have to look up the delta values before making an edit because they are no longer evident in the command itself. Abstractions can be useful, but they take away fine control and should be used with caution. It makes it a higher-reasoning task which must be thought out before hand, rather than a "get stuck in" organic approach to laying down tracks.

4) Experimenting is easy. Want another flow (e.g. starting later and ending earlier)? Just change one command, using hard-placed deltas or values you'd have to change the whole shebang for each and every experiment.

Isn't this the same as 3)?

I'll definitely look at MIDI effect slides, but will probably opt for fixed delta (like Dxx, etc.). Take solace though, as any "scripting feature" would probably allow you to set up your desired functionality.

Chris

Bookmark and Share Top of the page Bottom of the page
Jump to page : 1
Now viewing page 1 [25 messages per page]
Jump to forum :
Search this forum
Printer friendly version
E-mail a link to this thread

(Delete all cookies set by this site)