View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005474 | ardour | features | public | 2013-05-06 14:54 | 2013-05-20 21:12 |
Reporter | djbarney | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | have not tried |
Status | new | Resolution | open | ||
Summary | 0005474: Allow feature to pipe out and/or return MIDI data from external MIDI CLI or scripts | ||||
Description | The June 2013 issue of Linux Magazine had a favorable review of Ardour 3 that contains the following quote ... "I'm happy about Ardour3's MIDI sequencing capabilities, but I'm ready for the next level. I'd like to see routines for generating and transforming MIDI data in compositionally useful ways (e.g, retrograde, inversion, mapping, harmonic transposition, randomizations, and so forth)." p42 The Linux CLI environment is a set of common tools (GNU tools) that can manipulate data/media using shell scripts or scripting languages like Python. Python already has MIDI modules available for it. Here are some examples of the CLI tools that are available out there ... * http://das.nasophon.de/mididings/ - Python * http://www.midish.org/ - Command line (2012) * http://www.sreal.com:8000/~div/midi-utilities/ - Command line (2012), looks more in line with Linux philosophy This might allow Ardour to stay focused on its own set of MIDI manipulation tools while allowing the user greater flexibility and access to exotic/innovated manipulation/generation of MIDI through the CLI/Script interface. | ||||
Additional Information | I think MIDI files can already be manually exported and manipulated in this way, but it might make things easier if there is an actual implemented send/return path for that kind of processing that can be linked to user defined routines (CLI/Python) that are listed in a user defined MIDI functions menu. | ||||
Tags | No tags attached. | ||||
|
You can already "pipe" send/return jack midi data just using jack ports. and use any jack application to modify it in realtime. However this does not allow for automation / sync with the ardour timeline (unless the external application also syncs to jack-transport or..) Allowing LV2 plugins to modify MIDI data directly from Ardour's mixer is on the TODO list. As for destructively algorithmically editing MIDI snippets on the timeline.. Uhm. Dunno if that's a good idea in ardour itself.. |
|
Since revision 3.1-82-gdb39613 Ardour3 allows to chain LV2 midi plugins. ie. plugins can filter/rewrite MIDI events on the fly and synths can send MIDI feedback. |
|
I see. So I could write or encourage someone to write an LV2 plugin that ports the MIDI date to external command line programs and scripts. Thanks. |
|
Just use jack midi ports. Mididings for example supports that already. midish will work (via a2jmidi).. |
|
OK, thanks for the advice. |