how to bypass mixer data process

Sub forums for various specialist XMOS applications. e.g. USB audio, motor control and robotics.
Post Reply
hushange
Member++
Posts: 30
Joined: Tue Oct 11, 2016 7:08 am

how to bypass mixer data process

Post by hushange »

Hi xmos:

my app based on SKC_SU1 with firmware 6.15.2.

the host can recognize my sound card and plaing well.
when setting the sound card volume by alsamixer,
the data also been processed by xmos mixer.
how to bypass mixer data process? because i want to use DAC chip to handle the data and volume.


User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am
Contact:

Post by infiniteimprobability »

see USB Audio Design guide section 7.1.9, or look in customdefines.h from other projects:

Code: Select all

#define MIXER              0
hushange
Member++
Posts: 30
Joined: Tue Oct 11, 2016 7:08 am

Post by hushange »

so how to bypass the processing of i2s data ?

Code: Select all

#define OUTPUT_VOLUME_CONTROL 0
will disable volume control (done digitally) in the device. This will also remove the volume control (feature unit) descriptors and the host will have no choice but to adjust volume itself before sending the samples to the device, which will play them bit perfect to the DAC.

Keeping volume control in the device (with descriptors etc.) but using the DAC gain setting (if supported by the DAC) is not supported in the standard reference design. It should be possible to extend it to do this, but will require work on your side to do it.

Here's a related discussion with a few pointers of how to do that http://www.xcore.com/viewtopic.php?t=2773
AlexAdvice
XCore Addict
Posts: 138
Joined: Sun Feb 23, 2014 11:30 am

Post by AlexAdvice »

Hi,
Some questions about this volume control:

1. Volume regulators (if #define OUTPUT_VOLUME_CONTROL 1) are presented just in Thesycon driver Panel? I do not see it in windows volume mixer.

2. Are any drivers has this feature? I tried with iFi driver,, and there are no volume controls there. Ifi driver is full functionality Thesycon.

3. Using of this volume control. there are 2 methods:
a) in the analogue domain, after the DAC chip, using PGA2310, motorized pot, relay switch, etc.
This is clear.

b) implemented in the DAC chip,

This is not clear.
What the sense to use DAC chip volume control (DAC gain settings), if this control is in the digital domain, and is the same as the digital volume control in XMOS firmware, or the same as the window's volume?!
In any case, all these kind of the volume control do the same thing - mathematics in software: Dout = Din/Volume, which reduces the signal resolution (bit number). And it can be heard very well!

Also all digital volume control is incompatible with DSD, and if you use volume control inside the DAC chip - there is no sense in DSD at all!
Because inside the DAC chip DSD signal is converted to PCM first.
Post Reply