Differenze tra le versioni di "Modificare il volume audio di file un audio WAV mediante le sole risorse di Gambas"

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 1: Riga 1:
Per modificare il volume audio di un file wav, è necessario operare sui singoli campioni audio del file.
+
#REDIRECT [[Modificare il volume audio di un file WAV mediante le sole risorse di Gambas]]
<BR>Più in particolare:
 
 
 
- per aumentare il volume si deve moltiplicare il singolo campione per un valore (che può essere anche in virgola mobile).
 
<BR>Esempio:
 
campione_audio '''*''' 1.5
 
 
 
- per diminuire il volume si deve dividere il singolo campione per un determinato valore.
 
<BR>Esempio:
 
campione_audio '''/''' valore
 
 
 
Di seguito mostriamo un esempio, con il quale saranno modificati i campioni audio di un file wav con risoluzione a 16-bit, ottenendo alla fine un nuovo file wav, la cui esecuzione avrà un volume audio inferiore a quello del file wav originario.
 
'''Public''' Sub Main()
 
 
  Dim wav As String
 
  Dim cc As Short[]
 
  Dim i As Integer
 
  Dim fl As File
 
 
 
  wav = "<FONT Color=gray>''/percorso/del/file.wav''</font>"
 
 
 
  fl = Open wav For Read
 
  cc = New Short[Lof(fl) / SizeOf(gb.Short)]
 
  cc.Read(fl, 0, cc.Count)
 
  fl.Close
 
 
<FONT Color=gray>' ''Comincia dal primo campione dopo il blocco d'intestazione del file wav, tenendo conto che il vettore, contenente i dati del file, è di tipo "Short":''</font>
 
  For i = 44 / SizeOf(gb.Short) To cc.Max
 
    cc[i] = <FONT Color=#B22222>cc[i] '''/''' 16</font>
 
  Next
 
 
 
  fl = Open "/tmp/finale.wav" For Create
 
  cc.Write(fl, 0, cc.Count)
 
  fl.Close
 
 
'''End'''
 

Versione attuale delle 04:07, 19 set 2022