Pitch Training Program

    Jul 23 2013 | 6:01 pm
    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.
    My progress: 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.
    Please help!

    • Jul 23 2013 | 6:36 pm
      Have you searched the forums around?
      A search on "pitch recognition" ( https://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 :)
    • Jul 23 2013 | 10:19 pm
      Step 2: I would run the output of fzero~ into a multislider in line scroll mode.
    • Jul 24 2013 | 12:08 pm
      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!
    • Jul 24 2013 | 4:26 pm
      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.
    • Jul 24 2013 | 8:00 pm
      I meant something like this:
      (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.