Вот библиотека на Python, в которой есть все, что вам понадобится:
sms-tools
Помимо выбора самого низкого пика нужно удостовериться, что этот пик соответствует стабильному сигналу, а не локальному низкочастотному шуму. Если вы поете, а кто-то топнул ногой, или даже если вы произнесли согласную "п" близко к микрофону, то самая низкая частота на FFT не будет соответствовать тому, что вам надо узнать. Это принципиальные моменты в решени этой задачи, но все-таки изобретать велосипед не стоит, достаточно просто понимать, как это работает.