fiddle~, analyzer~, pitch~ or sigmund~ (the best IMHO) should still work in Max 6.
sigmund~ allows a certain degree of polyphonic pitch estimation .
Once you get data you can parse and distribute it in many ways, including UDPsend/recieve combination which many report faster than the coupling of send/receive objects.
With the new Max 6 documentation sometimes it so easy that one thinks it can´t be, but it is
There is tons and tons of information on the cycling site, just google pitch tracking Max/MSP .
fiddle~ and sigmund~ are efforts from the parent of PD, and one of the parents of Max/MSP ...
you can also check how people analyze in Jitter, there is a whole set of patches in the examples folder of jitter especially in the OpenGl rendering section.