В Qt 4.6 был добавлен API QAudioInput.Это обеспечивает кроссплатформенную абстракцию для получения входного аудиосигнала и, следовательно, будет полезно при достижении пункта (1).
Что касается (2) и (3), демонстрация Spectrum Analyzer, который поставляется с Qt, может представлять интерес.
Снимок экрана демонстрации Spectrum Analyzer, работающей на Symbian http://labs.trolltech.com/blogs/wp-content/uploads/2010/05/spectrum.png
Реализация на C ++, а не на Python, но может быть использована в качестве справочной.По сути, для (2) вам нужно рассчитать быстрое преобразование Фурье входного сигнала.Вы, вероятно, захотите использовать библиотеку, которая обеспечивает реализацию FFT, а не свою собственную - это подход, который я использовал при написании демонстрации:)
Что касается (3), это концептуально довольно просто, нотребуется немного подумать, чтобы получить плавно прокручиваемый сигнал.Взгляните на метод листов, используемый в демонстрационном классе Waveform для некоторых советов.
Я думаю, что под (4) вы имеете в виду: уменьшить большое количество точек в выводе FFT до небольшого числа значений,Это то, что делает демо, чтобы построить гистограмму для спектра.Опять же, обратитесь к демонстрационному коду, чтобы увидеть, как реализовано объединение частотных амплитуд.