Unire due file WAV: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
(Creata pagina con 'Per unire due file audio di formato WAV con le sole funzioni di Gambas, bisognerà prestare cure ad almeno i due seguenti punti: * i due file da unire devono avere uguale freq...') |
Nessun oggetto della modifica |
||
| Riga 8: | Riga 8: | ||
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
Dim s, finale As String | Dim s, finale As String | ||
Versione delle 14:02, 18 gen 2014
Per unire due file audio di formato WAV con le sole funzioni di Gambas, bisognerà prestare cure ad almeno i due seguenti punti:
- i due file da unire devono avere uguale frequenza di campionamento ed uguale numero di canali;
- bisognerà eliminare l'intero primo blocco, ossia l'header, al secondo file (che sarà unito alla fine del primo file wav;
- bisognerà azzerare oppure impostare i nuovi corretti valori che indicano le dimensioni del file wav, presenti nei byte n. 4, 5, 6, 7 e nei byte n. 40, 41, 42, 43 dell'header del primo file.
Di seguito un possibile semplice codice:
Public Sub Main()
Dim s, finale As String
s = File.Load("/percorso/del/file.wav")
' Semplicemente azzeriamo i valori dei byte n. 4, 5, 6 e 7:
finale = Left(s, 4)
finale &= String$(4, Chr(0))
' Semplicemente inseriamo i valori uguali a zero nei byte n. 40, 41, 42, 43 al posto dei precedenti:
finale &= Mid(s, 9, 32)
finale &= String$(4, Chr(0))
' Salviamo il nuovo file WAV unendo al primo file wav, come modificato, il secondo file wav privato del suo header:
File.Save("/tmp/nuovo.wav", finale & Right(s, Len(s) - 44) & Right(s, Len(s) - 44))
End