ich möchte mithilfe eines mikrofons, wie auch sonst

zb. wenn eine person redet, bzw. mehrere personen sich unterhalten.
Derzeit nutze ich audioop http://docs.python.org/library/audioop.html um mein
microfon auszulesen. Zurück bekomme ich für jeden Ton ein Byte zurückgeliefert, welches
folgende Form hat: 2247483647, das ist zb. das "lauteste" was ich aus meinem mic rausbekommen habe.
Spaßeshalber hab ich mir nun mit hilfe von pygame (wahscheinlich ineffektiv, aber derzeit ausreichend) ein Fenster geschrieben, in dem ich mir anzeigen lasse, wie laut es gerade derzeit ist. Ich hab dafür das derzeit lauteste Byte einfach als obegrenze genommen und dann durch das derzeit gehörte byte geteilt um auf kleine werte zu kommen und mir anzeigen zu lassen. Wie gesagt nur ne spielerei.
Die eigentliche Frage ist nun, wie finde ich anhand meiner rohdaten heraus, was ich gerade vor mir habe?
Ich beschäftige mich nun seit mehreren Wochen damit und mir ist schon mehrfach die
fft über den weg gelaufen, aber wenn ich das richtig verstanden habe, dann funktioniert die nur auf arrays, ich aber möchte das zur laufzeit machen, daher wird das mit arrays ein bisschen schwierig

vllt hat ja schon jmd etwas ähnliches gemacht und kann mir einen tipp geben?