Selectia provides a modern interface for managing your music library and organizing your music files.
Selectia can load directories, scan audio files, index them and store the metadata in a database. It handle doublon seamlessly and handle removal of files that are no longer in the library as well.
The tagging feature is at the core of Selectia. It allows you to tag your music files with metadata such as artist, album, genre, bpm and more. The tagging system is also used for search, filtering and recommendation.
When you add a new music file to your library, Selectia can automatically tag it using a combination of pattern matching and AI. Selectia can also suggest tags based on the file name, the file path, the audio data and existing tags to allow fast and non repetitive tagging.
Selectia can analyze audio files to extract metadata such as bpm, key, energy, danceability, etc...
Selectia can edit audio files to remove silence, normalize volume, etc... It can host VST plugins to apply custom effects to audio files as well.
Selectia can normalize audio files to ensure consistent playback quality across your library.
Selectia can convert audio files to different formats to ensure compatibility across your library.
Selectia can upscale audio files to improve the playback quality.
- Node.js (>22 recommended)
- Yarn
- Rust nightly
- SQLite system library
Running the app in dev mode
Install the frontend dependencies.
cd packages/selectia-app
yarn install
And finally run the app (this will automatically build the Rust part and watch for changes in both the Rust and Typescript parts).
cd packages/selectia-app
yarn tauri dev
The Rust/Typescript bindings are generated using ts-rs.
You can regenerate them by running cargo test -p selectia-app
which will
generate the src-tauri/bindings
folder.