Dipende dal livello di curiosità e dal tipo di "consigli" che ti aspetti.
In linea di principio, non è proprio alcunché di trascendentale: in fase di "apprendimento" un segnale audio prodotto dalla voce umana (ma non necessariamente) viene digitalizzato, filtrato e ridotto ad una stringa di bit. In seguito (fase di riconoscimento) tale stringa di bit viene confrontata con altri segnali analoghi, utilizzando algoritmi piuttosto evoluti e radicalmente divisi in due categorie: speaker-dependent e speaker-independent. I dettagli matematici che sustanziano tali algoritmi sono di elevato interesse e di altrettanto elevata complessità.
Se il riconoscimento, in ambedue i casi, ha esito positivo, ciò può poi dare luogo ad ogni sorta di evento arbitrariamente complesso, sotto il controllo del relativo programma. E' quindi banalmente possibile, ad esempio, associare comandi a suoni, tipicamente parole o frasi.
Esistono apposite librerie di riconoscimento vocale per quasi ogni linguaggio normalmente diffuso nel mainstream, e anche per qualcuno dei più esotici (ad esempio, Haskell...). Consigliare l'una o l'altra senza conoscere numerosi dettagli, che hai omesso, è nel migliore dei casi un esercizio poco utile.
L'unica nota che è sensato aggiungere è che il riconoscimento vocale effettuato su una macchina esorbitantemente potente come il PC appare quasi uno spreco in confronto al concentrato di tecnologia algoritmica e di potenza elaborativa degli appositi chip dedicati, che da oltre un decennio (e se si parla di tecnologia DAST per la basilare riproduzione vocale andiamo indietro di almeno venticinque anni) in pochi mmq di silicio offrono le prestazioni delle migliori librerie commerciali quanto a riconoscimento, sintesi, apprendimento vocale.