![hqplayer how to use hqplayer how to use](https://s3.us-east-1.wasabisys.com/pictures.certsimple.com/how-to-use-the-roku-app-without-wifi-.jpg)
sox INFO formats: detected file format type `flac' In any case, I'm going to try this very naive upsampling for a few days and see how it sounds. Which suggest that all of the above considerations will happen beyond what is perceptible. Obviously they don't fourier transform a whole 5 minute song in one go, there is some kind of windowed FFT going on (plus I guess a purely time-domain non-linear component). Basically what this come down to is, how do our ears work. The question is whether this has any practical impact. Because the length of a track is finite and fixed on playback, the rectangular window this imposes necessarily leads to ripples in the frequency domain. So the Nyquist theorem in fact does not apply. This confused me a bit: surely with this choice one gets perfect reconstruction? Thinking a bit more about this, I realised why this is not true: any finite length piece of audio cannot be band-limited, because it's not infinite in extent. One thing that sounds pretty good at first blush is using SoX sinc with a filter length equal to the track length and beta = 0 (rectangular window). I didn't know exactly how SoX rate builds its FIR coefficients, but now I know it's a Kaiser windowed sinc, I am fiddling around with SoX itself and going purely by ear to see what difference various choices make. Think I did my due diligence here to inspire you to read and think a bit more about this predicament So this leads us to the question how to better make use of the limited processing power that we have in terms of number of coefficients for a given sampling rate, to get the adequate suppression of side-lobes and have enough sinc like behaviour. Your personal preferences aside, doing so will lead to it sounding unnatural due to time domain inaccuracies - and is the primary reason IMO why people coming from NOS world say up-sampling makes a DAC sound thin. This is what I was pointing to in my earlier reply - it doesn't make sense to just keep increasing coefficients if vast majority of them are nearer to 0 instead of ideal sinc coefficients. As you increase the beta values, the sidelobe attenuation increases but the coefficients depart further and further away from ideal sinc values. When beta = 0 it will behave like a pure rectangular window function with all its nastiness. The reason it is flexible is because of the alpha/beta parameter. The most flexible of them all is Kaiser Window and this is what is being used internally in SoX's rate and sinc filiter. Particularly pay special attention to amplitude vs FT. Each have varying degree of compromise between side-lobe attenuation vs mainlobe width (ideal sinc coefficients). Now to circumvent abrupt discontinuities, we make use of various families of more conventional window functions like Hamming, Hann, Blackman, Nuttal etc.
![hqplayer how to use hqplayer how to use](https://roon-community-uploads.s3.amazonaws.com/original/3X/a/0/a017db44b81d8ea4327b986f368c2b9817c72f97.jpeg)
Anyways because of this abrupt discontinuities and less steep attenuation compared to other window functions, we generally don't use rectangular window in signal processing. Also notice the side lobe attenuation is very low for the same number of coefficients. However the downside is the transition from 0 to sinc values is abrupt leading to discontinuities. This ensures it will retrieve all transient values. In rectangular window function, all coefficients are sinc.
![hqplayer how to use hqplayer how to use](https://i1.wp.com/dailydoseofdiy.com/wp-content/uploads/How-to-use-a-cricut-to-cut-vinyl.jpg)
The pure normalized sinc function is the FT of what we call as Rectangular Window. So I take it a primers on window functions is due. Uhm no, clearly you misunderstood my previous reply.