Benvenuti nel mondo sconcertante dell'elaborazione del segnale e dei sistemi embedded. Goditi il tuo soggiorno.
Il rilevamento delle vibrazioni potrebbe essere eseguito in vari modi. In questo caso particolare, è fatto con i microfoni. Ecco uno schizzo approssimativo su come:
Hai una serie di microfoni. Un array in questo caso è una disposizione fisica arbitraria. Ogni microfono ha una gamma di rilevamento sia in termini di distanza che in termini di frequenza. La frequenza determina l'intonazione percepita di un dato suono. Maggiori informazioni su questo più tardi.
Colpisci il microfono contenente la superficie con qualcosa come una mano o un martello o qualsiasi altra cosa. Questo genera onde sonore che viaggiano attraverso il materiale e l'aria circostante. Determinando la differenza di altezza e intensità, è possibile determinare una posizione approssimativa. Più i microfoni sono sintonizzati con precisione e più ce ne sono, migliore è l'approssimazione.
Hai quindi una superficie dello strumento simulata nel software. Il microfono (s) misura il volume e il tono e trasmette questo al computer che poi mappa quell'input nello spazio virtuale dello strumento. Una volta capito dove sullo strumento virtuale si sta registrando l'ingresso, suonerà il suono appropriato. È anche possibile trovare informazioni aggiuntive per una migliore precisione, onde riflesse o microfoni aggiuntivi. Le specifiche variano in base all'algoritmo e nel caso di DrumsAnywhere, tale algoritmo è proprietario.
In termini di algoritmi generali, ti consigliamo di cercare algoritmi di elaborazione audio, come la trasformazione di Fourier veloce e le trasformazioni Wavelet. C'è una buona dose di matematica inclusa le equazioni differenziali e l'algebra lineare se vuoi veramente capire il profondo coraggio della matematica.
Python o Matlab sono le lingue ideali per questo tipo di armeggiare. Python con Numpy e Scipy servirà in modo efficace. Matlab costa una quantità decente ma ha tutti i tipi di toolkit di elaborazione del segnale.