I'm not a bass player, but I like its sounds while listening to music and I'm keen on audio DSP. From my experience, the only valuable effect on bass is adding a tiny bit of absolute value, i.e. even harmonics, potentially lowpass filtered, on it. You can listen to "Beck - Loser" or "Rage Against the Machine - Bulls on Parade", also "Roger Waters - Three Wishes" for an idea. Will try it using golang and jack on the bass track in the repo.
Activity
30I've just tried using golang and jack but it's not even harmonics distorsion, will dig deeper later.
I've just tried using golang and jack but it's not even harmonics distorsion, will dig deeper later.
I've just tried using golang and jack but it's not even harmonics distorsion, will dig deeper later.
I've just tried using golang and jack but it's not even harmonics distorsion, will dig deeper later.
That may be a small set of low rank harmony, the third for sure, maybe the fifth or the second.
That may be a small set of low rank harmony, the third for sure, maybe the fifth or the second.
That may be a small set of low rank harmony, the third for sure, maybe the fifth or the second.
That may be a small set of low rank harmony, the third for sure, maybe the fifth or the second.
That may be a small set of low rank harmony, the third for sure, maybe the fifth or the second.
This is a really interesting line of thinking, and your analysis is pretty close to how a lot of “warm” or “growling” bass sounds are built.
What people often describe as that “purring” character is usually not a single distortion stage, but a controlled redistribution of energy between the sub, the fundamental, and the first couple of harmonics. Octave-down reinforcement, a stabilized fundamental, and then a gentle nonlinear stage to bring in the 2nd and 3rd are a very common recipe.
A few points that might help frame this:
• Many classic bass effects that feel like this (octavers, some synth bass pedals, some enhancers) effectively do a mix of envelope-tracked octave generation + filtering + mild saturation. • Pure pitch tracking with narrow, moving peaks is hard to do cleanly in real time, especially on bass, and you’re right that it tends to introduce latency. • In live contexts, ~10 ms is basically invisible, ~20 ms is usually fine for bass, and once you get past ~30–40 ms most players start to feel it as “lag,” especially on percussive lines.
That’s why a lot of pedals avoid explicit pitch detection and instead use cruder but low-latency tricks: full-wave or half-wave rectification, subharmonic generators, envelope followers driving fixed or loosely tuned filters, and then heavy low-pass shaping. You don’t get perfectly locked harmonics, but you get the feel with almost no delay.
So for something like a “purring bass” effect here, it might be more practical to explore:
• subharmonic generation without pitch tracking • a band-limited nonlinearity to emphasize 2nd/3rd • dynamic EQ or resonant filters driven by the envelope rather than exact f0
If you want to prototype it, starting offline (process a bass stem, sweep parameters, listen critically) will probably get you further than trying to solve real-time pitch tracking first.
This is a great topic. Even if it never becomes a built-in effect, documenting experiments and findings here would be very valuable.
This is a really interesting line of thinking, and your analysis is pretty close to how a lot of “warm” or “growling” bass sounds are built.
What people often describe as that “purring” character is usually not a single distortion stage, but a controlled redistribution of energy between the sub, the fundamental, and the first couple of harmonics. Octave-down reinforcement, a stabilized fundamental, and then a gentle nonlinear stage to bring in the 2nd and 3rd are a very common recipe.
A few points that might help frame this:
• Many classic bass effects that feel like this (octavers, some synth bass pedals, some enhancers) effectively do a mix of envelope-tracked octave generation + filtering + mild saturation. • Pure pitch tracking with narrow, moving peaks is hard to do cleanly in real time, especially on bass, and you’re right that it tends to introduce latency. • In live contexts, ~10 ms is basically invisible, ~20 ms is usually fine for bass, and once you get past ~30–40 ms most players start to feel it as “lag,” especially on percussive lines.
That’s why a lot of pedals avoid explicit pitch detection and instead use cruder but low-latency tricks: full-wave or half-wave rectification, subharmonic generators, envelope followers driving fixed or loosely tuned filters, and then heavy low-pass shaping. You don’t get perfectly locked harmonics, but you get the feel with almost no delay.
So for something like a “purring bass” effect here, it might be more practical to explore:
• subharmonic generation without pitch tracking • a band-limited nonlinearity to emphasize 2nd/3rd • dynamic EQ or resonant filters driven by the envelope rather than exact f0
If you want to prototype it, starting offline (process a bass stem, sweep parameters, listen critically) will probably get you further than trying to solve real-time pitch tracking first.
This is a great topic. Even if it never becomes a built-in effect, documenting experiments and findings here would be very valuable.
This is a really interesting line of thinking, and your analysis is pretty close to how a lot of “warm” or “growling” bass sounds are built.
What people often describe as that “purring” character is usually not a single distortion stage, but a controlled redistribution of energy between the sub, the fundamental, and the first couple of harmonics. Octave-down reinforcement, a stabilized fundamental, and then a gentle nonlinear stage to bring in the 2nd and 3rd are a very common recipe.
A few points that might help frame this:
• Many classic bass effects that feel like this (octavers, some synth bass pedals, some enhancers) effectively do a mix of envelope-tracked octave generation + filtering + mild saturation. • Pure pitch tracking with narrow, moving peaks is hard to do cleanly in real time, especially on bass, and you’re right that it tends to introduce latency. • In live contexts, ~10 ms is basically invisible, ~20 ms is usually fine for bass, and once you get past ~30–40 ms most players start to feel it as “lag,” especially on percussive lines.
That’s why a lot of pedals avoid explicit pitch detection and instead use cruder but low-latency tricks: full-wave or half-wave rectification, subharmonic generators, envelope followers driving fixed or loosely tuned filters, and then heavy low-pass shaping. You don’t get perfectly locked harmonics, but you get the feel with almost no delay.
So for something like a “purring bass” effect here, it might be more practical to explore:
• subharmonic generation without pitch tracking • a band-limited nonlinearity to emphasize 2nd/3rd • dynamic EQ or resonant filters driven by the envelope rather than exact f0
If you want to prototype it, starting offline (process a bass stem, sweep parameters, listen critically) will probably get you further than trying to solve real-time pitch tracking first.
This is a great topic. Even if it never becomes a built-in effect, documenting experiments and findings here would be very valuable.
This is a really interesting line of thinking, and your analysis is pretty close to how a lot of “warm” or “growling” bass sounds are built.
What people often describe as that “purring” character is usually not a single distortion stage, but a controlled redistribution of energy between the sub, the fundamental, and the first couple of harmonics. Octave-down reinforcement, a stabilized fundamental, and then a gentle nonlinear stage to bring in the 2nd and 3rd are a very common recipe.
A few points that might help frame this:
• Many classic bass effects that feel like this (octavers, some synth bass pedals, some enhancers) effectively do a mix of envelope-tracked octave generation + filtering + mild saturation. • Pure pitch tracking with narrow, moving peaks is hard to do cleanly in real time, especially on bass, and you’re right that it tends to introduce latency. • In live contexts, ~10 ms is basically invisible, ~20 ms is usually fine for bass, and once you get past ~30–40 ms most players start to feel it as “lag,” especially on percussive lines.
That’s why a lot of pedals avoid explicit pitch detection and instead use cruder but low-latency tricks: full-wave or half-wave rectification, subharmonic generators, envelope followers driving fixed or loosely tuned filters, and then heavy low-pass shaping. You don’t get perfectly locked harmonics, but you get the feel with almost no delay.
So for something like a “purring bass” effect here, it might be more practical to explore:
• subharmonic generation without pitch tracking • a band-limited nonlinearity to emphasize 2nd/3rd • dynamic EQ or resonant filters driven by the envelope rather than exact f0
If you want to prototype it, starting offline (process a bass stem, sweep parameters, listen critically) will probably get you further than trying to solve real-time pitch tracking first.
This is a great topic. Even if it never becomes a built-in effect, documenting experiments and findings here would be very valuable.
This is a really interesting line of thinking, and your analysis is pretty close to how a lot of “warm” or “growling” bass sounds are built.
What people often describe as that “purring” character is usually not a single distortion stage, but a controlled redistribution of energy between the sub, the fundamental, and the first couple of harmonics. Octave-down reinforcement, a stabilized fundamental, and then a gentle nonlinear stage to bring in the 2nd and 3rd are a very common recipe.
A few points that might help frame this:
• Many classic bass effects that feel like this (octavers, some synth bass pedals, some enhancers) effectively do a mix of envelope-tracked octave generation + filtering + mild saturation. • Pure pitch tracking with narrow, moving peaks is hard to do cleanly in real time, especially on bass, and you’re right that it tends to introduce latency. • In live contexts, ~10 ms is basically invisible, ~20 ms is usually fine for bass, and once you get past ~30–40 ms most players start to feel it as “lag,” especially on percussive lines.
That’s why a lot of pedals avoid explicit pitch detection and instead use cruder but low-latency tricks: full-wave or half-wave rectification, subharmonic generators, envelope followers driving fixed or loosely tuned filters, and then heavy low-pass shaping. You don’t get perfectly locked harmonics, but you get the feel with almost no delay.
So for something like a “purring bass” effect here, it might be more practical to explore:
• subharmonic generation without pitch tracking • a band-limited nonlinearity to emphasize 2nd/3rd • dynamic EQ or resonant filters driven by the envelope rather than exact f0
If you want to prototype it, starting offline (process a bass stem, sweep parameters, listen critically) will probably get you further than trying to solve real-time pitch tracking first.
This is a great topic. Even if it never becomes a built-in effect, documenting experiments and findings here would be very valuable.
Many thanks, Qasim, for your highly valubale inputs! I've opened a discussion on my repo. https://github.com/phstrauss/XSpectrum-1.1/discussions
Many thanks, Qasim, for your highly valubale inputs! I've opened a discussion on my repo. https://github.com/phstrauss/XSpectrum-1.1/discussions in case. I've a question, how do you do subharmonic generation in a live setting?
Many thanks, Qasim, for your highly valubale inputs! I've opened a discussion on my repo. https://github.com/phstrauss/XSpectrum-1.1/discussions in case. I've a question, how do you do subharmonic generation in a live setting?
Many thanks, Qasim, for your highly valubale inputs! I've opened a discussion on my repo. https://github.com/phstrauss/XSpectrum-1.1/discussions in case. I've a question, how do you do subharmonic generation in a live setting?
Many thanks, Qasim, for your highly valubale inputs! I've opened a discussion on my repo. https://github.com/phstrauss/XSpectrum-1.1/discussions in case. I've a question, how do you do subharmonic generation in a live setting?
I've just tried using golang and jack but it's not even harmonics distorsion, will dig deeper later.