Differenze tra le versioni di "Calcolare la quantità di dati audio grezzi di un file WAV necessari per eseguire tot secondi di audio"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per sapere la quantità di dati audio grezzi di un file WAV necessari per eseguire tot secondi di audio, è sufficiente far riferimento alle formule viste in Calcolare_la_du...")
 
 
Riga 9: Riga 9:
  
 
Esempio:
 
Esempio:
  '''Public''' Sub Main()
+
  Public Sub Main()
 
    
 
    
  Dim frequenza As Integer
+
  Dim frequenza As Integer
  Dim bit, canali as Byte
+
  Dim bit, canali as Byte
  Dim dati, durata As Single
+
  Dim dati, durata As Single
 
    
 
    
 
   durata = 1969    <FONT Color=gray>' ''Secondi da eseguire (o eseguiti)''</font>
 
   durata = 1969    <FONT Color=gray>' ''Secondi da eseguire (o eseguiti)''</font>
Riga 25: Riga 25:
 
   Print dati
 
   Print dati
 
    
 
    
  '''End'''
+
  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'').
 
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'').
  

Versione attuale delle 17:04, 17 giu 2024

Per sapere la quantità di dati audio grezzi di un file WAV necessari per eseguire tot secondi di 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

Va precisato che la variabile "durata" esprime i secondi.

Esempio:

Public Sub Main()
 
  Dim frequenza As Integer
  Dim bit, canali as Byte
  Dim dati, durata As Single
 
  durata = 1969    ' Secondi da eseguire (o eseguiti)
  frequenza = 44100
  bit = 16
  canali = 2
  
  dati = (durata * frequenza * bit * canali) / 8
  
' Mostra la quantità di dati audio grezzi necessari (o processati:)
  Print dati
  
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.