Il formato WAV, stereo, dopo il byte 44, pone due byte per il canale sinistro, due byte per il canale destro, e poi ricomincia. Per questo motivo possiamo fare un grafico leggendo questi byte.
Facciamo uno stack con:
- un bottone
- un campo di testo
- un grafico di tipo linea
on mouseUp
put URL "binfile:C:\Users\MAX\Documents\fanhit.wav" into MioAudio #percorso dell'audio da analizzare
put 0 into cont #contatore byte
put 0 into cont2 #contatore canale sinistro
put 0 into cont3 #contatore punti del grafico
repeat for each byte theByte in mioAudio
add 1 to cont
if cont > 44 then #dopo il byte 44 possiamo analizzare l'audio
add 1 to cont2 #contiamo i byte dei canali, 1 e 2 sinistro, 3 e 4 destro
switch cont2
case 1 #primo byte canale sinistro
put byteTonum(theByte) into temp
break
case 2 #secondo byte canale sinistro
put temp + (256 * byteTonum(theByte)) into temp
add 1 to cont3 #spostiamo lungo x sull'asse del grafico
put cont3,byteTonum(theByte) & return after punti #aggiungiamo una riga di coordinate x,y per il grafico
break
case 4
put 0 into cont2 #resettiamo il contatore dei canali
end switch
end if
end repeat
put punti into field 1 #vediamo l'elenco dei punti
set the points of graphic "line" to punti #facciamo il grafico del canale sinistro
end mouseUp
Premendo il pulsante otterremo questo:
Ovviamente questo è solo un esempio molto semplice, ma da qui potete proseguire voi a fare od aggiungere effetti.
Nessun commento:
Posta un commento