Of a single sinusoidal component, sure, this is true. But phase differences between sonic features are absolutely detectable.
The effect is most noticeable on raw synthesized tones: sawtooth, square wave, etc. These tones contain sonic energy concentrated at discontinuities in the waveforms. The ear can hear this, as a "buzzing sound".
Run these tones through Paulstretch (even with 0 stretch), and the sonic energy is distributed throughout the wavecycle. These tones retain their spectral character, but noticeably lose the buzzing character.
I've uploaded a demo here: https://chris.pacejo.net/temp/phase.wav It is a 55 Hz sawtooth tone, alternating every 2.5 s between the raw tone, and the tone fed through Paulstretch with no stretching.
There was even a paper written on this. Laitinen, Disch & Pulkki, "Sensitivity of Human Hearing to Changes in Phase Spectrum". [1]
Paulstretch muddies up percussive transients (like hi hat strikes) as well.
Anyway it's the reason things like gammatone filters exist for analyzing audio. They reveal phase correlations in the same way the ear is able to. Windowed Fourier transforms (used by e.g. Paulstretch and Audacity for various purposes) obfuscate these relationships.
Doesn't phase only matter if you want to mix it with some other sound? If you're editing the final version you're going to be playing, what's the point in preserving phase?
The human ear is sensitive to phase correlation. It stems from the physiological fact that our ear is effectively a multiresolution filter. So with an overtone-rich tone, the time constant with which we perceive the uppermost harmonics is significantly less than the period of the base harmonic. So if the sonic energy of those harmonics is correlated into small "packets", we hear that as a "buzzing". This is true of raw synthesis waveforms: sawtooth, square, etc. It's also true of any short transients: clapping, hi-hats, etc.
If you "mess with" the phase information of the harmonics relative to the base harmonic, this is the same thing as changing where the sonic energy of those harmonics falls in the wavecycle. So notably, in the cases listed above where the sonic energy falls into small "packets", if you randomize that phase information relative to a much lower tone (as Paulstretch does), you now have spread that energy throughout the full wavecycle. This eliminates any sensation of "buzzing" or "clicking" and makes transients "mushy".
You can not just preserve original phase when doing time stretching, there are "smarter" algorithms that try to derive "correct" phase, while the paulxstretch just make it random values, maybe for extreme stretching values it doesn't matter for ambient music but for general music and sounds its not that trivial.
jedimastert|11 months ago
pbmahol|11 months ago
jm547ster|11 months ago
colanderman|11 months ago
The effect is most noticeable on raw synthesized tones: sawtooth, square wave, etc. These tones contain sonic energy concentrated at discontinuities in the waveforms. The ear can hear this, as a "buzzing sound".
Run these tones through Paulstretch (even with 0 stretch), and the sonic energy is distributed throughout the wavecycle. These tones retain their spectral character, but noticeably lose the buzzing character.
I've uploaded a demo here: https://chris.pacejo.net/temp/phase.wav It is a 55 Hz sawtooth tone, alternating every 2.5 s between the raw tone, and the tone fed through Paulstretch with no stretching.
There was even a paper written on this. Laitinen, Disch & Pulkki, "Sensitivity of Human Hearing to Changes in Phase Spectrum". [1]
Paulstretch muddies up percussive transients (like hi hat strikes) as well.
Anyway it's the reason things like gammatone filters exist for analyzing audio. They reveal phase correlations in the same way the ear is able to. Windowed Fourier transforms (used by e.g. Paulstretch and Audacity for various purposes) obfuscate these relationships.
Aside: please try to avoid snarky armchair dismissals on HN: https://news.ycombinator.com/newsguidelines.html "you are trying to sound intelligent" does not advance discourse.
[1] https://www.researchgate.net/profile/Ville-Pulkki/publicatio...
wiml|11 months ago
viraptor|11 months ago
colanderman|11 months ago
If you "mess with" the phase information of the harmonics relative to the base harmonic, this is the same thing as changing where the sonic energy of those harmonics falls in the wavecycle. So notably, in the cases listed above where the sonic energy falls into small "packets", if you randomize that phase information relative to a much lower tone (as Paulstretch does), you now have spread that energy throughout the full wavecycle. This eliminates any sensation of "buzzing" or "clicking" and makes transients "mushy".
pbmahol|11 months ago