noteout – pitch varies from machine to machine

Oct 5, 2009 at 12:22am

noteout – pitch varies from machine to machine

Created a little tuner application that will play a reference pitch, then wait for the user audio to match the pitch and graph it.

The user audio input is fine… But, it seems NOTEOUT does not produce the same pitch frequencies from machine to machine.

Discovered this today when moving from my dying XP home system to a new XP Pro machine.

Appears the XP home system plays about 5-10 cents sharp, while the XP Pro computer plays notes 20-30 cents flat – a difference of nearly 50 cents.

Any ideas on what’s going on?

How to detect and fix on the fly? (eg, play a note, capture the first frequency, subtract the difference, then add that difference to the outgoing frequency sort of thing)

Thank you for your input.

Peace

#45727
Oct 5, 2009 at 1:31am

Perhaps if you could post your patch, or at least the relevant portion of it, it would be easier to give some feedback. Smile

#164884
Oct 5, 2009 at 6:05am

It’s pretty simple and here’s a stripped down version:

– Pasted Max Patch, click to expand. –

If I run this on my XP home machine and click C, I get numbers very close to 60.0 (60.0-60.1 roughly).

When the same is run on XP Pro, the numbers are 59.6-59.7

.30-.40 difference between the two computers.

I get the exact same readouts from fiddle~ on both machines… ie, 1 machine plays, both print values…

And, of course there’s a clear audible difference.

#164885
Oct 5, 2009 at 7:00am

Is there a reason that you want to rely on the operating system’s built-in synthesizer?

Why not just use something like cycle~ instead?

#164886
Oct 5, 2009 at 7:12am

Hi Chris,

Thank you for your reply.

Suppose this question/problem more illustrates my lack of understanding of how all the pieces fit together.

The only reason I can think of to use the system synth, is to have a sound that is more piano like. Cycle~ would be a perfect technical solution, though the tone might not work well in my app.

Perhaps there’s a way I can “pianofy” cycle~?

#164887
Oct 5, 2009 at 10:13am

[noteout] is obviously dependent on the MIDI implementation provided by the synth attached to your MIDI channel. And your basic OS-supported MIDI synths are not always high quality. To put it mildly.

If you want to use a piano sample, read it into a buffer~ and play it from there. But, if you’re a beginner, there will be a number of things to trip up on here, starting with finding decent piano samples that are only 512 samples long, and handling transposition.

Work your way through the tutorials and read the documentation and it’s doable, paying particular attention to cycle~ and buffer~. Just guessing how things maybe might work is not the steps to Parnassus.

BTW, even with cycle~ I’ve found very small hardware-dependent discrepancies. I once had a workshop where I went through a basic test tone patch at 440Hz, and we had wonderful beats (< 1Hz) between the PCs and Macs in the room.

#164888

You must be logged in to reply to this topic.