Sik, on 22 January 2012 - 08:14 AM, said:
Falk, on 21 January 2012 - 05:18 PM, said:
I don't know if you're trolling but... no. O_o
I'm not trolling. If anything, the sound hardware is x_x When playing 11KHz samples they interpolate like hell to make it sound "nicer", but the result is extreme muffling. The interpolation is much smaller for higher sample rates. Thereby, if you take a 11KHz waveform, repeat every sample four times and feed it to the sound hardware as 44KHz, it will sound much less muffled.
It doesn't make the original waveform sound better than it is, but rather it prevents it from sounding worse than it should.
That's the complete opposite way around. You're essentially thinking that interpolation is a problem and zero-order hold is the fix. In fact, it's the other way around. Zero-order hold and the resultant random inharmonics generated as a result is the problem, and interpolation is the fix. The rest was pretty much covered by dsrb.
Considering that zero-order hold is pretty much the easiest way to implement a DAC (and sounds bad) and interpolation methods have been refined over the years... decades really, to best rectify the problem I'm completely baffled as to how you could think the problem and solution are the other way around. The irony is you yourself said "You're trying to generate data that doesn't exist" because that's -exactly- what zero-order hold does. It generates frequencies above Nyquist, which should not exist.
edit: Might as well add that's why I'm baffled as to why this audio engine's 'interpolation' results in frequencies that weren't previously there, when interpolation is supposed to get rid of frequencies that shouldn't exist, but -this- dead horse has been beaten to a fine pulp by now and is more of semantics.
edit2: to make this post more useful:
Not exactly the most layman of explanations but good enough.
This post has been edited by Falk: 22 January 2012 - 03:50 PM