Great song.
For anyone curious how to produce something that sounds like this, paulstretch is the way to do it. https://sonosaurus.com/paulxstretch/
My personal favorite use of this: https://youtu.be/XiKWfcy-Z70?si=iJTP0XTEAAObI_rU
And if you happen to already have a copy of Audacity, it has an implementation of paulstretch built-in. (Certainly not as nice looking as that dedicated tool, though.)
Paulstretch is such an utterly genius algorithm. Ridiculously simple solution to a difficult problem but it gets you amazing results
This is just excellent, it works a lot better than I thought it would. You can really drown in the song, whoa.
aaaallllll
myyyyyy
paaaasssstt
aaaaaaandd
fuuuttuurrreeesss
I'll add that there's a lot of extremely timestretched tracks from Aphex Twin's Selected Ambient Works II on youtube as well. They all sound glorious, too Great share, thank you! Scratches the itch of "I'd love to turn some of my beats into ambient soundscapes but don't want to spend the time".
The paulxstretch completely obliterates phase component of audio input. Its not really way to do it if you want real output.
Define "real" in this instance? We're talking about audio manipulation, fiddling with time and frequency domain. Something's going to have to give
There are better, pro solutions, but if you want random phase what that algorithm actually does I'm not going to judge you.
Phase is relative, you are trying to sound intelligent
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.
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...
As long as you match the phase of the positive and negative frequency components you'll get real output
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".
Do you know where someone can read more about how to make things "buzzing" , very interested in that kind of sound quality
I'm not sure any literature on this beyond my own experience.
In the context of synthesizers, "buzzing" quality is associated with unfiltered basic waveforms: sawtooth, square, triangle (to a lesser extent), pulse (notably so). A sawtooth wave is used, for example, as the bass sound in Gorillaz' "DARE".
More generally, in my personal experiments, "buzzing" is associated with the presence of discontinuities in the waveform (i.e., the Dirac delta and its antiderivatives). Any discontinuity is associated with sonic energy at all frequencies, at a highly localised point in time. (See the Fourier transform of Dirac delta (anti)derivatives here [1].) Higher antiderivatives of the Dirac delta have progressively less energy at higher frequencies; beyond the 2nd antiderivative buzzing is not really audible.
Aside – a pulse wave is a series of Dirac deltas; a sawtooth is the 1st-order antiderivative thereof; a square wave is a series of sign-alternating 1st-order Dirac delta antiderivatives; and a triangle wave is alternating 2nd-order Dirac delta antiderivatives. Hence – buzziness in these waveforms.
The human ear has a Q of about 15 (very approximate) – meaning its response at any frequency lasts for about 15 cycles of that frequency. So, when presented with a periodic discontinuity (e.g. sawtooth wave), the sonic content below about 15 times the base frequency will tend to cohere together into a tone, while the sonic content above 10 times the base frequency will tend to be perceived independently of frequency – as a buzzing. (See Bell, "A Resonance Approach to Cochlear Mechanics".)
So, if you want to increase the amount of buzzing in a waveform, you can add localized "packets" of high-frequency sonic energy up to a rate 1/15 that of the lowest frequency content of said packets. You can experiment with this in Audacity by generating sawtooth waves of various frequencies (between 25-250 Hz, where buzzing is easily audible) and low- and high-passing them appropriately to separate the "tonal" (low-frequency) content from the "buzz" (high-frequency) content. Then mix and match the two from different frequency waveforms two create a waveform at your desired base frequency with your desired rate of buzzing.
Finally, a more pedestrian – and very common – way that the above is achieved is the synthesis technique known as "supersaw", by which a handful of slightly-detuned sawtooth waves are mixed together. Beside giving a "shimmering" effect which one gets from mixing any slightly-detuned sounds together, this also results in increased "buzziness". This effect is very common in pop electronic music. E.g. the bass sound in Lady Gaga's "Just Dance" is a good example.
[1] https://en.wikipedia.org/wiki/Fourier_transform#Distribution...
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.
There is some signature compression that comes with paulstretch that sounds exactly like the output of a square wave interpolated to a sine.
You can see, hear and almost taste it if you stretch white noise.
Tonality makes no difference.