mirror of
https://github.com/librespot-org/librespot.git
synced 2026-04-27 08:15:50 +03:00
[GH-ISSUE #695] There should be a "none" option for "--mixer" switch. #391
Labels
No labels
A-Alsa
SpotifyAPI
Tokio 1.0
audio
bug
can't reproduce
compilation
dependencies
duplicate
enhancement
good first issue
help wanted
high priority
imported
imported
invalid
new api
pull-request
question
reverse engineering
wiki
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/librespot#391
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ghost on GitHub (Apr 14, 2021).
Original GitHub issue: https://github.com/librespot-org/librespot/issues/695
Originally assigned to: @JasonLG1979 on GitHub.
When using librespot with a DAC which has no volume control,
--mixer alsadoes not work. Also, some people prefer to set their volume only the amplifier to achieve the highest transparency possible and not allow the player to change the volume whatsoever.For example, mpd allows this by setting in
/etc/mpd.conf:Librespot should allow something similar too, i.e. adding another option, for example,
--mixer none, which would simply ignore any volume change request from spotify client, and just always send the track at 100% volume into the selected backend.I reckon this should be extremely easy to implement to the current code, wouldn't break any other features, and would suit many audiophiles.
@ashthespy commented on GitHub (Apr 14, 2021):
There should be a
fixedoption for--volume-ctrldoes that not work for you?@ghost commented on GitHub (Apr 14, 2021):
That is quite a good idea. It should be a valid workaround, but the solution still could be cleaner.
@roderickvd commented on GitHub (Apr 14, 2021):
I think @ashthespy means to say:
--volume-ctrl fixedis already there. Combined with--initial-volume 100 --mixer softvolthis leaves samples untouched. Yes it'd be easy to map this to--mixer none. Good opportunity to learn some Rust? 😉@ashthespy commented on GitHub (Apr 14, 2021):
The
--mixerflag is ALSA specific, while thevolume-ctrlis one level higher. It is how the volume command from Spotify is handled, regardless of the backend.You could add add a case to map a "none" mixer, but I personally feel it's moot.. You shouldn't be passing in mixer if you don't mean to use it?
@roderickvd commented on GitHub (Apr 14, 2021):
Current behaviour:
If no mixer is specified, it defaults to
softvol.@ashthespy commented on GitHub (Apr 14, 2021):
Oops, you are right! Mixed (ahem) it up with
--mixer-nameSo
--volume-ctrl fixed --initial-volume 100should result in no steam alteration.I agree this isn't as succinct as
--mixer nonebut don't think it it's worth adding!If someone has strong feelings, feel free to add a PR.. ;-)
@kingosticks commented on GitHub (Apr 14, 2021):
The wiki could probably do with some love there, the wording "fixed volume scaling" is not very clear:
Something like:
maybe?
@ghost commented on GitHub (Apr 15, 2021):
That would kinda help, but it would still be unclear that
--volume-ctrl fixed --initial-volume 100should "result in no steam alteration", as claimed by @ashthespy. That fact should be stated also. Hardcore audiophiles don't like software volume control, no matter how "good" it is, and having a "fixed volume control set at 100%" still feels worse than having "no volume control", but if that fact was clearly explained somewhere, it could be good enough.I don't see how complicating things like that is better than simply adding
--mixer nonehowever, especially considering how very little changes it requires and how, in fact, it changes nothing in the code base.@Johannesd3 commented on GitHub (Apr 15, 2021):
You can see here and here what happens to the PCM.
@JasonLG1979 commented on GitHub (May 15, 2021):
I changed the wiki to read:
Choose between a logarithmic (default), linear, or fixed (no volume control) volume scaling.
@JasonLG1979 commented on GitHub (May 15, 2021):
With all these options it might not be a bad idea to have a wiki page showing the proper args for a few basic use cases.
@roderickvd commented on GitHub (May 24, 2021):
@JasonLG1979 would you like to work on the wiki? I think you've got a pretty good idea of what and how you'd like to document it. You should be able to edit it.
@JasonLG1979 commented on GitHub (May 24, 2021):
I have some ideas as far as basically a "common use cases" page or section. 100% fixed volume control with no dynamic volume normalization is certainly a valid use case for faux "bit-perfect" audio from librespot. When the new API is figured out and Spotify rolls out the hifi tier and they presumably use a lossless format like FLAC it will be more compelling because it could actually be bit-perfect.
@roderickvd commented on GitHub (May 25, 2021):
Great! I'll add your name to this one. Could do some preparations for the upcoming merge of #685 too.
@JasonLG1979 commented on GitHub (May 25, 2021):
Get that and the dithering merged and whatever else you want and release
0.3.0and I'll even do a write up on optimal configurations on a Pi Zero also, being as though it's the official potato. I mean for under $50 someone can create a pretty decent complete Spotify Connect appliance with a Pi Zero that has the real potential to best commercially available off-the-shelf devices.@roderickvd commented on GitHub (May 26, 2021):
Just merged! Great if you could find the time and work on that documentation. Meanwhile we can give everyone some time to test the all the changes in
dev, then get a0.3.0out the door later.@JasonLG1979 commented on GitHub (May 26, 2021):
Good deal. I'll do it this weekend.
@roderickvd commented on GitHub (Jun 5, 2021):
Thanks for adding this to the wiki @JasonLG1979.
@JasonLG1979 commented on GitHub (Jun 5, 2021):
Your welcome but I totally didn't,lol!!! @coderootme did.