Pitch Training Program
Basically, this is what I imagined my program to do:
Step 1: User selects their Vocal Range (aka Soprano, Alto, Tenor, Bass)
Accordingly, that allows for them to hear/play a corresponding note/pitch (aka C)
Step 2: User practices hitting that pitch
So I need to record them for x amount of seconds and plot their pitch (or F0 = fundamental frequency) in real time in order for them to have visual feedback.
Step 3: User receives an evaluation
At this point I want the user to receive an evaluation for how close to the pitch they got. For example, they hit it 70% of the time.
This requires us to compare the played pitch to the recorded pitch.
I have Step 1 pretty much done no problem.
Step 2 I am stuck with the plotting part.
I have a simpler Step 3 set up so that it gives binary Did Well vs Did Poorly but would like a more complex one as described above.
Have you searched the forums around?
A search on "pitch recognition" ( http://cycling74.com/search-results/?q=pitch%20recognition )would be very helpful to start with. Objects like [fiddle~], [pitch~], [analyzer~] and [sigmund~] can be interesting to play around with.
Also look around for "guitar tuner" patches, plenty around and pretty much doing what you’re looking for.
About the percentage, simply count how many times they got the note correct and divide that by how many times they tried in total, and voila. If you want a "you were within 5% of the pitch", then check the guitar tuners :)
Step 2: I would run the output of fzero~ into a multislider in line scroll mode.
1. I don’t know how to load those external objects… Im using Mac OSX 10.7.5 and Max 6.1
I put them in the Cycling ’64 folder on my computer… I can’t open .mxo files… I can’t search them.
2. I tried to plot the fzero~ first output (Fundamental Frequency) its not quite working… In the help file it plots the fzero~ second output (Amplitude) but I don’t need that.
PS. I just started using Max 3 days ago… So I am a total beginner!
Then you should go through all the tutorials, well at least most of the max tutorials and most of the msp tutorials. These will give you the ground-floor knowledge you need, and it will help you formulate specific questions pertaining to your project, too.
I meant something like this:
----------begin_max5_patcher---------- 579.3ocuUssaiBCD8Y3q.4mYivbIIrO086nppx.totBrQ1lzzT09su1igTRJ nzhp5K13ggYNywyb3UeOTg3.UgB9avsAddu564AlrF75O6gZHGJqIJvMzC0B dWCJz8pGDbshcjZeENdUTuYVE3qn3o+jN1UNoAbE8OIiTO7lVhzXWSk2S4jh ZvigHI5z0Ts9kVpCj17Sznv.TAguCEbWueFLw3FOAPh+vn66AqwmRmt7QFe2 8RZo1EUb9VC1ChSv1srH3fYM3N6m7luucI7KxPMc0ZlplUQkCUnhpMvy3Ue5 hfLrIBRwm4r3EwLVR4JDhAGJ8Kt3j7cIo3LfV1Bao3M1sDb5BYI5wJR46nOW 73MCFqEklljQvuXWonVHcvIZU95zMQqCm4onooh3IK6n4K6j7UYgA3s4PYmN rtnhtkvomZ6KDRaKxHLMlE1h99EMdthFeVJOKdYQ3703vIe5h386yWEP7+XN ZDAkMX6jlREsQnDc7pUlXzZEIlYPQw1wsMVSRUCUFQtqWWDcSinpyLzXZ9Mi X2rWXtBCliYvWa.ZKL3D6NjmsPlgSe1vBCknldP6TmORkh2mTcNYJ04X70km mWBd4ZwIWUlwIBm5zkwWvRPpP0L9k+6Bhm094TmosPVN.+g5dzUXEUoYbhlI 3ibJ8LedjUUQ4iaQpXJqnLvlQSdG9iBm3eM3j8UPCdgvwc2QZa2Skp9XBHwz f+jSWZcHbjwcGgVHjjtmM3Oz9XFQM8NZSiSmz01dXcJx2lm27+OeFlf4 -----------end_max5_patcher-----------
(paste into a max patch)
But, Wetterberg is right. Max has a bit of a learning curve, and it’s good to start with the basics.