Vladimir Mosgalin wrote: > 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. 81 is 0dB, 100 is +12dB for that control. Fortunately, the lastest alsa from the hg repository displays all the dB gain values for you in alsamixer. > 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? hw:0,4 playback is a 8 channel output. The plughw:0,4 lets alsa-lib convert whatever format the user wants into the format the sound card expects. hw:0,4 expects format: S32_LE subformat: STD channels: 8 rate: 48000 (48000/1) period_size: 2046 buffer_size: 16368 > 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? > The hardware resampler on the card can only handle a single stereo channel, so I have currently disabled the card's on board resampler, and alsa-lib resampler is then used instead. The p16v can handle both 48 and 96kHz. .formats = SNDRV_PCM_FMTBIT_S32_LE, /* Only supports 24-bit samples padded to 32 bits. */ .rates = SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_44100, The 44100 only works if using the SPDIF output. James ------------------------------------------------------------------------- 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@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user