All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
To: James Courtier-Dutton <James@superbug.co.uk>
Cc: Takashi Iwai <tiwai@suse.de>, alsa-devel@lists.sourceforge.net
Subject: Re: Quality resampling code for libasound
Date: Wed, 21 Feb 2007 09:45:00 +1100	[thread overview]
Message-ID: <45DB79EC.2030900@usherbrooke.ca> (raw)
In-Reply-To: <45DB713F.9090804@superbug.co.uk>

> Unfortunately, the real problem with the alsa resamplers is not the
> quality of the algorithm. If it was just that, we would have fixed it
> ages ago.
> The real problem is related how the "period" model that ALSA currently
> uses functions.
> We need to implement new timers at the application rate, instead of
> trying to use the hardware rate. This would then require some extra
> buffer management. Currently, none of the ALSA developers have had
> enough time to implement the changes required.

So in the nearly 10 years of ALSA existing, the problem has been known
but nobody managed fix it (I realise it's hard)?

> Here is a small example of what the problem really is:
> Hardware does 48000. We have the hardware period set at 1024, with 2
> periods per buffer.
> The software application wishes to do 44100. So, the software
> application tries to set a period of 1024, with 2 periods per buffer.
> But, due to the restrictions of the current periods model, one can only
> do 44100/48000 * 1024 = 940.8
> Now, we cannot use fractions of a period, so we return 940 as the max
> period size to the application. This results of a real application rate
> 44062.5.
> What we really need is for the application to get it's 44100, 1024
> period size and 2 periods, and alsa-lib to provide the required
> abstraction to deliver 48000, 1024 period size and 2 periods to the
> hardware.
> 
> So, as you can see, it is not an easy quick fix.

So until ALSA is fixed to do things properly, would it be possible to at
least pass the information so that the resampler can actually use a
ratio of 44062.5/48000 instead of attempting to do 44100/48000
and then dropping samples? Considering most soundcards have shitty
clocks anyway, the problem may not be too bad (unless using really small
period sizes of course).

	Jean-Marc

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

  reply	other threads:[~2007-02-20 22:45 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-19  4:01 Quality resampling code for libasound Jean-Marc Valin
2007-02-19 12:23 ` Takashi Iwai
2007-02-19 12:54   ` Jean-Marc Valin
2007-02-19 13:10     ` Takashi Iwai
2007-02-19 13:38       ` Jean-Marc Valin
2007-02-19 13:47         ` Takashi Iwai
2007-02-20  5:53           ` Jean-Marc Valin
2007-02-20  6:48           ` Jean-Marc Valin
2007-02-20 10:45             ` Takashi Iwai
2007-02-20 11:54               ` Jean-Marc Valin
2007-02-20 12:13                 ` Takashi Iwai
2007-02-20 12:38                   ` Jean-Marc Valin
2007-02-20 21:50                     ` Fernando Lopez-Lezcano
2007-02-20 22:07                     ` James Courtier-Dutton
2007-02-20 22:45                       ` Jean-Marc Valin [this message]
2007-02-21  2:10                       ` Jean-Marc Valin
2007-02-21  9:18                       ` Jean-Marc Valin
2007-02-22 11:38                         ` Takashi Iwai
2007-02-22 11:48                           ` Jean-Marc Valin
2007-02-22 12:07                             ` Takashi Iwai
2007-02-28  2:10                               ` Jean-Marc Valin
2007-03-07 22:25                                 ` Takashi Iwai
2007-03-08  0:59                                   ` Jean-Marc Valin
2007-03-09 16:08                                     ` Takashi Iwai
2007-03-20 13:22                                       ` Jean-Marc Valin
2007-03-20 13:52                                         ` Takashi Iwai
2007-03-20 14:07                                           ` Jean-Marc Valin
2007-03-20 14:19                                             ` Takashi Iwai
     [not found]                                               ` <4600539A.2070804@usherbrooke.ca>
2007-03-21 11:23                                                 ` [Alsa-devel] " Takashi Iwai
2007-03-21 13:08                                                   ` Jean-Marc Valin
2007-03-21 13:14                                                     ` Takashi Iwai
2007-03-21 13:39                                                       ` Jean-Marc Valin
2007-03-21 13:59                                                         ` Takashi Iwai
2007-03-21 14:19                                                           ` Jean-Marc Valin
2007-03-21 14:53                                                             ` Takashi Iwai
2007-03-21 15:17                                                               ` Jean-Marc Valin
2007-03-21 15:43                                                                 ` Takashi Iwai
2007-03-21 15:27                                                       ` Rene Herman
2007-03-21 15:34                                                         ` Jean-Marc Valin
2007-03-21 16:38                                                           ` Rene Herman
2007-03-21 16:57                                                             ` Takashi Iwai
2007-03-21 17:24                                                               ` Takashi Iwai
2007-02-21 14:48                       ` Jean-Marc Valin
2007-02-19 13:11     ` Prakash Punnoor
2007-02-19 13:36       ` Adam Tlałka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=45DB79EC.2030900@usherbrooke.ca \
    --to=jean-marc.valin@usherbrooke.ca \
    --cc=James@superbug.co.uk \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.