Email or username:

Password:

Forgot your password?
Top-level
penguin42

@marcan HTH did you figure out that was the reason for the distortion?

3 comments
Hector Martin

@penguin42 The train of thought was:

- The aliasing is every 375 Hz
- 48000 / 375 = 128 so this is some fourier thing with a block size 128???
- Wait no, this could be time domain, aliasing like that is what you get when you upsample without lowpassing
- Specifically, when you upsample with zero-sample padding (standard), that is, when one sample out of 128 has the low frequency content.
- So this is like taking the average of a 128-sample block and adding it to just one sample?
- Wait, isn't that almost equivalent to zeroing out one sample?

numpy time

fs, signal = wavfile.read("sweep.wav")
signal[::128] = 0
wavfile.write("lol.wav", fs, signal)

And the rest is history.

@penguin42 The train of thought was:

- The aliasing is every 375 Hz
- 48000 / 375 = 128 so this is some fourier thing with a block size 128???
- Wait no, this could be time domain, aliasing like that is what you get when you upsample without lowpassing
- Specifically, when you upsample with zero-sample padding (standard), that is, when one sample out of 128 has the low frequency content.
- So this is like taking the average of a 128-sample block and adding it to just one sample?
- Wait, isn't that...

Go Up