Request: AUP3 and/or sqlite documentation

Is there going to be documentation on the AUP3 format, and/or the sqlite database structure?

That would make my tech-oriented mind happy, but what I really want is a way to get at the sort of info contained in the old AUP file:

  • How many tracks are in this project?
  • Are the track stereo or mono, and what is the bitrate?
  • What are the track names?
  • How many blocks are in each track?
  • Any labels on the track(s)?

Personally, for my electronic music projects, I’ll have at least a half-dozen tracks, usually named for the synthesizer patch. It’s easy for me to check the AUP files to see which tracks used a given patch, but the only way to do that with AUP3 is to open each project in Audacity. Also, on the occasions when I remembered to add a note to myself via a label (“Adjustable Fade: S-Curve Down: 0db to -10db”), it’s easy to find such notes in the AUP files.

So, this is a two-part request: documentation on the AUP3 file, and a program (Python script?) to show the database info. Too much to ask?

  • Win

Try examining a project AUP3 file with DB Browser for SQLite.

I did - it was not very helpful. Here’s what it shows for the data in one of my projects, which opens exactly as expected in Audacity.

The command-line “sqlite3” on Linux says “Error: file is encrypted or is not a database” and the web-based “phpliteadmin.php” says “No table in database.”

  • Win
    aup3-browse.png

I’d assumed from the nature of your question that you had some expertise with SQLite.

It’s normal in a closed project for the “autosave” table to be empty.

If you look at the Database Structure you should see something like this:
structure.png
The “project” table contains the project structure in binary format:
project.png
The “sampleblocks” table contains the audio data:
sampleblocks.png
Note that unless / until a format specification for AUP3, it is subject to change at any time without notice. The Audacity developers will make every effort to retain compatibility across Audacity versions, but that does not guarantee compatibility with third party apps.

Steve - Thanks, this is quite helpful!

Yes and no - I know SQL, and I’ve used phpMyAdmin and the like for many years, but I don’t have a lot of sqlite experience. I’m still quite confused about the failure of the Linux-based tools; someday soon I’ll try phpLiteAdmin on a Windows server.

Note that unless / until a format specification for AUP3, it is subject to change at any time without notice. The Audacity developers will make every effort to retain compatibility across Audacity versions, but that does not guarantee compatibility with third party apps.

I’d say this is the “real” answer for now, and that’s fine - but here’s one more vote for a format specification for AUP3!

Thanks again, much appreciated.

  • Win

Over a year later now… could we have a breakdown of the AUP3 format as it stands? :slight_smile:
Why?
I am trying to code-up a tool that takes the information from the label track in an AUP3 file without having to manually do this via exporting it as a .txt file, and I have hundreds of files with labels, so I need to batch export the label information.

Fingers crossed!



So I suspect this is not in the cards. For one reason, the information that was formerly contained in the “.aup” file is compressed (think .PDF or .ZIP file) and not available in a straightforward manner. For those of you into C++, the routine that decompresses the data is in ProjectSerializer.cpp::Decode.

However, I believe the information you are searching for is available through a programmatical interface. View > Extra Menus; Extra > Scriptables II > Get Info > Labels, Tracks, Clips, etc. And you can even request the data in your preferred format.

I have never done so myself, but I believe you can get all of this information via a Python or Nyquist interface. Good luck! :smiley: If you write such routine, perhaps you will want to share it. :ugeek:

That’s quite helpful, that’s the exact data I want/need. It’s too bad that it’s currently only available from within Audacity, but it’s a start, and as you say, perhaps a Nyquist / Python programmer can make a batch-export program.

  • Win

Check the GitHub - audacity/audacity-project-tools
that is the AUP3 project recovery tool that can read, display, export and repair AUP3 project files

1 Like