2025-03-15 10:59:40 +00:00
2025-03-14 12:17:52 +00:00
2025-03-15 09:27:35 +00:00
2025-03-15 10:59:40 +00:00
2025-03-15 10:59:40 +00:00
2025-03-14 12:17:52 +00:00
2025-03-14 12:17:52 +00:00
2022-02-15 21:05:31 +00:00
2025-03-15 09:33:32 +00:00
2025-03-15 09:33:32 +00:00

Bliss Analyser

Simple rust app to analyse songs with bliss-rs. The output of this is a SQLite database containing song metadata and bliss analysis. This is then intended to be used by Bliss Mixer

Building

This application can be built in 4 variants:

  1. Using command-line ffmpeg to decode files.
  2. Using libavcodec, etc, to decode files.
  3. Using libavcodec, etc, to decode files, but statically linked to libavcodec, etc.
  4. Using symphonia to decode files.

libavcodec is the fastest (about 70% faster than ffmpeg commandline, and about 3 times faster than symphonia), but might have issues with library, versioning, etc., unless these libraries are statically linked in.

libavcodec statically linked may reduce supported file formats.

ffmpeg whilst slower then libavcodec produces a more portable application.

symphonia also produced a more portable application, but is slightly slower to decode files, and does not produce identical analysis results. Therefore, it is not advisable to mix files analysed with ffmpeg (any variant) and symphonia.

Build for 'ffmpeg' command-line usage

clang and pkg-config are required to build, as well as Rust

To install dependencies on a Debian system:

apt install -y clang pkg-config

To install dependencies on a Fedora system:

dnf install clang pkg-config

Build with cargo build --release --features=ffmpeg

ffmpeg is then a run-time dependency, and should be installed on any system where this application is to be run - it should also be in the users $PATH

Build for 'libavcodec' library usage

clang, pkg-config, and ffmpeg are required to build, as well as Rust

To install dependencies on a Debian system:

apt install -y clang libavcodec-dev libavformat-dev libavutil-dev libavfilter-dev libavdevice-dev pkg-config

To install dependencies on a Fedora system:

dnf install ffmpeg-devel clang pkg-config

Build with cargo build --release --features=libav

The resultant application will be less portable, due to dependencies on libavcodec libraries (and their dependencies).

Build for 'libavcodec' library usage, statically linked

clang, pkg-config, and ffmpeg are required to build, as well as Rust

To install dependencies on a Debian system:

apt install -y clang libavcodec-dev libavformat-dev libavutil-dev libavfilter-dev libavdevice-dev pkg-config

To install dependencies on a Fedora system:

dnf install ffmpeg-devel clang pkg-config

Build with cargo build --release --features=libav,libavstatic

Build for 'symphonia'

clang, and pkg-config are required to build, as well as Rust

To install dependencies on a Debian system:

apt install -y clang pkg-config

To install dependencies on a Fedora system:

dnf install clang pkg-config

Build with cargo build --release --features=symphonia

Usage

Please refer to UserGuide.md for details of how this tool may be used.

Description
No description provided
Readme GPL-3.0 45 MiB
Languages
Rust 89.7%
Shell 5.3%
Python 5%