[J2ME] Catturare suono e relativa frequenza (Accordatore)

Shutdown
Mi sto documentando per la realizzazione, su dispositivi mobili, di un accordatore per chitarra.

Utilizzerò J2ME come linguaggio di programmazione.
Il programma dovrà catturare il suono preso in INPUT dal microfono del cell. ed elaborarlo istante per istante.
Io non so davvero come poter ricavare la frequenza dell'onda sonora.
In base a questa frequenza posso calcolare la corrispondente nota.
Per farvi un esempio molto pratico il LA ha una frequenza di 440 Hz.

Spero che qualcuno di voi mi sappia aiutare.
Grazie 1000.

Risposte
Shutdown
Dunque...

Nel frattempo ho trovato questo codice.
Pensate che vada bene per quello che voglio fare io?
In sostanza ho uno stream di byte come risultato della registrazione.
Allora nessuno sa come estrapolare la frequenza del suono memorizzato nello stream?

try {
    Player p = Manager.createPlayer("capture://audio?rate=8000&bits=16");
    p.realize();
    RecordControl rc = (RecordControl)p.getControl("RecordControl");
    ByteArrayOutputStream output = new ByteArrayOutputStream();
    rc.setRecordStream(output);
    rc.startRecord();
    p.start();
    Thread.sleep(5000);
    rc.commit();
    p.close();
} catch (IOException ioe) {
} catch (MediaException me) {
} catch (InterruptedException ie) { }

Shutdown
Inoltre adesso ho trovato delle informazioni sulla Trasformata di Fourier...
Purtroppo non ho le basi matematiche per capire quanto esprime questo signore...
Qualcuno di voi mi può gentilmente aiutare?

Qui c'è il link al materiale che ho trovato:
http://it.wikipedia.org/wiki/Trasformata_di_fourier

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.