Re: Ringtone volume and latency

2010-01-02 Thread William Kenworthy
On Sat, 2010-01-02 at 12:27 +, Neil Jerram wrote:
> 2010/1/2 William Kenworthy :
> >
> > Just a couple of thoughts - missing calls is rarely to do with volume
> > and not hearing the ring (I have changed the standard tones though), and
> > more to do with crashes.
> 
> Ah, OK, I didn't realise that.  (I don't yet get enough incoming
> mobile calls to have a significant sample.)
> 
> Still, the CPU needed to decode Ogg (or another compressed audio
> format) could be contributing to that.
> 
> > One of the most annoying is using tangogps
> > full screen (or any other app full screen) and a call comes in the top
> > screen can (not always) lose focus and you cant do anything except pull
> > the battery (doesnt recognise finger/stylus).
> 
> In Debian I use auxlaunch for switching between windows.  This is
> triggered by the AUX button and so is pretty reliable.  Could you use
> that (or a similar approach) to solve this focus problem?
> 
Tried to use the power button kill - but it doesnt work.  When it
happens to gpe-calendar, I am able to ssh in and kill it which gets
focus back, but have not had ssh available on an affected call yet - not
sure what to kill and keep the tho.

> >  Another is hearing the
> > other end, but they cant hear you - also happens randomly.
> 
> OK.  (I haven't experienced this one yet.)
> 
> > There is a lot going on when a call comes in so its not only audio
> > player latency but enabling the audio path, setting up alsa, handling
> > the call itself, starting the caller application, ...  And in amongst
> > that it has to play the audio as well.  Currently this isnt too bad for
> > me when I set ring only (no vibe) and use the debugfs hack.
> 
> With both ring and vibe there is a very obvious delay - I'd guess 1 or
> 2 seconds - between when the vibe starts and when the ringtone starts.
> 
> As you say, there's a lot going on when a call comes in - another
> reason IMO for making the ringtone part as simple as possible at that
> time.
> 
> Regards,
>   Neil

True - every bit counts - and another cause of lost calls that happened
to me recently - " ... this is a really bad line, I'll hang up and call
you later  [CLICK!]" :(

BillK






___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Ringtone volume and latency

2010-01-02 Thread Neil Jerram
2010/1/2 William Kenworthy :
>
> Just a couple of thoughts - missing calls is rarely to do with volume
> and not hearing the ring (I have changed the standard tones though), and
> more to do with crashes.

Ah, OK, I didn't realise that.  (I don't yet get enough incoming
mobile calls to have a significant sample.)

Still, the CPU needed to decode Ogg (or another compressed audio
format) could be contributing to that.

> One of the most annoying is using tangogps
> full screen (or any other app full screen) and a call comes in the top
> screen can (not always) lose focus and you cant do anything except pull
> the battery (doesnt recognise finger/stylus).

In Debian I use auxlaunch for switching between windows.  This is
triggered by the AUX button and so is pretty reliable.  Could you use
that (or a similar approach) to solve this focus problem?

>  Another is hearing the
> other end, but they cant hear you - also happens randomly.

OK.  (I haven't experienced this one yet.)

> There is a lot going on when a call comes in so its not only audio
> player latency but enabling the audio path, setting up alsa, handling
> the call itself, starting the caller application, ...  And in amongst
> that it has to play the audio as well.  Currently this isnt too bad for
> me when I set ring only (no vibe) and use the debugfs hack.

With both ring and vibe there is a very obvious delay - I'd guess 1 or
2 seconds - between when the vibe starts and when the ringtone starts.

As you say, there's a lot going on when a call comes in - another
reason IMO for making the ringtone part as simple as possible at that
time.

Regards,
  Neil

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Ringtone volume and latency

2010-01-01 Thread William Kenworthy
On Sat, 2010-01-02 at 01:24 +, Neil Jerram wrote:
> In the survey thread, a couple of responses mentioned missing calls
> because of ringtone problems - which I take to be either volume too
> low, or too much latency, or both.  Here are some thoughts on that.
> 
> 1) In case this isn't already well known...  FSO actually does nothing
> at all with the "volume" setting that you can set in SHR settings, or
> Paroli, or in general via the preferences interface.  The only
> relevant code is:
> 
> oeventsd/fso_actions.py:self.audio_action = AudioAction(
> self.sound_path, self.loop, self.length ) if self.volume != 0 else
> None
> 
> In other words, all non-zero volume values are equivalent.
> 
> 2) I tried to measure startup latency by using `time', for various
> ways of playing a 9.3s Ogg clip and an equivalent .wav file:
> 
> =
> debian-gta02:/usr/share/sounds# time mplayer kayleigh.ogg
> A:   9.0 (08.9) of 9.3 (09.2) 40.1%
> real  0m12.242s
> 
> debian-gta02:/usr/share/sounds# time play kayleigh.ogg
>   Duration: 00:00:09.29  Title: Kayleigh
> real  0m10.680s
> 
> debian-gta02:/usr/share/sounds# time play kayleigh.ogg
>   Duration: 00:00:09.29  Title: Kayleigh
> real  0m10.015s
> 
> debian-gta02:/usr/share/sounds# time play kayleigh.wav
>   Duration: 00:00:09.29
> real  0m9.652s
> 
> debian-gta02:/usr/share/sounds# time play kayleigh.wav
>   Duration: 00:00:09.29
> real  0m9.951s
> 
> debian-gta02:/usr/share/sounds# time gst-launch filesrc
> location=/usr/share/sounds/kayleigh.ogg ! oggdemux ! vorbisdec !
> audioconvert ! alsasink
> Execution ended after 9384127000 ns.
> real  0m11.881s
> 
> debian-gta02:/usr/share/sounds# time aplay kayleigh.wav
> Playing WAVE 'kayleigh.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, 
> Stereo
> real  0m9.709s
> =
> 
> There's nothing conclusive here, because I didn't repeat the tests
> enough times yet; but it looks like there's an additional latency of
> at least 0.5-1s associated with playing an .ogg instead of a .wav, and
> rather more than that with gst-launch.
> 
> This and the volume issue suggest to me that it would be better for
> FSO only to handle plain audio data, and to play it (i.e. when an
> incoming call or message comes) using the most lowlevel method (such
> as aplay).  An external settings application could handle conversion
> from the user's sound file to .wav, and as part of that could allow
> the user to adjust the volume and preview the ringtone.
> 
> Comments?  Is there a reason why the complexity (and latency) of
> handling multiple sound formats should be _inside_ FSO?
> 
> Regards,
> Neil
> 

Just a couple of thoughts - missing calls is rarely to do with volume
and not hearing the ring (I have changed the standard tones though), and
more to do with crashes.  One of the most annoying is using tangogps
full screen (or any other app full screen) and a call comes in the top
screen can (not always) lose focus and you cant do anything except pull
the battery (doesnt recognise finger/stylus).  Another is hearing the
other end, but they cant hear you - also happens randomly.

There is a lot going on when a call comes in so its not only audio
player latency but enabling the audio path, setting up alsa, handling
the call itself, starting the caller application, ...  And in amongst
that it has to play the audio as well.  Currently this isnt too bad for
me when I set ring only (no vibe) and use the debugfs hack.

shr-u most versions, current shr-t.

BillK




___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Ringtone volume and latency

2010-01-01 Thread Neil Jerram
In the survey thread, a couple of responses mentioned missing calls
because of ringtone problems - which I take to be either volume too
low, or too much latency, or both.  Here are some thoughts on that.

1) In case this isn't already well known...  FSO actually does nothing
at all with the "volume" setting that you can set in SHR settings, or
Paroli, or in general via the preferences interface.  The only
relevant code is:

oeventsd/fso_actions.py:self.audio_action = AudioAction(
self.sound_path, self.loop, self.length ) if self.volume != 0 else
None

In other words, all non-zero volume values are equivalent.

2) I tried to measure startup latency by using `time', for various
ways of playing a 9.3s Ogg clip and an equivalent .wav file:

=
debian-gta02:/usr/share/sounds# time mplayer kayleigh.ogg
A:   9.0 (08.9) of 9.3 (09.2) 40.1%
real0m12.242s

debian-gta02:/usr/share/sounds# time play kayleigh.ogg
  Duration: 00:00:09.29  Title: Kayleigh
real0m10.680s

debian-gta02:/usr/share/sounds# time play kayleigh.ogg
  Duration: 00:00:09.29  Title: Kayleigh
real0m10.015s

debian-gta02:/usr/share/sounds# time play kayleigh.wav
  Duration: 00:00:09.29
real0m9.652s

debian-gta02:/usr/share/sounds# time play kayleigh.wav
  Duration: 00:00:09.29
real0m9.951s

debian-gta02:/usr/share/sounds# time gst-launch filesrc
location=/usr/share/sounds/kayleigh.ogg ! oggdemux ! vorbisdec !
audioconvert ! alsasink
Execution ended after 9384127000 ns.
real0m11.881s

debian-gta02:/usr/share/sounds# time aplay kayleigh.wav
Playing WAVE 'kayleigh.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
real0m9.709s
=

There's nothing conclusive here, because I didn't repeat the tests
enough times yet; but it looks like there's an additional latency of
at least 0.5-1s associated with playing an .ogg instead of a .wav, and
rather more than that with gst-launch.

This and the volume issue suggest to me that it would be better for
FSO only to handle plain audio data, and to play it (i.e. when an
incoming call or message comes) using the most lowlevel method (such
as aplay).  An external settings application could handle conversion
from the user's sound file to .wav, and as part of that could allow
the user to adjust the volume and preview the ringtone.

Comments?  Is there a reason why the complexity (and latency) of
handling multiple sound formats should be _inside_ FSO?

Regards,
Neil

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community