[PLUGIN] Crossfader Switch

Hi Volumio community

I’ve proposed to beta plugin repository a Crossafder Switch Plugin
It will allow you to crossfade between tracks using basic crossfade or mixramp tags crossfade, to serve music at a party or in a smoother way for people who like things smoothly mixed.

This is basic function of MPD/MPC that was not supposed to work with volumio, but in fact it does !!!

I’ve got three sliders to fine tune according to your taste, to be heavily tested by YOU

Prerequisites still need to be tested but this is my starting point

  • Software mixer activated
  • Increase buffer to something like 8 or 12 MB
  • Mixed tunes should be at the same bit rate

I have not heavily tested all parameters, and, to be honest, get some random results, your help will be welcome to make it all reliable

TIP1 : everytime MPD is relaunched or player settings modified, you will have to reclick on “save” button to generate the MPC crossfade command. For the moment you are blind, I will later try to modify plugin settings page to reflect MPC crossfade value in real time.

3 Likes

Hi, I performed further tests this week-end and here are my results.

  • crossfading work (tested on mp3, flac and ape).
  • but any settings beyond 4 or 5 seconds deserve nothing or break crossfading, I don’t know why but maybe link with the way volumio handle queue in playqueue.js.
  • mixramp analysis is still not a part of MPD (it will in 0.24), you will have to analyse your library yourself to benefit of it using the two sliders (and possibly get better mix results)

Here is the package.zip to manually install the plugin the usual way:
removed by admin request

@volumio,@balbuze, could you have the kindness to push this on beta repo.

Thank you.

New package fixed by balbuze, thx to him
removed by admin request

Hello
I try to release as bets tomorrow if everything is fine.
Please wait to avoid possible issue with manual installation.
TY

packages removed :+1:

Plugin v 1.0.1 is now available in beta repo, please try and report

1 Like

Hi
I will remove this plugin from my personal plugin repo, across my test, the way volumio handle mpd/mpc queue clearly interact with crossfader functionality (at least anything beyond 2s)
This functionality would need to be hardcoded in volumio queue.js but, to be honest, doesn’t look fully wanted by the community… )

I was trying to get this to work but didn’t get it to work for 10 seconds, now I understand why. I am very interested in this functionality.

what is your experience exactly with this plugin ? i’ve never had any feedback it’s a shame.
I plan to make another attempt to improve it if possible, i have some trail to follow

Hi Chourmovs_vs,

What I was thinking a standard volume crossfade from one song to the next overlapping by a configurable amount of seconds. The last x seconds of track one would volume down (fade out) as the first x seconds Track two would volume up (fade in) by overlapping so there is no pause or abrupt (gapless) switch between tracks. Crossfade is also gapless but the volume is fading out on the current track while the volume is fading in on the next track. It would also be amazing if the cross fader could under stand log lead in and lead out issues. So when I used the plugin, no crossfade occurred at all let alone fade in and out. I hope that helps and I am happy to test and report my experience as well.

Hi Glenn, than you for your answer and attention.
What you describe - with no surprise - is exactly what this plugin is supposed to provide.

To perform this, for the moment, my plugin simply call mpc crossfade command to use native mpd ability. The problem is that volumio is not pure MPD but something more sophisticated with a daemon called volumio that use MPD instances dynamically to provide bit perfect music playing.

Crossfading is by essence not bit perfect, this is why it doesn’t move crowds here and I don’t get any support, I believe…
Thus said,
This is complicated but theoretically I may be able to midlleware something to take control on mpd part and ensure crossfading could occur

As you are my only tester with reporting capacity, I need that you answer to this few questions
for you, plugin

  1. Has never worked at all
  2. work sometime
  3. work sometime if I down second number to less than 3 seconds
  4. work always if I down second number to less than 3 seconds

Thank you by advance

Vincent

Hi Vincent,

Thanks for the quick response!! Here are the answers to your questions:

  1. Has never worked at all
    It does work. I have NOT experienced a period where it does not work at all
  2. work sometime
    It appears to works all the time since I re-enabled and started testing again,
  3. work sometime if I down second number to less than 3 seconds
    It always works but seems to start the crossfade at 3 seconds regardless of the setting that is chosen (3 to 15)
  4. work always if I down second number to less than 3 seconds
    It does appear to respect the setting of 1, 2 or 3 seconds.

I am using Volumio Version 3.742
RaspberryPI 3
Plugins:

  • Pandora 2.12.1
  • Spotify 4.1.0
  • Amplifier Switch 0.2.0
  • AutoStart 3.0.4
  • crossfaderswitch 1.0.2
  • System information 3.0.0

Thank you, this is encouraging, I need to redo test when I come back from hollidays because it seems my plugin work better for you than the last time I personally tested it ( not all tracks were crossed, this was bizarre)
Finally my understanding is that your remaining wish would be to extend crossing time duration to something higher than 3 seconds

Thanks Vincent,

Again thanks for the support and quick response. Yes it does seem to be working better than the last time I looked at it. I do know that Volumio fixed something in gapless playing, don’t know if that improved the crossfade.

My assumption of the plugin is that the “Adjust Crossfade Time In Second” is the “x” in my earlier post. The slider allows 0 to 15 seconds. at 15 it would begin fade out 15 seconds before the end of the track and start the next track fade in at that same time. I read somewhere that crossfade will only work on the same type (mps, flac, etc.) and bitrate. I will have to confirm that is the case, maybe that is why it doesn’t work on some tracks.

I also started playing with the “Adjust Mixrampdb in DB”. That seems to be working well. I set it to -10dB and it cuts the volume by 50% as it fades out the last 3 seconds.

Hope that helps!! Have a great rest of your holiday!!

Glenn

Yes and mpd has been updated

I’ve to check if it is exactly the way mpd crossfade work, you know there are several way/fade profile to perform crossfade

That’s right, but My failing tests where performed on same compilation disc…

This is great but suprising news, it would mean that mixrampdelay and mixrampdb metrics has been generated live by MPD. This was on the todolist @mpd

what do you mean here ? Can yoube more explicit

Not sure exactly what happened. When I first started testing it again, there was no crossfade at all. It may have been my expectation that 10 second crossfade did not crossfade at all or not until the last 3 seconds. After further testing and you comments, I understood a little better the limitations. I think you can ignore that statement. It does work, however anything over 3 seconds does not change the crossfade timing.

HTH

Glenn

Hi Chourmovs_vs,

Just checking in to see if there is any additional testing you need or if there is anything else I can provide.

Glenn

Hi Glenn, sorry to be late at answering
I did some experiment beginning of september
First of all, I have difficulties at reproducing corssfading, even lower than 3 seconds, on my volumio primo
Secondly, I tried to play with volumio .js but with no success. i understand a little bit more how things are running but i’m not sure there’s a window to easily change the way transition between tracks work, I’m afraid…
I’ve moved on other coding subjects since then and to be honnest, I’m a little bit disapointed by a couple of things here and the global behavior of my primo (Qobuz and Spotify make it crash for instance) so I moved to another software solution for my daily use.

Thanks for the update. Appreciate the research.