How to open a headerless wav file?

5 visualizzazioni (ultimi 30 giorni)
Martin
Martin il 1 Ott 2013
Risposto: Prernna Bhatnagar il 23 Feb 2017
Hi!
I have some files here, which have a special file format, but are actually just headerless wav files with a sample rate of 16000.
I wanted to do some fft plotting of the wav file like so
plot(abs(fft(audioread(wav_file))));
However, I get the The file type is not supported message.
Is there a way to open those files or do I have to save them was wav files first?
EDIT:
To clearify, the files mentioned are indeed raw binaries. As I haven't recorded those datas myself, I can only guess about the internal structure. I can analyze the file just fine with these import settings in Wavesurfer:
Sample rate: 16kHz
Encoding: Lin16
Channels: Mono
Byte Order: Little Endian
Read Offset: 0
Frequency: It will probably be something between 0-8kHz, since I was suppose to sample with 16kHz (right?)

Risposta accettata

Walter Roberson
Walter Roberson il 2 Ott 2013
Modificato: Walter Roberson il 2 Ott 2013
You use fopen() to open them, and fread() to read them, and you apply your knowledge of the internal structure of .wav files to decode what you read in.
But you will likely find it to be much less coding to write out a temporary copy of the file with the missing header pre-pended and use audioread() on the result.
Your you sure they are in .wav format, and not raw binary data ?
  12 Commenti
Jan
Jan il 7 Ott 2013
Modificato: Jan il 7 Ott 2013
The FOR loop is meaningless here, because no element of channels can equal zero and ADC is not defined. But if this is possible, this is nicer:
ADC = ADC(channels~=0, :)
Martin
Martin il 7 Ott 2013
Yeah, sorry. It was a function file with way more error checking. I just shortened it a bit, but was obviously not very thorough. Thanks for the tip!

Accedi per commentare.

Più risposte (2)

Jan
Jan il 2 Ott 2013
As far as I know, there are no "headerless WAV files". The header is mandatory for the WAV format.
Most likely you have simple binary files with raw data. But now you have to know the number of channels, the format of the single values (single, double, int16?), the frequency and for multiple channels, if the signal is stored in time or channel order. If you provide the required information, we can suggest a method to import the file.
  1 Commento
Martin
Martin il 2 Ott 2013
I just edit some more information in the original question. I'm very new in the speech analysis department, thus, are not quite sure which information is required, and if the provided ones are correct or not.

Accedi per commentare.


Prernna Bhatnagar
Prernna Bhatnagar il 23 Feb 2017
Can anyone tell me how to open .adc files in matlan and then plot them? These filescontain EMG Signals.

Categorie

Scopri di più su Audio I/O and Waveform Generation in Help Center e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by