View MIDI editing as text editing

Here is a wild idea.

View MIDI editing as text editing.

  • Use of a CARET cursor.
  • All can be done with similar key shortcuts as an standard programmer editor like Kate.
  • A fixed minimum size of note (a few ms)

So a text file that represents all my MIDI tracks would look like:

TRACK 1 =====================================================================================================================
note 88
.
.
.
note 50 xxxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
note 49 xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxx xx
.
.
.
note 40 xxxxxxxxxxxx xxxxxxxxxx xxxxxxxxxxxxxxxx
.
.
.
note 1
note 0
TRACK 2 =====================================================================================================================
note 88
.
.
.
note 1
TRACK 3 =====================================================================================================================
note 88
.
.
.
note 1
.
.
.
TRACK N =====================================================================================================================

Observations:

  • There are no notes overlapping. If the 'x’s touch (each x has the min_note_length), they become the same note. No more ghost notes.
  • All lines are filled with spaces at start. You only have to write the 'x’s.
  • Deafult writing mode is overwrite.
  • You can set the zoom rate in powers of 2 (1,2,4,8,16,32,64,128,256, etc) changing the setting with
    a keyboard shortcut:
    Z_plus → inc num zoom rate
    Z_minus → dec num zoom rate
    ctrl_plus → zoom in
    ctrl_minus → zoom in
  • You can set how many ‘x’ typed consecutevely in powers of 2 (1,2,4,8,16,32,64,128,256, etc) changing the setting with
    a keyboard shortcut:
    W_plus → inc num min_notes to write
    W_minus → dec num min_notes to write
    w → write num min_notes
  • You can set how many characters are jumped consecutevely in powers of 2 (1,2,4,8,16,32,64,128,256, etc) changing the setting with
    a keyboard shortcut:
    S_plus → inc space jump
    S_minus → dec space jump
    s → jump num min_notes
  • Lines are as long as the track goes.
  • grids for every measure, step, etc.
  • Some necessary key shortcuts not present in text editing for moving the CARET cursor
    next MIDI track (ctrl page_up)
    previus MIDI track (ctrl page_down)
    next section of line (like a page_up but horizontal) (ctrl_shift_right)
    previus section of line (like a page_down but horizontal) (ctrl_shift_left)
2 Likes

And then include a text editor?! Which one? emacs or vi :stuck_out_tongue:

Ardour stores MIDI files as SMF .mid, so any user who wishes can already directly access it using tools such as GitHub - markc/midicomp: A MIDI Compiler - convert SMF MIDI files to and from plain text with their favorite text-editor.

Anyway, I think you have this the wrong way around. emacs should incorporate a DAW, not the other way around :slight_smile:

3 Likes

Also, this sort of thing (using a computer keyboard to create and edit MIDI) is the essence of good tracker interfaces. There is a PR for a tracker interface for Ardour in the “queue”, and we hope that it’s creator will make it mergeable with Ardour at some point.

4 Likes

you just asked for it… :stuck_out_tongue:

oh, really? tracker interface in ardour(mixbus)? this is so fucking awesome! can’t wait to see it! :slight_smile:

1 Like

Don’t you think that editing MIDI in Ardour (as it is visually) using the keyboard should be comfortable?
Adding a CARET cursor and the correct key shortcuts would make it so.

Now isn’t that an evil question?

While embedding one of them is probably overkill, adding a preference that allows you to choose an auxiliary program to edit the text with would be neat and might prevent - or at least postpone - an editor war :wink:

Having block editing* and multiple cursors** surely can’t hurt. One would have to ensure that all the lines have the same length by filling them with spaces for them to work.

*

I guess that should work with about any editor

**

supported by

  • Emacs
  • Vim
  • Sublime
  • TextMate

… and probably many more

disclaimer

“the superior editors and the lesser ones were first grouped separately and then ordered alphabetically; this in no way indicates any allegiance to any editors, be they named or unnamed.”

Maybe Emacs should be kicked out though: that would leave us with VST.

Or we kick VST out and go with LV2 instead, which would close the circle to evil :wink:

This is a demo of the tracker interface from a few years ago:

1 Like

wow, that is awesome! how i access it in ardour? and do i need special plugin - does the tracker interface only generates midi?

It is not currently a part of Ardour. Nils did the work you see on an older version, and we are hoping they will bring it up to date with the current version, at which point we will merge it.

1 Like

It is still work in progress:

1 Like