How to open a headerless wav file?

8 vues (au cours des 30 derniers jours)
Martin
Martin le 1 Oct 2013
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?)

Réponse acceptée

Walter Roberson
Walter Roberson le 2 Oct 2013
Modifié(e) : Walter Roberson le 2 Oct 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 commentaires
Jan
Jan le 7 Oct 2013
Modifié(e) : Jan le 7 Oct 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 le 7 Oct 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!

Connectez-vous pour commenter.

Plus de réponses (2)

Jan
Jan le 2 Oct 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 commentaire
Martin
Martin le 2 Oct 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.

Connectez-vous pour commenter.


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

Catégories

En savoir plus sur Audio I/O and Waveform Generation dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by