Hi everybody.

I have Audigy 2 ZS card and alsa driver 1.0.11 (from fc 2.6.16 kernel).
I was trying to experiment with p16v, and noticed a few things.
I'm using analog output.

1) Distiortion / clipping. Regular playback sound fine at master/pcm @
   100%. However, output from p16v sounds really distorted when its only
   mixer, "HD Analog Front" is at 100%. I read that 0dB is at 100% mixer
   values for all modern creative cards, is this true? Because according
   to my hearing, clipping disappears at about 80 mixer value. 78-82
   sound the best. This isn't really a problem, just like to clarify
   this issue.
2) The correct way of using p16v is plughw 0:4 with padded 32-bit s32le
   48/96/192 khz data, correct? What about hw 0:4, can it be used? When
   trying to use it in aplay/mplayer/gstreamer, it doesn't work good
   with 48khz data, and with 96/192 plays very short fragment of sound
   very fast. Can it ever be used directly, or absolutely all user
   application can use only plughw?
3) p16v can be opened at other rates like 44.1khz, but sound quality
   isn't good - no wonder. However, the following thing bugs me.

from p16v.h, sorry for long lines:
#define SRCSel 0x60 /* SRCSel. Default 0x4. Bypass P16V 0x14 */
                    /* [0] 0 = 10K2 audio, 1 = SRC48 mixer output.
                     * [2] 0 = 10K2 audio, 1 = SRCMulti SPDIF mixer output.
                     * [4] 0 = 10K2 audio, 1 = SRCMulti I2S mixer output.
                     */
                    /* SRC48 converts samples rates 44.1, 48, 96, 192 to 48 
khz. */
                    /* SRCMulti converts 48khz samples rates to 44.1, 48, 96, 
192 to 48. */
                    /* SRC48 and SRCMULTI sample rate select and output select. 
*/


#define SRCMULTI_ENABLE 0x6e /* SRCMulti input audio enable. Default 0xffffffff 
*/
                             /* SRCMulti converts 48khz samples rates to 44.1, 
48, 96, 192 to 48. */
                             /* [7:0] The corresponding P16V channel to 
SRCMulti_I2S enabled if == 1.
                              * [15:8] The corresponding E10K2 channel to 
SRCMulti I2S enabled.
                              * [23:16] The corresponding P16V channel to 
SRCMulti SPDIF enabled.
                              * [31:24] The corresponding E10K2 channel to 
SRCMulti SPDIF enabled.
                              */

Is it my understanding that what I send to p16v in 96khz is converted to
48khz after that by default? Can I2S output be used with rates other
than 48khz? If yes, how do I do this? And what's this stuff about
converting 48khz to 44.1?

Can I tweak these settings in runtime? Actually, should I? I don't
really need 96khz output right now, only 24-bit 48khz one. But according
to this, if I try to send 48khz signal, it gets converted to 44.1 and
then back to 48khz.. What's with all this stuff? I'm completely confused
now. Why must it be that complex?

-- 

Vladimir

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Alsa-user mailing list
Alsa-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to