[Openal] Playback rate inaccuracies

Ed Phillips ed at udel.edu
Wed Oct 12 13:38:32 PDT 2005


Hi,

On Wed, 12 Oct 2005, Garin Hiebert wrote:

>> It would be interesting to know what programs like Cubase, Cakewalk, Logic, 
>> etc. do in this case.  I use Cakewalk for music recording, and it does a 
>> "calibration" with the audio hardware, which seems to determine what it 
>> needs to do to keep recording and playback in sync, and as a result, keep 
>> playback sounding just like the original recording sounded.
>
> They use ASIO, which internalizes syncing issues (corrects all system audio 
> I/O to a master clock).  I'm not sure if all sound cards support ASIO under 
> Windows, but Creative's do and I suspect that most others do as well.  ASIO 
> isn't a 3D API, though...

Cakewalk can operate with drivers that support ASIO, WDM or MMSYSTEM type 
of interface... and it seems to do a good job with MMSYSTEM drivers (for 
example, Creative SBLive! drivers for Win98)... but maybe that depends on 
the accuracy of the sound card record/playback clock.  So, I'm not sure 
what data the actual "calibration" feature is gathering and how it's using 
it to correct record+playback offset (lag) and timing inaccuracy...

>> My guess is that it can be done without pitch-shifting - I've never noticed 
>> the "artifacts" or "weirdness" that pitch-shifting would inevitably produce 
>> when using Cakewalk (but I guess that doesn't really mean it's not being 
>> done).
>
> The quality of the resampling will depend on the card/driver being used. 
> Creative cards have 7 (Live!) or 8 (Audigy, X-Fi) point interpolation, 
> so there aren't noticeable artifacts.  Most audio cards do linear 
> interpolation, with more noticeable results.

What does that mean exactly?  Do they take 7/8 points of data and "curve 
fit" them so that a new set of samples can be calculated (based on the 
curve function) at any location along the time-line (at the new sampling 
rate)... or does it mean that 7/8 points are computed between each sample 
(according to some algorithm) and the new sampling rate can simulated by 
choosing from the original + interpolated samples?  Or is it something 
else entirely?

Thanks,

 	Ed

Ed Phillips <ed at udel.edu> University of Delaware (302) 831-6082
Systems Programmer III, Network and Systems Services



More information about the Openal mailing list