[pulseaudio-discuss] An raop2 support

Hajime Fujita crisp.fujita at nifty.com
Sat Sep 14 22:24:39 PDT 2013


For those who are interested in raop2 experiments,

As Matthias pointed out [1], current volume calculation is incorrect.
https://bugs.freedesktop.org/show_bug.cgi?id=42804#c43

I have uploaded a patch which calculates volume in more reasonable way.
https://github.com/hfujita/pulseaudio-raop2/commit/69f3ce883dfb93eb7b24f98b9664e14071672475

First I have to confess that this is the first time for me to deal with
the unit 'dB', so maybe I'm doing totally stupid. I'd be very happy if I
could have any suggestions from who is more experienced in this field.

I started looking at pa_raop_client_set_volume() in
src/modules/raop/raop_client.c. It was using pa_sw_volume_to_dB to
calculate dB from a linear scale.
Then I learned from code reading that pa_sw_volume_to_dB essentially
calculates the following:
  20 * log10((v/MAXVOLUME)^3) = 60 * log10(v/MAXVOLUME)
This does not fit into the volume scale which RAOP is expecting, where
-30.0 db is a kind of minimum [2].

[2]: http://git.zx2c4.com/Airtunes2/about/#id29

Also I looked at packet dumps from iPad and guessed how it calculated dB
from a linear scale. It looked like iPad was using the following formula.
  db = 10 * log10(volume/MAXVOLUME/30)
So for the time being I decided to follow this way.

In my environment (Pioneer VSX-43), volume 10%-15% (about -25db~-23db)
is the most comfortable setting. Bigger than that is too loud and my
neighbors will get upset :(

Please try the latest patch and let me know what volume is the best for
you. I strongly recommend your to start from quite low volume (5%), and
slightly change the volume.


Thanks,
Hajime

Hajime Fujita wrote:
> Hello,
> 
> Recently I found that the current PulseAudio did not support the latest
> AirPlay audio streaming, so I started to brush up the raop2
> implementation based on Christophe Fergeau and Martin Blanchard's
> implementation.
> 
> Here is my ongoing work.
> https://github.com/hfujita/pulseaudio-raop2 (repo)
> http://hfujita.github.io/pulseaudio-raop2/ (brief document)
> 
> My primary goal is to enjoy musics in my AV receiver from Linux, but a
> vague ambitious is to get the code merged into upstream so that anyone
> can use the feature by just using distro packages.
> 
> Current status:
> * Plays music with Pioneer VSX-43.
> * Sound test (launched from the GNOME sound setting dialog) does not
> work (no sound heard).
> * When stop playing music and then start again, PulseAudio may go into
> an abnormal state (no sound/hang up/crash).
> * Works reasonably fine with VLC/totem but when playing music from
> Rhythmbox, quite rough sound is heard.
> * Packet retransmission is not supported yet.
> 
> I'm very happy to hear any sort of suggestions.
> In the near future I may ask several technical questions about
> PulseAudio internals.
> 
> 
> Thanks,
> Hajime
> _______________________________________________
> pulseaudio-discuss mailing list
> pulseaudio-discuss at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
> 



More information about the pulseaudio-discuss mailing list