In order to get full performance from the Samson C01 USB microphone,
there are two separate gain parameters that must be set by the
mixer application. I experienced suboptimal results with the C01 USB
microphone under Linux. I was not getting the full dynamic range that
a 16-bit device should give. I emailed Samson and offered my help
to get their mic working nicely under Linux, but I got no response and
I returned the mic to the store and bought an analog mic which works well.
Months later was I contacted by an engineer at Samson who explained the
C01 USB microphone to me. He seemed very willing to help, but I no longer
had the mic.
I guess it isn't proper for me for post the Samson engineer's message,
but I can paraphrase. He used a chip that has two digitally controlled
variable gain amplifiers, stereo ADC, and USB transceiver. A key piece
of information about this chip is that it provides analog outputs after
the variable gain amplifiers, but before the ADCs. Since the chip is
stereo and the mic is mono, he played a cute trick. He cascaded both
variable gain amplifiers by taking the analog out of the first channel
and feeding it to the input of the second channel. He got more gain
adjustment range this way and he says that the performance is better too.
So only the second channel should be used at the computer. But both
of those gain adjustment controls affect the sound. So they need to be
moved together in some special way to get optimal performance. But even
adjusting them naively, it should work OK.
Of course if I knew all of this when I had the mic, I could have
experimentally determined the optimal tracking curves for the gain
controls and then modified somebody's volume control app to do provide a
single control to the user but send the two optimal values to the mic.
But I don't have the mic anymore, and in the meantime I bought an
analog mic. It is kind of a sad outcome because it was just lack of
communication.
My previous experiences and incorrect conclusions are
here.