Wish More Advanced Pitch Detector

Dr. Dipwad

Experienced
An earlier Wish asked for a Pitch Follower range extension; the following includes that idea but goes way beyond it, with more-interesting applications.

The Basic Ask
I think the Pitch Detector should be able to detect various parameters...
(a.) how many notes you are currently playing (i.e., are you playing a single note, a 3-note chord, or a 7-note chord?);
(b.) what the highest note you're currently playing is;
(c.) what the lowest note you're currently playing is;
(d.) the average distance in half-steps between each pitch you're currently playing (i.e. "pitch density");
(e.) the average amount of harmonic "clash" between the pitches you're currently playing (low for 5ths and octaves, high for minor 2nds and tritones);
...and it should do so across a wider range of pitches, from the bottom of low-tuned 5-string basses up to very high guitar notes.

Parameters (a.) and (b.) would be configurable to detect pitches across a range of notes you define (where notes below the lowest of the range produce the same result as the lowest, and notes above the highest produce the same result as the highest).

The User Interface
In a given Preset, you could choose from various combinations of one or all of these factors to control the output, under two settings pages which define "Pitch Follower #1" and "Pitch Follower #2" for the patch. On the two settings pages (#1 and #2) governing the settings for each Pitch Follower, there would be options you could toggle on/off to select which of params (a.) through (e.) were being factored into the modifier output value. So, you could have Pitch Follower #1's output governed only by highest note and number of notes, but Pitch Follower #2's output governed by lowest note and pitch density.

Then, when choosing to assign a block parameter to a modifier, you'd choose either "Pitch Follower #1" or "Pitch Follower #2" (in the same place where, currently, you'd choose "Pitch Detector").

Some Possible Applications
So, you could have:
1. A chorus effect that's wetter and deeper when multiple pitches are ringing, but absent when you're playing one note at a time.
2. A distorted sound that's very fuzzy when dealing with an open-voiced chord made of 5ths and octaves, but cleans up when playing a dense or harmonically-clashy tight-voiced chord.
3. An effect that reliably responds to the pitch of the lowest (or, highest) note you're currently playing, without getting confused by the higher (or, lower) notes you're also playing.
4. A range of notes where, when you play those notes, a "Sustain Block" (if we ever get one, or a high-feedback delay, otherwise) causes THAT note to sustain, while notes outside that range are not sustained, and can be played over the sustained notes. (Very useful for the last note of the solo to Rush's "Limelight," for starters; but also usable where the auto-sustained range of notes are the low ones.)

I think a lot of folks have experimented with using an Expression Pedal to roll back and forth between two different sounds according to whether they're playing lead or rhythm; or whether they're playing open-voiced or tight-voiced chords.

The goal of this Wish is to allow automation of almost all those scenarios...or at least all those involving pitch(es) in any way.

Why This Makes Sense
It makes sense because it's an improvement on what people already try to do with the Pitch Detector. The applications listed above aren't very different from things people try to do today. But getting them right requires that the Pitch Detector be a bit "smarter" and "more discerning" than it currently is, with configuration options so that the user can pick which aspect of pitch detection he cares to use.

So this would be evolution, not revolution.
 
Last edited:
I have no idea how possible this is at all, but I like the concept and the possibilities it could open.

Thanks.

I think it is possible. The reliability of this kind of tech has really improved in the last decade. Consider the kinds of analysis the Dual and Quad Diatonic pitch shifters have to do in the Pitch block (although that's monophonic). And then think about the various polyphonic Pitch-to-MIDI devices (e.g. from Jam Origin) that exist.

Granted, I don't myself know how such things work. I'm sure Cliff knows a lot more.

But it seems clear that the polyphonic Pitch-to-MIDI devices somehow parse out which four or five pitches are being played from a single combined audio signal. The problem with such devices is that they need to have low latency and perfect accuracy, and not be thrown off by bending. This is hard to do perfectly, so Pitch-to-MIDI performances can sound glitchy.

But the great thing about polyphonic Pitch-to-Modifier is that occasional glitches actually don't matter much, if at all, in a live performance!

After all, the modifier will usually have damping applied to prevent the modifier value from chasing a wild glitch too far across the modifier range. In a Pitch-to-MIDI performance, if a note's pitch value is 5% off, people will notice, because that could be the difference between a major chord and an augmented! But the effect of a glitch in a Pitch-to-Modifier situation is more subtle. If you slide up to a new pitch range, intending that the distortion gain increase, and it's the distortion gain that briefly increases by 5% more than expected, nobody will notice or care.

So, the tech is on the market, I think. Someone knows how to make it work.

It might be a bit daunting for FAS to figure out exactly where to put the two Pitch Follower "pages" in the UI...but I'm not especially wedded to doing the UI a particular way. My description might work; or it might prompt someone to come up with an even more user-friendly layout. I don't know if there needs to be two separate pitch-related modifier values available. Maybe not; or maybe there could be four.

And, there might be something that prohibits my idea being feasible in the current architecture of the Axe FX III, perhaps for hardware reasons. (Maybe there's a dedicated pitch-detection chip "welded" to the input, such that its firmware can't be as thoroughly revised as my idea would require.) In that case, we might have to wait until the Axe IV, if/when that ever happens.

But if current architecture isn't a blocker, and if I'm not overlooking some major detail, I think this idea could work.
 
An earlier Wish asked for a Pitch Follower range extension; the following includes that idea but goes way beyond it, with more-interesting applications.

The Basic Ask
I think the Pitch Detector should be able to detect various parameters...
(a.) how many notes you are currently playing (i.e., are you playing a single note, a 3-note chord, or a 7-note chord?);
(b.) what the highest note you're currently playing is;
(c.) what the lowest note you're currently playing is;
(d.) the average distance in half-steps between each pitch you're currently playing (i.e. "pitch density");
(e.) the average amount of harmonic "clash" between the pitches you're currently playing (low for 5ths and octaves, high for minor 2nds and tritones);
...and it should do so across a wider range of pitches, from the bottom of low-tuned 5-string basses up to very high guitar notes.

Parameters (a.) and (b.) would be configurable to detect pitches across a range of notes you define (where notes below the lowest of the range produce the same result as the lowest, and notes above the highest produce the same result as the highest).

The User Interface
In a given Preset, you could choose from various combinations of one or all of these factors to control the output, under two settings pages which define "Pitch Follower #1" and "Pitch Follower #2" for the patch. On the two settings pages (#1 and #2) governing the settings for each Pitch Follower, there would be options you could toggle on/off to select which of params (a.) through (e.) were being factored into the modifier output value. So, you could have Pitch Follower #1's output governed only by highest note and number of notes, but Pitch Follower #2's output governed by lowest note and pitch density.

Then, when choosing to assign a block parameter to a modifier, you'd choose either "Pitch Follower #1" or "Pitch Follower #2" (in the same place where, currently, you'd choose "Pitch Detector").

Some Possible Applications
So, you could have:
1. A chorus effect that's wetter and deeper when multiple pitches are ringing, but absent when you're playing one note at a time.
2. A distorted sound that's very fuzzy when dealing with an open-voiced chord made of 5ths and octaves, but cleans up when playing a dense or harmonically-clashy tight-voiced chord.
3. An effect that reliably responds to the pitch of the lowest (or, highest) note you're currently playing, without getting confused by the higher (or, lower) notes you're also playing.
4. A range of notes where, when you play those notes, a "Sustain Block" (if we ever get one, or a high-feedback delay, otherwise) causes THAT note to sustain, while notes outside that range are not sustained, and can be played over the sustained notes. (Very useful for the last note of the solo to Rush's "Limelight," for starters; but also usable where the auto-sustained range of notes are the low ones.)

I think a lot of folks have experimented with using an Expression Pedal to roll back and forth between two different sounds according to whether they're playing lead or rhythm; or whether they're playing open-voiced or tight-voiced chords.

The goal of this Wish is to allow automation of almost all those scenarios...or at least all those involving pitch(es) in any way.

Why This Makes Sense
It makes sense because it's an improvement on what people already try to do with the Pitch Detector. The applications listed above aren't very different from things people try to do today. But getting them right requires that the Pitch Detector be a bit "smarter" and "more discerning" than it currently is, with configuration options so that the user can pick which aspect of pitch detection he cares to use.

So this would be evolution, not revolution.
Now THIS is how you make a wish list thread.
 
Ooof. What're we talking about, here? Like, it's 500ms behind? Or 3 seconds? Or 30 seconds?

All of those latency numbers would get complaints though.

At present, it seems like if people want this function they need to find a way to use melodyne.
 
I don't think 500ms is such a problem. (The other times would be, sure.)

Again, remember the nature of what we're modifying. In all the example uses I listed, I would likely set a damping value of at least 100ms, and often 500ms. When I create my presets with scenes that "morph" between tones*, my standard crossfade time is 500ms. (I can get a very musical-sounding transition by hitting the Scene footswitch on/after Beat 4 of the measure prior to the next section of the song. By the time the next downbeat happens, the new tone sort of swells in.)

I was hoping Cliff would say: "Oh, no; it's not so bad as 500ms, let alone 30 seconds; it might be 200ms, but that's slow enough for folks to notice." If he'd said that, I would argue it wasn't a problem, at least for many uses.

But, sure, if it takes even a full second, the use-cases narrow significantly. 3 seconds is mostly useless, I guess; and 30 would be ridiculous. So if that's the likely latency, I'll just have to accept that the tech isn't there.

Oh, well! A man's reach should exceed his grasp; else, what's an Axe FX III Extra-Extra-Turbo for?
 
+ 1

I would also want to see, at a more basic level, a precise pitch range in the Pitch Follower so that specific notes or a range of notes (all the way down from 5 string bass low B to the 24 fret high E of a guitar) can be selected.
 
It would be cool as well to be able to trigger a change (scene, channel, effect, etc.) based on a user set tone value (like 880 Hz or other values not normally used by a specific user) ;~))
 
Back
Top Bottom