Differenze tra le versioni di "Calcolare la quantità di dati audio grezzi di un file WAV necessari per eseguire un tot di millisecondi audio"
Riga 33: | Riga 33: | ||
===2<SUP>a</sup> modalità=== | ===2<SUP>a</sup> modalità=== | ||
− | quantità_dati = durata * block_align *frequenza_campionamento | + | quantità_dati = durata * block_align * frequenza_campionamento |
laddove la variabile ''block_align'' è data dal valore, espresso in ''little-endian'', del 33° e 34° byte (byte n. 32 e n. 33) del blocco di intestazione del file WAV. | laddove la variabile ''block_align'' è data dal valore, espresso in ''little-endian'', del 33° e 34° byte (byte n. 32 e n. 33) del blocco di intestazione del file WAV. | ||
Versione delle 17:04, 7 feb 2016
Per sapere la quantità di dati audio grezzi di un file WAV necessari per eseguire un tot di millisecondi audio, è sufficiente far riferimento alle formule viste in questa pagina della WIKI.
In particolare potremo utilizzare almeno tre modalità.
1a modalità
quantità_dati = (durata * frequenza_campionamento * risoluzione_bit * numero_canali) / 8
Esempio:
Public Sub Main() Dim frequenza As Integer Dim bit, canali as Byte Dim quantitas, durata As Single durata = 1968 ' millisecondi frequenza = 44100 bit = 16 canali = 2 quantitas = (durata * (frequenza * bit * canali)) / 8 quantitas /= 1000 Print quantitas End
Da sottolineare che il tipo di dato relativo alla quantità di dati audio necessari e quello relativo alla durata deve essere in virgola mobile (Float oppure Single).
2a modalità
quantità_dati = durata * block_align * frequenza_campionamento
laddove la variabile block_align è data dal valore, espresso in little-endian, del 33° e 34° byte (byte n. 32 e n. 33) del blocco di intestazione del file WAV.
3a modalità
quantità_dati = durata * Byte_rate_per_secondo
laddove la variabile Byte_rate_per_secondo è data dal valore, espresso in little-endian, del 29°, 30°, 31° e 32° byte (byte dal n. 28 e n. 31) del blocco di intestazione del file WAV.