WAV file is not read

Basically I can play it in MPC-HC, VLC and WMP.
When imported in Audacity I get nothing.
Sample is here and here

Please, always read the pink panel at the top of the page and give us that essential information.

Install FFmpeg from Audacity Manual.

Then use File > Open… or File > Import > Audio… . Choose “FFmpeg-compatible files” in “Files of type:” then select and open the file.


Gale

I can open the file in Audacity using Import Raw Data, but I see the same problem with ‘normal’ import (without FFmpeg) - but then again, it’s not really a ‘normal’ WAV file. Where did the file come from?

If you use Import Raw Data, you will need to specify the Encoding (32-bit float), byte order (little endian) and number of channels (8).

There will also be a click at the start of (most of) the tracks which is the file headers. You may want to zoom in and delete the click.

Can libsndfile (the standard WAV importer) not import 32-bit float multi-channel WAV files? I have not tested, but as Steve said that is not a “normal” type of file.


Gale

Sorry, I thought this was a problem so stupid I omitted it.
Anyway, Windows 7x64, tried with both 2.1.1 and latest 2.1.2 nightly.



Ok you are right.
It works this way, but it seemed absurd that a WAV file required external libraries.

The wav file was produced with this, while recording an old DX6 game.
Oddly, with others it has always worked.
In which way this is not “normal”?

It’s an 8 channel, signed 32-bit float RIFF file.
Full info:

Audio
Format                                   : PCM
Format profile                           : Float
Format settings, Endianness              : Little
Format settings, Sign                    : Signed
Codec ID                                 : 00001000-0000-0300-8000-00AA00389B71
Codec ID/Hint                            : IEEE 
Duration                                 : 17s 420ms
Bit rate mode                            : Constant
Bit rate                                 : 12.3 Mbps
Channel(s)                               : 8 channels
Channel positions                        : Front: L C R, Side: L R, Back: L R, LFE
Sampling rate                            : 48.0 KHz
Bit depth                                : 32 bits
Stream size                              : 25.5 MiB (100%)

I thought it was not “normal” because multi-channel WAV files are not usually float.

I don’t have standalone libsndfile 1.0.24 to hand (which is the version Audacity uses on Windows) but libsndfile 1.0.25 cannot understand the files - in trying to convert them it just produces a 44 bytes file with header and no audio. Audacity produces an empty track when importing the file, so I am betting it’s a libsndfile and not Audacity error.

Here is the libsndfile sndfile-info output for a file I recorded with the loopback recorder you mentioned (I used --int-16 when recording to see if it made any difference). As you can see the parser quits early due to an unknown chunk:

E:\libsndfile 1 0 25\bin>sndfile-info.exe loopback16.wav
Version : libsndfile-1.0.25
========================================
File : loopback16.wav
Length : 2258000
RIFF : 0
WAVE
fmt  : 40
  Format        : 0xFFFE => WAVE_FORMAT_EXTENSIBLE
  Channels      : 2
  Sample Rate   : 48000
  Block Align   : 4
  Bit Width     : 16
  Bytes/sec     : 192000
  Valid Bits    : 16
  Channel Mask  : 0x3 (L, R)
  Subformat
    esf_field1 : 0x1
    esf_field2 : 0x0
    esf_field3 : 0x10
    esf_field4 : 0x80 0x0 0x0 0xAA 0x0 0x38 0x9B 0x71
    format : pcm
fact : 4
  frames  : 0
data : 0
*** Unknown chunk marker (3200320) at position 80. Exiting parser.
----------------------------------------
Sample Rate : 48000
Frames      : 0
Channels    : 2
Format      : 0x00130002
Sections    : 1
Seekable    : TRUE
Duration    : 00:00:00.000
Signal Max  : 0 (-1.#J dB)

Do I presume you don’t record using Audacity because you can’t get it to record more than two channels?

Gale

The really strange thing is that Audacity never had this kind of problem other times.
Even if that program always results in this kind of file.

Oh, no.
Audacity also plays really nice with WASAPI, and I can get it to record all eight channels.

Now that you make me think, I don’t really know why I prefer one to another :smiley:
samples.7z (1.26 MB)

Here is the sndfile-info output for one of the WAV files in your 7z (Audacity can open both those files). With this file, libsndfile sees no error in the data chunk so it can parse it:

========================================
File : loopback32.wav
Length : 4377680
RIFF : 4377672
WAVE
fmt  : 40
  Format        : 0xFFFE => WAVE_FORMAT_EXTENSIBLE
  Channels      : 8
  Sample Rate   : 48000
  Block Align   : 32
  Bit Width     : 32
  Bytes/sec     : 1536000
  Valid Bits    : 32
  Channel Mask  : 0x63F (L, R, C, LFE, Ls, Rs, Sl, Sr)
  Subformat
    esf_field1 : 0x3
    esf_field2 : 0x0
    esf_field3 : 0x10
    esf_field4 : 0x80 0x0 0x0 0xAA 0x0 0x38 0x9B 0x71
    format : IEEE float
fact : 4
  frames  : 136800
data : 4377600
End

----------------------------------------
Sample Rate : 48000
Frames      : 136800
Channels    : 8
Format      : 0x00130006
Sections    : 1
Seekable    : TRUE
Duration    : 00:00:02.850
Signal Max  : 0.0977587 (-20.20 dB)

Libsndfile is obviously sensitive to some variation in the data chunks that this app writes.

On Windows 10 I have not yet got this app to produce any files that have a data chunk understandable to libsndfile.


Gale

Ok, while I was trying to reproduce the issue I realized the bad file comes out only after the following error is throw by the application

IAudioCaptureClient::GetBuffer set flags to 0x00000001 on pass 27582 after 6619680 frames
The thread terminated early - something bad happened
Thread HRESULT is 0x8000ffff

The game I was testing was this, for the records.
Does it make sense?

Yes. Every recording I made so far has stopped with “thread terminated early”. But this time, I hit ENTER after a couple of seconds to stop recording normally, and the file was understood by libsndfile and Audacity.

Gale

So… should this be considered an Audacity/libsndfile bug or had I just better to use raw data and put my heart in peace?

It could be a libsndfile bug, or a bug in the application that made the file.
Audacity, libsndfile and sox (http://sox.sourceforge.net/) can all open other 32-bit float 8 channel PCM WAV files, but not the files that you uploaded.

It certainly seems to be a bug in the application that it crashes so frequently.

If it was me I would use FFmpeg and not Raw Import - FFmpeg is just quicker and you don’t have to delete the clicks at the start of each track.

You could add a rule in Extended Import Preferences:

*loopback*.WAV

Drag “FFmpeg-compatible files” to the top of the importer order and uncheck “Attempt to use…”.

Then any WAV with “loopback” anywhere in its name should import via FFmpeg irrespective of how you import it. You could then drag the files in or open them with Explorer or the command-line and FFmpeg should take them.


Gale

Cool, it’s awesome I even have a workaround for the wrong behavior.
Thank you. :stuck_out_tongue: