Session sample rate conversion tool

Typical usage scenario:

  1. You create a session at a high sample 96khz and get too ambitious and want to use 44.1khz instead due to processor usage
  2. You create a session at a low sample rate and decide you like it more than expected and wish to convert it to 96khz.

Currently you can load a session created at sample rate X while JACK is running at sample rate Y. If X and Y are different playback will sound odd and all timings are wrong also.

The tool to solve this, should you wish to change the sample rate of session S from X to Y, might be a script. It would read the old session, create a new one, work through all the sesssion_name.ardour session files, adjust the timings, and then work through all the interchange audio files and resample them (using a command line re-sampling program, maybe sox or a libsamplerate/libsndfile derived tool).

Is there any existing documentation about the session file, timings, and any other pertinent data, such a script might need to access?

There is already a perl script in the tools directory of the Ardour source code ( which does all this. Obviously it could be wrapped up a little nicer.

Thanks Paul. Although these scripts are present in SVN, they’re missing in the tarball.

Thanks you for the post.
Hi, I am a new member of forum who signed up only post SEO spam. Would a newcomer be warmly welcome here? Is it fine for me to post my silly URLs that don’t actually turn into links on these forum pages? Am I a moron? Good day you guys!!!

I’ve found that the scripts work to resample audio files to the new sample rate, however, it was necessary to manually copy any midi files to the newly created session directory and to manually edit the session file to reflect the new session sample rate. Without copying midi files ardour was segfaulting on session load. Without editing the session XML file ardour was incorrectly warning about the wrong jack sample rate.