Eccomi di nuovo!
Sono andato avanti con il launchpad e adesso premendo un tasto della tastiera viene riprodotto un suono e se non è ancora terminato viene riprodotto di nuovo da capo. Inoltre sono riuscito a creare una funzione che registra al millisecondo le azioni della tastiera, ovvero è possibile registrare una sequenza di suoni con le relative tempistiche al millisecondo.
Ora il problema è che queste registrazioni se messe in loop vengono distorti gli intervalli di tempo tra un tasto e l'altro e non ne vengo fuori, in breve la registrazione si fa sempre più breve e quindi i suoni arrivano fino a sormontarsi e a ripetersi sempre più velocemente mentre al primo loop i tempi sembrano essere rispettati e i suoni vengono riprodotti giusti.
La mia domanda è questa: e' possibile risolverlo, se si come? Grazie!
La registrazione si esegue in questo modo: premo barra spaziatrice, inizia la regisrazione ed eseguo una sequenza di suoni con la pressione delle lettere della tastiera, ripremo barra spaziatrice e si conclude a registrazione, premo un numero a cui viene assegnata e ripremendolo una seconda volta viene riprodotta.
Es num[1] = ,,,,,,,,,,,81,,,,,90,,,,86,,,,,,,,32
Le virgole sono i millesecondi, i numeri i codici ascii della tastiera, 32 = barra
codice:
function loop() {
find = false;
mls = 0;
length = num[key].length-doubleKey;
setInterval(function() {
res = num[key].charAt(mls);
if (res!="," && find==false) {
find = true;
firstNumber = [];
for (i=0;i<2;i++) {
firstNumber[i] = num[key].charAt(mls+i);
}
firstNumber = firstNumber.toString();
str = firstNumber.replace( /,/g, "" );
mp3[str].currentTime = 0;
mp3[str].play();
} else { find = false; }
if (mls==length) {
loop();
}
mls++;
}, 1);
}