Code: Select all
0x04, /* 4 bSubslotSize (Number of bytes per subslot) */
24, /* 5 bBitResolution (Number of bits used per subslot) */
Code: Select all
0x04, /* 4 bSubslotSize (Number of bytes per subslot) */
24, /* 5 bBitResolution (Number of bits used per subslot) */
Hi,Ross wrote:Take a look at the following lines in the descriptors:
You will be wanting to keep bSubSlotSize at 4 bytes but change bBitResolution to 32Code: Select all
0x04, /* 4 bSubslotSize (Number of bytes per subslot) */ 24, /* 5 bBitResolution (Number of bits used per subslot) */
No, all samples go through the system as 32bits anyway (its a 32bit machine so its efficient to do it like this, rather than unpacking 24bit samples all over the place)dizengoff wrote:Does switching the code to support 32 bit data alter the amount of I/O the system can process?
Hi, the issue is probably the volume control - when I wrote it I assumed 24bits max so ignored the bottom result of the macc operation.lubaka121 wrote:
Hi,
I've changed bBitResolution to 32, but when using I2S there are 29 bits instead of 32. The three least significant bits stood in low state, no matter what I want to transmit. Can anyone kindly give me some clue, where is the problem?
Thanks,
Luben
I've added this change in for the next release.{h, l} = macs(mult, sample, 0, 0);
sample = h << 3;
sample |= (l >> 29) & 0x7; // Note, this step is not required if we assume sample depth is 24 (rather than 32)
I add this change,but when I play 384khz32bit audio file,I drag the volume progress bar of xmos usb DAC volume control on PC. Then, the output analog audio mixed with noise.(I use ES9018 DAC)Ross wrote:Hi, the issue is probably the volume control - when I wrote it I assumed 24bits max so ignored the bottom result of the macc operation.lubaka121 wrote:
Hi,
I've changed bBitResolution to 32, but when using I2S there are 29 bits instead of 32. The three least significant bits stood in low state, no matter what I want to transmit. Can anyone kindly give me some clue, where is the problem?
Thanks,
Luben
Anyway, you can fix it in decouple.xc by removing the volume control or adding the commented line below.
I've added this change in for the next release.{h, l} = macs(mult, sample, 0, 0);
sample = h << 3;
sample |= (l >> 29) & 0x7; // Note, this step is not required if we assume sample depth is 24 (rather than 32)
Does the same test work for 24bit audio (i.e volume control on a 384kHz stream)?CanyChen wrote:
I add this change,but when I play 384khz32bit audio file,I drag the volume progress bar of xmos usb DAC volume control on PC. Then, the output analog audio mixed with noise.(I use ES9018 DAC)
And other Sampling Rate,there is no such phenomenon。
Yes, there is such phenomenon only on 384khz audio file.Ross wrote:Does the same test work for 24bit audio (i.e volume control on a 384kHz stream)?CanyChen wrote:
I add this change,but when I play 384khz32bit audio file,I drag the volume progress bar of xmos usb DAC volume control on PC. Then, the output analog audio mixed with noise.(I use ES9018 DAC)
And other Sampling Rate,there is no such phenomenon。