3 releases

0.0.3 Nov 30, 2023
0.0.2 Feb 19, 2022
0.0.1 Feb 4, 2021

#1521 in Parser implementations

AGPL-3.0-or-later

200KB
3K SLoC

triseratops - The robust, in-depth Serato Parser & Serializer

Version License Build Status

triseratops - The robust, in-depth Serato Parser & Serializer

triseratops is library to parse metadata and database files written by the Serato DJ software, written in Rust.

Note: This library is currently still under heavy development and might have breaking API changes in the future.

FAQ

No, this library has been written independently. All formats have been reverse-engineered and the parsing code has been implemented from scratch.

Does this library read tag data from MP3/AIFF/MP4/FLAC/Ogg files?

It parses the Serato DJ metadata embedded in those files, but it can't read directly from those file types. You need to use a separately library (e.g. id3 for MP3/AIFF) to read the actual tag data from media files.

What's the history behind this library?

Work on reversing the format and a corresponding parser was started in 2019. The goal was to integrate such a parser into Mixxx, a free and open-source DJ software to reduce vendor lock-in and allow former Serato DJ users to migrate to Mixxx without losing their cue points, beatgrids, etc.

Mixxx currently uses a different implementation (in C++) to parse those tags, but since it will switch to aoide for library management at some point in the future, it made sense to write a new parser in Rust.

License

This software is licensed under the terms of the Affero GPL v3, or (at your discretion) any later version.

Dependencies

~1.2–2MB
~38K SLoC