Code Monkey home page Code Monkey logo

bliss-analyser's People

Contributors

cdrummond avatar chincheta0815 avatar serial-ata avatar terual avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

bliss-analyser's Issues

Linux ffmpeg5 builds disabled

The PPA used for ffmpeg5 builds has been paywalled, so builds are currently disabled until an LTS release of Ubuntu ships with ffmpeg5 - github images seem to be LTS only.

Solution: Github Action not working for Linux ARM

Hej theren,

if you remove the "sudo"s and add a "apt-get install cargo ..." to this line here here:

run: sudo apt-get update && sudo apt-get install build-essential yasm libavutil-dev libavcodec-dev libavformat-dev libavfilter-dev libavdevice-dev libswresample-dev libfftw3-dev ffmpeg -y

The action will stop a little bit later with
Updating crates.io index
73
/home/runner/work/_actions/uraimo/run-on-arch-action/v2.2.0/src/run-on-arch-commands.sh: line 4: 12 Killed cargo build --release
74
Error: The process '/home/runner/work/_actions/uraimo/run-on-arch-action/v2.2.0/src/run-on-arch.sh' failed with exit code 137

New warning: could not be parsed as a number

I am usually using the off-the-shelf bliss-analyser v0.2.2.

Now I tried to build it on my own from the latest Github sources.
While everything seems OK with my self-built binary, I am wondering about a warning it gives me for most of the songs, i.e. something like [2024-07-08 10:47:49 W] "7\0" could not be parsed as a number.

Inspecting the resulting sqlite database everything seems correct, all new songs have been added, all table columns for the new songs contain values.

However, I have never seen this warning with bliss-analyser v0.2.2. Is this something to worry about?

cue files are rescanned at every run

I saw that cue files are re-scanned every time I scan my library.

Otherwise great plugin! I really enjoy it! Thanks for making this available.

Add more weighting options to euclidean distance calculation

I 'm not sure if this has to be done "bliss plugin side" or "bliss analysis side", but this could be a nice to have to get more tweaking ability in our mixes, by playing on weight/influence of tempo, timbre, chroma and loudness in the result

taken from https://lelele.io/bliss.html
While the euclidean distance (each numeric feature counts for the same amount as the other in the distance) provides very satisfactory results, experimenting with metric learning, or simply adjusting the distance coefficients could improve your experience, so don't hesitate to do so!

I love your plugin otherwise, please continue the good work

bliss-analyser upload fails with error "Invalid port"

After moving from piCorePlayer 8.2.0 to piCorePlayer 9.0.1 (fresh setup) I am having troubles with uploading bliss.db to LMS.

When invoking sudo ./bliss-analyser upload on the command line I get the following console output:

[2024-06-02 16:02:07 I] Requesting LMS plugin to allow uploads
[2024-06-02 16:02:12 E] Invalid port

Using the -l debug option results in the following:

[2024-06-02 16:04:41 I] Requesting LMS plugin to allow uploads
[2024-06-02 16:04:41 D] connecting to 127.0.0.1:9000 at 127.0.0.1:9000
[2024-06-02 16:04:41 D] created stream: TcpStream { addr: 127.0.0.1:46650, peer: 127.0.0.1:9000, fd: 3 }
[2024-06-02 16:04:41 D] sending request POST http://127.0.0.1:9000/jsonrpc.js
[2024-06-02 16:04:41 D] writing prelude: POST /jsonrpc.js HTTP/1.1
Host: 127.0.0.1:9000
User-Agent: ureq/2.4.0
Accept: */*
accept-encoding: gzip
Content-Length: 77
[2024-06-02 16:04:46 D] response 200 to POST http://127.0.0.1:9000/jsonrpc.js
[2024-06-02 16:04:46 D] adding stream to pool: http|127.0.0.1|9000 -> TcpStream { addr: 127.0.0.1:46650, peer: 127.0.0.1:9000, fd: 3 }
[2024-06-02 16:04:46 D] dropping stream: TcpStream { addr: 127.0.0.1:46650, peer: 127.0.0.1:9000, fd: 3 }
[2024-06-02 16:04:46 E] Invalid port

Does that make any sense?

It seems I have misconfigured something in my new LMS setup but I don't remember having done anything special to enable this bliss.db upload in my previous LMS system. Do you have any hints how to tackle this or at least where to look?

Add option to save results to files

Add option (in config.ini?) to store analysis results within a file's tags. When analysing check for this tag an use results from there. Would need to decide on how to save - e.g. comma-separated list of doubles, json string, etc.

Error: Analysing one error prone file makes analysis crash and not restartable.

I got the following issue when running bliss-analyser:

[2022-06-18 15:23:21 I] Looking for non-existent tracks
[2022-06-18 15:23:23 I] Num non-existent tracks: 0
[2022-06-18 15:23:23 I] Looking for new files
[2022-06-18 15:23:29 I] Num new files: 1
[2022-06-18 15:23:29 I] Analysing new files
[00:00:00] [=========================] 100%      1/1      0 Analysed. 1 Failure(s).
[2022-06-18 15:23:30 E] Failed to analyse the following file(s):
[2022-06-18 15:23:30 E]   MusicBox/Billy Joel - Piano Man/07. Billy Joel - Stop in Nevada.mp3 - error happened while decoding file โ€“ while sending decoded frame to the resampling thread for file '/export/lmsdata/repository/music/MusicBox/Billy Joel - Piano Man/07. Billy Joel - Stop in Nevada.mp3': SendError { .. }

In general, I do not bother if the file mentioned is not scanned. Such things happen.
But it seems to me that this one scanning error stops the whole scanning process instead of just scanning the next file.
Furthermore, a restart starts with this file and stops immediately...

Am I doing something wrong or is this a bug?

I ran the analyser with
bliss-analyser-linux-aarch64 --logging trace --db /export/lmsdata/cache/bliss.db --music /export/lmsdata/repository/music analyse

Just another addition: Is it possible that all remaining files are scanned and analysed? Maybe there is just the "Analysis end message" missing... (total files in db vs. total files scanned...)

Unfortunately, I ran the command in a script and did not get the original progress bar... So maybe a summary: "scanned X files out Y files with Z errors" at the end of a scan would help.

macOS github action failing

macOS builds currently disabled as github action fails:

  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-apple-darwin
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_apple_darwin
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

  --- stderr
  thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: `PKG_CONFIG_ALLOW_SYSTEM_CFLAGS="1" PKG_CONFIG_ALLOW_SYSTEM_LIBS="1" "pkg-config" "--libs" "--cflags" "libavutil"` did not exit successfully: exit status: 1
  error: could not find system library 'libavutil' required by the 'ffmpeg-sys-next' crate

  --- stderr
  Package libavutil was not found in the pkg-config search path.
  Perhaps you should add the directory containing `libavutil.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'libavutil' found
  ', /Users/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ffmpeg-sys-next-6.0.1/build.rs:715:14
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
Error: Process completed with exit code 101.

Build fails

Hi Craig

I've just tried to build and got the following:

error[E0658]: use of unstable library feature 'int_log'
   --> /home/x/.cargo/registry/src/github.com-1ecc6299db9ec823/lofty-0.15.0/src/musepack/sv7/properties.rs:351:11
    |
351 |             ((peak.ilog10() * 20 * 256) as f32 + 0.5) as u16
    |                    ^^^^^^
    |
    = note: see issue #70887 <https://github.com/rust-lang/rust/issues/70887> for more information

   Compiling ndarray-stats v0.5.1
For more information about this error, try `rustc --explain E0658`.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.