retune~ to specific frequency?
Very basic question here. Does retune~ have the capability to force an incoming signal to an indicated frequency? Like if I want to force an incoming signal to 440hz, can it do that? Thanks!
Perhaps I'm not understanding your question, but....
The retune~ object bases itself on pitch detection based on standard 12tET, like your piano more or less has. It listens for input, determines what the frequency of the mono input signal is, and then maps that output to *another* frequency you've set using messages, as described in the "microtonality" tab of the helpfile. But the point is that the pitch detection and the pitch shift for the mono signal are linked.
I suppose that you could grab the output from the pitch detection part of the object (the third or fifth outlet, depending on what you want), and then use that output to calculate the contents of a "notelist" message on the fly, but you might not like the latency....
So, my experience so far with retune~ so far leads me to believe it remaps the incoming signal to whichever pitch 'classes' you've selected. For example, if I selected D and A as my allowed pitches, it will map the signal to the nearest D or A. Is there a way to select a specific note/frequency for it to map to (like A 440)?
If you have D and A chosen as your allowed pitches (which, I presume, means that you understand what's in the "enabled notes" tab of the helpfile), then you'd use the notelist message described in the "microtonality" tab (taking care that you've specified the notebase properly so that the pitches you want to assign *to* D and A are actually D and A.
Right, however, for some reason, retune~ isn't recognizing any notelist message with fewer than 3 values. Even so, I assume even a retune~ set to receive only 1 value would simply switch octaves on the same pitch depending on the signal (so if it's D, it'll pick the closest D to the incoming signal). Is there a way to specify only 1 single pitch frequency for it to map to?
Thanks so much for your help!
Don't take this the wrong way, but if you always want the incoming signal to end up being one single frequency, why don;t you just generate that frequency instead of having to pitch shift to that frequency?
Did you try the 'enablednotes 0' message? Would that work for you?
Evan, if only it were that simple. I'm dealing with a variable frequency input, but I think I found a work around using sigmund~.
Jean-Francois, I did try that. No luck.
Yeah I figured, my suggestion was kind of tongue in cheek.
Are you trying to do pitch correction? Or harmonization? Or some other goal? If I understood what the purpose of forcing a variable frequency input to one frequency, it'd be easier to offer suggestions.
Good you found a workaround.
CARSON GRAHAM might be 6 years too late, but yes! The 2nd inlet does specifically what you're describing. Check out Examples > Pitch and Time > 'Retune Automation example'. Choose "sequencer" as the source, and then open up and see how the sequencer connects and controls the frequency of whatever mono signal you have shooting into the first inlet. I actually just put a float into a sig~ and made retune~ into essentially a realtime pitchshifter.