-
Notifications
You must be signed in to change notification settings - Fork 38
Description
I have an issue with sndfile-jackplay for 32 bit audio files with more than 16 channels (tested with 20 channels rf64, 36 channels wavex, and 50 channels rf64), which are well handled by audacity, reaper, or ardour.
Jack does not have any xruns, but sndfile-jackplay "cracks" on any of the channels. In order you understand the "cracks" I'm referering to, the sound produced is very similar to a chronometer (like https://www.youtube.com/watch?v=rhEdxtuzaQk ).
Seems the ringbuffer has a problem with this number of channels. Tested with jack buffers at 128, 256, 512,1024,4096 : the cracks always occur, without xruns (but the cracks periodicity seem to be related to the jack buffer : when I set a large jack buffer, the cracks begin to transform to "stop" and "start")
I looked at jackplay.c, and did not find any restriction on the number of channels / or number of bits in the code.
Here is an example of file tested (output of sndfile-info) :
File : drone02.rf64
Length : 2276270184
RF64
WAVE
ds64 : 28
Riff size : 2276270176
Data size : 2276270080
Frames : 28453376
Table length : 0
fmt : 40
Format : 0xFFFE => WAVE_FORMAT_EXTENSIBLE
Channels : 20
Sample Rate : 48000
Block Align : 80
Bit Width : 32
Bytes/sec : 3840000
Valid Bits : 32
Channel Mask : 0x0 (should not be zero)
Subformat
esf_field1 : 0x1
esf_field2 : 0x0
esf_field3 : 0x10
esf_field4 : 0x80 0x0 0x0 0xAA 0x0 0x38 0x9B 0x71
format : pcm
data : 0xFFFFFFFF
End
Sample Rate : 48000
Frames : 28453376
Channels : 20
Format : 0x00220004
Sections : 1
Seekable : TRUE
Duration : 00:09:52.779
Signal Max : 2.85587e+08 (-17.52 dB)
I really hope you will be able to tell me how to fix this as I intended to use sndfile-jackplay with ambisonics recordings, whith a high count of channels.
Best Regards,
Eric