mirror of
https://github.com/librespot-org/librespot.git
synced 2026-04-27 08:15:50 +03:00
[GH-ISSUE #41] Volume issues #30
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#30
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 @sashahilton00 on GitHub (Jan 29, 2018).
Original GitHub issue: https://github.com/librespot-org/librespot/issues/41
Monday Jan 30, 2017 at 01:16 GMT
Originally opened as https://github.com/plietar/librespot/issues/150
Hi,
Testing with Spotify IOS app on iPhone 5 and librespot on Pi.
sudo ./librespot --name RP3spot --cache /tmp --bitrate 320 --backend alsa --device hw:0
What I experienced is as follows:
The very nice debug logging shows volume cmds being received but how to decode them to see what level the client is requesting?
DEBUG:librespot::spirc: kMessageTypeVolume "Tim's iPhone" 3496dcfbf06e2b19c74d6d5216389761aa9a4e94 4 0
DEBUG:librespot::spirc: kMessageTypeNotify "RP3spot" 8ced8e4318e14e95632409ed1898989ff295f075 10 1485738325625
DEBUG:librespot::spirc: kMessageTypeVolume "Tim's iPhone" 3496dcfbf06e2b19c74d6d5216389761aa9a4e94 5 0
DEBUG:librespot::spirc: kMessageTypeNotify "RP3spot" 8ced8e4318e14e95632409ed1898989ff295f075 11 1485738326177
DEBUG:librespot::spirc: kMessageTypeVolume "Tim's iPhone" 3496dcfbf06e2b19c74d6d5216389761aa9a4e94 6 0
DEBUG:librespot::spirc: kMessageTypeNotify "RP3spot" 8ced8e4318e14e95632409ed1898989ff295f075 12 1485738326424
Regards,
Tim
@sashahilton00 commented on GitHub (Jan 29, 2018):
Monday Jan 30, 2017 at 04:15 GMT
Thanks for bringing this up.
This is intentional, see https://github.com/plietar/librespot/pull/43 for the reasons. The local volume on the phone does not have an impact.
I'm not sure why it was set to 10, but I've just bumped it to 64 steps in
7be9626. This is the same behaviour as the desktop client.Not sure what you mean there
@sashahilton00 commented on GitHub (Jan 29, 2018):
Monday Jan 30, 2017 at 05:46 GMT
Hi Paul,
Since its not possible for the software to know much about users audio system, assume that if client defaults to sending 100% volume that full volume will be output at speakers or headphones when play button is pressed.
Consider setting initial volume to one of the following:
Something like that.
-TIm
@sashahilton00 commented on GitHub (Jan 29, 2018):
Sunday Feb 05, 2017 at 04:04 GMT
Ignore. Volume control on Sierra macOS glitched :/
@sashahilton00 commented on GitHub (Jan 29, 2018):
Monday Feb 06, 2017 at 01:25 GMT
I'd be very interested in being able to specify an initial volume via an argument or config, or even better, have the ability to retain the previous spotify connect volume.
I'm using this with snapcast (https://github.com/badaix/snapcast/) and most of my other sources are never at 100% (e.g. airplay), so when I use spotify connect and switch sources, the volume is always too high since it's at 100%!
Thanks
@sashahilton00 commented on GitHub (Jan 29, 2018):
Tuesday Feb 21, 2017 at 21:04 GMT
I agree with pbros, it would be great if we could fix this for the snapcast users (including me :)). I would be happy with an initial volume of 0 if that would make things easier.
@sashahilton00 commented on GitHub (Jan 29, 2018):
Monday Mar 06, 2017 at 17:03 GMT
@moodeaudio
AFAIK this isn't possible, clients don't send their current level
This is inconvenient since it requires all users to increase the volume every time, and would lead to confusion
This would work.
Note that audio volume was recently refactored (#148) to support multiple mixer backends
--initial-volumeflag, as well as save volume to the cache and use that when the flag isn't passed.I'm a bit concerned about the increasing number of command line flags, and would like to move to a more flexible config file based solution, where each audio and mixer backend can have different configuration options.
@sashahilton00 commented on GitHub (Jan 29, 2018):
Tuesday Mar 07, 2017 at 00:48 GMT
For applications uses a pipe or stdout (like snapcast), alsa isn't an option. In this case, the best options would be a flag or a config file since we could always use a default initial volume when instantiating librespot. If ever the calling application can save the previous volume, then we could handle the case where we want to go back to the previous level!
@sashahilton00 commented on GitHub (Jan 29, 2018):
Sunday Nov 26, 2017 at 21:29 GMT
I am interested in this feature to put an initial volume. Is it possible ?
@sashahilton00 commented on GitHub (Jan 29, 2018):
Wednesday Jan 24, 2018 at 23:38 GMT
@moodeaudio I have forked a recent version of librespot and added the --progressive-volume option. It icreases the volume with smaller steps at low volume and bigger steps at high volume. This gives a much more smooth volume control. Get is at: https://github.com/thekr1s/librespot/tree/progressive-voume-control
@sashahilton00 commented on GitHub (Jan 29, 2018):
Wednesday Jan 24, 2018 at 23:42 GMT
@thekr1s this is awesome. thank you!
@sashahilton00 commented on GitHub (Jan 29, 2018):
Wednesday Jan 24, 2018 at 23:51 GMT
@thekr1s woah there's loads of fixes in your fork there. Some I'd love to have and I've got some queue handling improvements to share. Can we advertise that as the new master repository?
@sashahilton00 commented on GitHub (Jan 29, 2018):
Wednesday Jan 24, 2018 at 23:53 GMT
If you guys do choose a new master repo, could you spin it up into an organisation? That way it can be handled off over time as opposed to leading to this scenario where eveyone has a different fork :)
@sashahilton00 commented on GitHub (Jan 29, 2018):
Wednesday Jan 24, 2018 at 23:58 GMT
Credits go to @ComlOnline. He merged a lot of forks with fixes. That is the reason I forked that one. I intend to push te changed to ComlOnline/librespot
This is my first step onto github, so try to find my way around....
@sashahilton00 commented on GitHub (Jan 29, 2018):
Thursday Jan 25, 2018 at 00:00 GMT
A librespot organisation is the way to go. Good idea
@sashahilton00 commented on GitHub (Jan 29, 2018):
Thursday Jan 25, 2018 at 00:55 GMT
Oh I love the idea of an organisation. I don't like the idea of being the only one with control over a project as big of this. I was originally just picking and choosing the fixes I wanted for myself. I just went to create an organisation called "librespot" however it was sadly taken. Anyone got some other ideas?
@sashahilton00 commented on GitHub (Jan 29, 2018):
Thursday Jan 25, 2018 at 00:57 GMT
This is a sight for sore eyes :-)
-Tim
@sashahilton00 commented on GitHub (Jan 29, 2018):
Thursday Jan 25, 2018 at 00:58 GMT
@ComlOnline Just call it librespot-org or something. Also the joy of an organisation is I believe that you can give multiple people control
@sashahilton00 commented on GitHub (Jan 29, 2018):
Thursday Jan 25, 2018 at 01:00 GMT
Perfect I'll do that now, That sounds wonderful.
@sashahilton00 commented on GitHub (Jan 29, 2018):
Thursday Jan 25, 2018 at 01:05 GMT
Great. You might think about @herrernst and some of the other guys who frequented the PRs/commits :)
@sashahilton00 commented on GitHub (Jan 29, 2018):
Thursday Jan 25, 2018 at 01:06 GMT
It is done: https://github.com/librespot-org/librespot
I'll comb through the contributors now.
@sashahilton00 commented on GitHub (Jan 29, 2018):
Thursday Jan 25, 2018 at 01:07 GMT
Great. In the meantime, I'm going to bed :)
@sashahilton00 commented on GitHub (Jan 29, 2018):
Thursday Jan 25, 2018 at 01:11 GMT
Also don't forget to drop @plietar a line, not sure if he's allowed/wants to to work on it given his signing off on the project, but it would obviously be beneficial if he is able to.
@sashahilton00 commented on GitHub (Jan 29, 2018):
Thursday Jan 25, 2018 at 01:13 GMT
Sleep well, and don't worry I have already made him an owner of the org.
@sashahilton00 commented on GitHub (Jan 29, 2018):
Friday Jan 26, 2018 at 19:27 GMT
@moodeaudio @maxx, do you face the same issue as I the the volume increases too much in the first half of the volume level? If so, what platform are you using?
I face the issue on a Raspberry Pi with OSMC, with a hifiberry DAC.
@sashahilton00 commented on GitHub (Jan 29, 2018):
Friday Jan 26, 2018 at 21:57 GMT
@thekr1s yes - I have the same annoyance (prior to your patch)..so I was very happy to see this. I control it mainly with the iOS app, and I pipe librespot to pulse audio (where I mix with with some other home automation text to speech stuff) and then I pipe that to snapcast out to several rooms in the house. I haven't tried your patch yet - updating librespot is the cards for this weekend.
@ComlOnline commented on GitHub (Jan 29, 2018):
Ah the issue where this all started.