Estrarre da un file WAV i soli dati audio grezzi

Da Gambas-it.org - Wikipedia.

Per estrarre da un file WAV i soli dati audio grezzi unicamente mediante le funzioni di Gambas, è possibile utilizzare un codice come il seguente:

Public Sub Main()

 Dim percorsoFile, intero_file, dati_grezzi As String
 Dim n As Short


  percorsoFile = "/percorso/del/file.wav"
 
  intero_file = File.Load(percorsoFile)

  n = InStr(intero_file, "data")
  
' Prendiamo i soli dati audio grezzi dal file, eliminando quelli che compongono il suo "header":
  dati_grezzi = Right(intero_file, Len(intero_file) - n - 7)
  
  File.Save("/tmp/grezzi", dati_grezzi)
 
End


oppure utilizzare le funzioni dei vettori di tipo Byte[]:

Public Sub Main()

 Dim fileWAV As String
 Dim fl, ex As File
 Dim d As Short
 Dim bb As Byte[]


  fileWAV = "/percorso/del/file.wav"

' Carica un file audio Wav:
  fl = Open fileWAV For Read
 
  d = InStr(File.Load(fileWAV), "data")
 
  bb = New Byte[Stat(fileWAV).Size - (d + 7)]

' Spostiamo il puntatore all'interno del flusso del file
' sul primo byte successivo all'header del file wav:
  Seek #fl, d + 7
  bb.Read(fl, 0, Stat(fileWAV).Size - (d + 7))


  ex = Open "/tmp/dati_grezzi" For Create
 
' Scrive il file contenente i soli dati audio grezzi del file Wav:
  bb.Write(ex)
 

' Va in chiusura:
  ex.Close
 
  fl.Close
 
End