I am interested in applying off-line audio processes to audio region in a session, and or file in the region pool.
Perhaps this could be implemented something like this:
Preferences or setup file is modified to contain a list of available off-line process templates.
Each template could look something like this (drastic simplification, ideally xml with schema or some such):
name: Some Process
description: A process that does somthing
invoke: someprocess -opts -i=$$infile$$ -out=$$outfile$$
where: $$infile$$ and $$outfile$$ are placeholders for paths to temporary files that Ardour will create and then import. This specification could be extended to include parameters etc
User right clicks a region and can do myregion->offline process->choose process from list of templates. A simple interface built from the template is presented.
In the background Ardour does quick export of the region audio into a temporary file.
Ardour then invokes the cli command via the template in a new process.
Off-line process does its business and returns
Ardour does an import of the output file.
Because the process is essentially decoupled from Ardour there would be no dependency changes and minimal risk from off-line processes crashing. In my opinion this could open up some possibilities for integration with other tools.
Is anyone else interested?
Are there any free (i.e. GPL etc.) offline cli processing software packages that such a feature could interact with? Just a thought, but it’s probably worth investing effort in creating an offline audio suite before worrying about how it could be integrated with Ardour.
FWIW, I’m considering developing a framework for such things. When I looked around for offline audio manipulation software, I found it to be rather thin on the ground. OK, there is e.g. CSound and stuff like that, but what I’m after is something that can slice, dice and mix audio files offline and hopefully be scripted by e.g. Ruby.
Anybody else have similar thoughts??