All of lore.kernel.org
 help / color / mirror / Atom feed
* cs64xx distortion (GameTheater XP)
@ 2003-01-15 23:14 Christian Esken
  2003-01-16 10:24 ` Takashi Iwai
  2003-01-16 23:11 ` Benny Sjostrand
  0 siblings, 2 replies; 10+ messages in thread
From: Christian Esken @ 2003-01-15 23:14 UTC (permalink / raw)
  To: alsa-devel

Hi,

I wonder what the status of the cs64xx distortion problem is.
I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP
and it still shows those heavy distortions on analog output.

Digital out is OK most of the time, but sometimes fails (as described in cs62xx_lib.c).
I thought you might be interested in the syslog:

PCI: Found IRQ 7 for device 00:0a.0
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3855: hack for Hercules Game Theatre XP enabled
ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3866: Crystal EAPD support forced on.
ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?

I am wondering about the status, as there is still this comment in cs64xx_lib.c:
---------------------------
        /* CD mute change ? */

        /* Benny: this hack dont seems to make any sense to me, at least on the
Game Theater XP,
           Turning of the amplifier just make the PCM sound very distorcionated.           is this really needed ????????????????
        */
---------------------------

And what about CONFIG_SND_CS46XX_NEW_DSP? I left the default, which seems to be
-DCONFIG_SND_CS46XX_NEW_DSP=1
Which means, the "CD mute change" stuff is not compiled in at all.


Bye,
  Chris

being terribly confused at the moment - hoping for enlightenment :)


-------------------------------------------------------
This SF.NET email is sponsored by: A Thawte Code Signing Certificate 
is essential in establishing user confidence by providing assurance of 
authenticity and code integrity. Download our Free Code Signing guide:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: cs64xx distortion (GameTheater XP)
  2003-01-15 23:14 Christian Esken
@ 2003-01-16 10:24 ` Takashi Iwai
  2003-01-16 23:11 ` Benny Sjostrand
  1 sibling, 0 replies; 10+ messages in thread
From: Takashi Iwai @ 2003-01-16 10:24 UTC (permalink / raw)
  To: Christian Esken; +Cc: alsa-devel

[-- Attachment #1: Type: text/plain, Size: 889 bytes --]

At Thu, 16 Jan 2003 00:14:10 +0100,
Christian Esken wrote:
> 
> Hi,
> 
> I wonder what the status of the cs64xx distortion problem is.
> I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP
> and it still shows those heavy distortions on analog output.
> 
> Digital out is OK most of the time, but sometimes fails (as described in cs62xx_lib.c).
> I thought you might be interested in the syslog:
> 
> PCI: Found IRQ 7 for device 00:0a.0
> ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3855: hack for Hercules Game Theatre XP enabled
> ALSA ../../alsa-kernel/pci/cs46xx/cs46xx_lib.c:3866: Crystal EAPD support forced on.
                                
well, it looks like you passed external_amp=1 option to the module,
which you don't need usually.


anyway, try the attached patch (and without external_amp=1 option).
it will clean up the amplifier controls.


Takashi

[-- Attachment #2: cs46xx-amp.dif --]
[-- Type: application/octet-stream, Size: 5833 bytes --]

Index: alsa-kernel/pci/cs46xx/cs46xx_lib.c
===================================================================
RCS file: /suse/tiwai/cvs/alsa/alsa-kernel/pci/cs46xx/cs46xx_lib.c,v
retrieving revision 1.40
diff -u -r1.40 cs46xx_lib.c
--- alsa-kernel/pci/cs46xx/cs46xx_lib.c	7 Jan 2003 10:33:23 -0000	1.40
+++ alsa-kernel/pci/cs46xx/cs46xx_lib.c	16 Jan 2003 10:14:30 -0000
@@ -273,9 +273,6 @@
 				   unsigned short val)
 {
 	cs46xx_t *chip = snd_magic_cast(cs46xx_t, ac97->private_data, return);
-#ifndef CONFIG_SND_CS46XX_NEW_DSP
-	int val2 = 0;
-#endif
 	int codec_index = -1;
 
 	/* UGGLY: nr_ac97_codecs == 0 primery codec detection is in progress */
@@ -287,59 +284,9 @@
 	else
 		snd_assert(0,return);
 
-#ifndef CONFIG_SND_CS46XX_NEW_DSP
-	if (reg == AC97_CD)
-		val2 = snd_cs46xx_codec_read(chip, AC97_CD, codec_index);
-#endif
-
+	chip->active_ctrl(chip, 1);
 	snd_cs46xx_codec_write(chip, reg, val, codec_index);
-
-#ifndef CONFIG_SND_CS46XX_NEW_DSP
-    /* Benny: I've not found *one* soundcard where
-       this code below could do any sense, and
-       with the HW mixering it's anyway broken, with
-       more then 1 PCM stream the amplifier will not
-       be turned off by unmuting CD channel. So just
-       lets skip it.
-    */
-	
-	/*
-	 *	Adjust power if the mixer is selected/deselected according
-	 *	to the CD.
-	 *
-	 *	IF the CD is a valid input source (mixer or direct) AND
-	 *		the CD is not muted THEN power is needed
-	 *
-	 *	We do two things. When record select changes the input to
-	 *	add/remove the CD we adjust the power count if the CD is
-	 *	unmuted.
-	 *
-	 *	When the CD mute changes we adjust the power level if the
-	 *	CD was a valid input.
-	 *
-	 *      We also check for CD volume != 0, as the CD mute isn't
-	 *      normally tweaked from userspace.
-	 */
-	 
-	/* CD mute change ? */
-
-	/* Benny: this hack dont seems to make any sense to me, at least on the Game Theater XP,
-	   Turning of the amplifier just make the PCM sound very distorcionated.
-	   is this really needed ????????????????
-	*/
-	if (reg == AC97_CD) {
-		/* Mute bit change ? */
-		if ((val2^val)&0x8000 || ((val2 == 0x1f1f || val == 0x1f1f) && val2 != val)) {
-			/* Mute on */
-			if(val&0x8000 || val == 0x1f1f)
-				chip->amplifier_ctrl(chip, -1);
-			else /* Mute off power on */
-				chip->amplifier_ctrl(chip, 1);
-		}
-	}
-
 	chip->active_ctrl(chip, -1);
-#endif
 }
 
 
@@ -1506,7 +1453,6 @@
 	if (chip->accept_valid)
 		substream->runtime->hw.info |= SNDRV_PCM_INFO_MMAP_VALID;
 	chip->active_ctrl(chip, 1);
-	chip->amplifier_ctrl(chip, 1);
 
 	return 0;
 }
@@ -1570,7 +1516,6 @@
 		substream->runtime->hw.info |= SNDRV_PCM_INFO_MMAP_VALID;
 
 	chip->active_ctrl(chip, 1);
-	chip->amplifier_ctrl(chip, 1);
 
 #ifdef CONFIG_SND_CS46XX_NEW_DSP
 	snd_pcm_hw_constraint_list(substream->runtime, 0,
@@ -1605,7 +1550,6 @@
 	cpcm->substream = NULL;
 	snd_free_pci_pages(chip->pci, cpcm->hw_size, cpcm->hw_area, cpcm->hw_addr);
 	chip->active_ctrl(chip, -1);
-	chip->amplifier_ctrl(chip, -1);
 
 	return 0;
 }
@@ -1617,7 +1561,6 @@
 	chip->capt.substream = NULL;
 	snd_free_pci_pages(chip->pci, chip->capt.hw_size, chip->capt.hw_area, chip->capt.hw_addr);
 	chip->active_ctrl(chip, -1);
-	chip->amplifier_ctrl(chip, -1);
 
 	return 0;
 }
@@ -3545,9 +3488,6 @@
 {
 	snd_printdd ("initializing Voyetra mixer\n");
 
-	/* turnon Amplifier and leave it on */
-	chip->amplifier_ctrl(chip, 1);
-  
 	/* Enable SPDIF out */
 	snd_cs46xx_pokeBA0(chip, BA0_EGPIODR, EGPIODR_GPOE0);
 	snd_cs46xx_pokeBA0(chip, BA0_EGPIOPTR, EGPIODR_GPOE0);
@@ -3566,9 +3506,6 @@
 	snd_printdd ("initializing Hercules mixer\n");
 
 #ifdef CONFIG_SND_CS46XX_NEW_DSP
-	/* turnon Amplifier and leave it on */
-	chip->amplifier_ctrl(chip, 1);
-
 	for (idx = 0 ; idx < sizeof(snd_hercules_controls) / 
 		     sizeof(snd_hercules_controls[0]) ; idx++) {
 		snd_kcontrol_t *kctl;
@@ -3708,6 +3645,8 @@
 #ifdef CONFIG_PM
 void snd_cs46xx_suspend(cs46xx_t *chip)
 {
+	int amp_saved;
+
 	snd_card_t *card = chip->card;
 
 	if (card->power_state == SNDRV_CTL_POWER_D3hot)
@@ -3715,7 +3654,13 @@
 	snd_pcm_suspend_all(chip->pcm);
 	// chip->ac97_powerdown = snd_cs46xx_codec_read(chip, AC97_POWER_CONTROL);
 	// chip->ac97_general_purpose = snd_cs46xx_codec_read(chip, BA0_AC97_GENERAL_PURPOSE);
+	amp_saved = chip->amplifier;
+	/* turn off amp */
+	chip->amplifier_ctrl(chip, -chip->amplifier);
 	snd_cs46xx_hw_stop(chip);
+	/* disable CLKRUN */
+	chip->active_ctrl(chip, -chip->amplifier);
+	chip->amplifier = amp_saved; /* restore the status */
 	snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
 }
 
@@ -3748,11 +3693,10 @@
 	snd_ac97_resume(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]);
 
 	if (amp_saved)
-		chip->amplifier_ctrl(chip, 1); /* try to turn on */
-	if (! amp_saved) {
-		chip->amplifier = 1;
-		chip->active_ctrl(chip, -1);
-	}
+		chip->amplifier_ctrl(chip, 1); /* turn amp on */
+	else
+		chip->active_ctrl(chip, -1); /* disable CLKRUN */
+	chip->amplifier = amp_saved;
 	snd_power_change_state(card, SNDRV_CTL_POWER_D0);
 }
 
@@ -3853,11 +3797,11 @@
 	for (cp = &cards[0]; cp->name; cp++) {
 		if (cp->vendor == ss_vendor && cp->id == ss_card) {
 			snd_printd ("hack for %s enabled\n", cp->name);
-			if (cp->init)
-				cp->init(chip);
 			chip->amplifier_ctrl = cp->amp;
 			chip->active_ctrl = cp->active;
 			chip->mixer_init = cp->mixer_init;
+			if (cp->init)
+				cp->init(chip);
 			break;
 		}
 	}
@@ -3878,7 +3822,7 @@
 	if (chip->active_ctrl == NULL)
 		chip->active_ctrl = amp_none;
 
-	chip->active_ctrl(chip, 1);
+	chip->active_ctrl(chip, 1); /* enable CLKRUN */
 
 	pci_set_master(pci);
 
@@ -3929,7 +3873,10 @@
 		return err;
 	}
 	
-	chip->active_ctrl(chip, -1);
+	/* turn on amplifier */
+	chip->amplifier_ctrl(chip, 1);
+
+	chip->active_ctrl(chip, -1); /* disable CLKRUN */
 
 	*rchip = chip;
 	return 0;

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: cs64xx distortion (GameTheater XP)
@ 2003-01-16 19:27 Christian Esken
  2003-01-16 21:24 ` Friedrich Ewaldt
  0 siblings, 1 reply; 10+ messages in thread
From: Christian Esken @ 2003-01-16 19:27 UTC (permalink / raw)
  To: alsa-devel

Takashi Iwai wrote:

>Christian Esken wrote:
>> 
>> I wonder what the status of the cs64xx distortion problem is.
>> I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP
>> and it still shows those heavy distortions on analog output.
>                                
>well, it looks like you passed external_amp=1 option to the module,
>which you don't need usually.
>
>anyway, try the attached patch (and without external_amp=1 option).
>it will clean up the amplifier controls.

Tried it. Unfortunately the patch does not help. Probably the distortion
is slightly less, but still the soundcard is basically unusable.

I removed the external_amp=1 and reloaded the driver - and I sure that
actually the new driver got loaded.

Chris



-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache 
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: cs64xx distortion (GameTheater XP)
  2003-01-16 19:27 cs64xx distortion (GameTheater XP) Christian Esken
@ 2003-01-16 21:24 ` Friedrich Ewaldt
  2003-01-18 11:15   ` Christian Esken
  0 siblings, 1 reply; 10+ messages in thread
From: Friedrich Ewaldt @ 2003-01-16 21:24 UTC (permalink / raw)
  To: Christian Esken; +Cc: alsa-devel

Christian Esken wrote:

>Takashi Iwai wrote:
>  
>
>>Christian Esken wrote:
>>    
>>
>>>I wonder what the status of the cs64xx distortion problem is.
>>>I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP
>>>and it still shows those heavy distortions on analog output.
>>>      
>>>
>>                               
>>well, it looks like you passed external_amp=1 option to the module,
>>which you don't need usually.
>>
>>anyway, try the attached patch (and without external_amp=1 option).
>>it will clean up the amplifier controls.
>>    
>>
>
>Tried it. Unfortunately the patch does not help. Probably the distortion
>is slightly less, but still the soundcard is basically unusable.
>
>I removed the external_amp=1 and reloaded the driver - and I sure that
>actually the new driver got loaded.
>  
>
Does the sound quality improve if you lower the volume of PCM and/or master?
If so, does reloading the cs46xx module (or restarting alsa) help?
Try
/etc/init.d/alsa force-restart
as root or
modprobe -r snd-cs46xx
modprobe snd-cs46xx
as root.

>Chris
>
>  
>
fe



-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache 
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: cs64xx distortion (GameTheater XP)
  2003-01-15 23:14 Christian Esken
  2003-01-16 10:24 ` Takashi Iwai
@ 2003-01-16 23:11 ` Benny Sjostrand
  2003-01-17  0:38   ` Richard Olsson
  2003-01-18 11:13   ` Christian Esken
  1 sibling, 2 replies; 10+ messages in thread
From: Benny Sjostrand @ 2003-01-16 23:11 UTC (permalink / raw)
  To: Christian Esken; +Cc: alsa-devel

>
>
>I wonder what the status of the cs64xx distortion problem is.
>I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP
>
My opinion: the GameTheater XP it's a cheap soundcard with a beautiful 
blue box. Usually cheap soundcard got a cheap design as result of a tiny 
bugdet, so just dont expect to much from the analog part's.

Actually I got a Hercules GameTheater XP 6.1, when volume is over about 
a ~80% the output is sometimes distorcionated, but I believe that's 
something we cant do anything about in the driver. Limit some volume 
control's in the driver dont feel like a coherent solution.

The card is still usable, I really dont expect to better quality on 
analog output with this soundcard.

>ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
>ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
>ALSA ../alsa-kernel/core/pcm_lib.c:123: Unexpected hw_pointer value (stream = 0, delta: -512, max jitter = 8192): wrong interrupt acknowledge?
>  
>
Feel like theese messages should not be there, could be a bug in cs46xx 
driver.

>I am wondering about the status, as there is still this comment in cs64xx_lib.c:
>---------------------------
>        /* CD mute change ? */
>
>        /* Benny: this hack dont seems to make any sense to me, at least on the
>Game Theater XP,
>           Turning of the amplifier just make the PCM sound very distorcionated.           is this really needed ????????????????
>        */
>---------------------------
>
>  
>
Should only matter if you unmute the analog CD input, and with the new 
DSP code it dont matter at all.

/Benny



-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache 
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: cs64xx distortion (GameTheater XP)
  2003-01-16 23:11 ` Benny Sjostrand
@ 2003-01-17  0:38   ` Richard Olsson
  2003-01-18 11:13   ` Christian Esken
  1 sibling, 0 replies; 10+ messages in thread
From: Richard Olsson @ 2003-01-17  0:38 UTC (permalink / raw)
  To: alsa-devel

Benny Sjostrand <gorm@cucumelo.org> wrote:
> My opinion: the GameTheater XP it's a cheap soundcard with a beautiful
> blue box. Usually cheap soundcard got a cheap design as result of a
> tiny bugdet, so just dont expect to much from the analog part's.

Constantly saying that it's a cheap soundcard isn't really a solution
though.  While it might not be a card suited for an audiophile it's
certainly better than several other cards out there.  And the Windows
drivers don't have any problems like this. ;)

My GTXP works well enough though, though sound does get disorted/etc
when using more than ~80% volume as well.  I hardly see that as a
problem though.

-- 
Richard Olsson
E: flame@home.se
W: http://www.nyo-box.net/


-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache 
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: cs64xx distortion (GameTheater XP)
  2003-01-16 23:11 ` Benny Sjostrand
  2003-01-17  0:38   ` Richard Olsson
@ 2003-01-18 11:13   ` Christian Esken
  2003-01-18 16:06     ` Benny Sjostrand
  1 sibling, 1 reply; 10+ messages in thread
From: Christian Esken @ 2003-01-18 11:13 UTC (permalink / raw)
  To: Benny Sjostrand; +Cc: alsa-devel

Am Friday 17 January 2003 00:11 schrieb Benny Sjostrand:
> >I wonder what the status of the cs64xx distortion problem is.
> >I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP
>
> My opinion: the GameTheater XP it's a cheap soundcard with a beautiful
> blue box. Usually cheap soundcard got a cheap design as result of a tiny
> bugdet, so just dont expect to much from the analog part's.

I don't buy this opinion! Measurements published in sound card tests show
a pretty good sound quality.

But apart from that: The sound quality in Linux has NOTHING to do with
the capabilities of the card (as it has no problems under Windwos):
- Sound quality of the card: good (or fair or whatever you like)
- Sound quality under Linux: very very very very bad.

> Actually I got a Hercules GameTheater XP 6.1, when volume is over about
> a ~80% the output is sometimes distorcionated, but I believe that's
> something we cant do anything about in the driver. Limit some volume
> control's in the driver dont feel like a coherent solution.
>
> The card is still usable, I really dont expect to better quality on
> analog output with this soundcard.

Alas - my GameTheater XP 7.1 is not (except digital output).

So if this problem is a known issue, sholdn't there be a hint in the
Alsa Sound Card Matrix. I don't blame anybody (except perhaps
CS), but I think others should be warned on possible problems.

Chris




-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com - A 128-bit supercerts will
allow you to extend the highest allowed 128 bit encryption to all your 
clients even if they use browsers that are limited to 40 bit encryption. 
Get a guide here:http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0030en

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: cs64xx distortion (GameTheater XP)
  2003-01-16 21:24 ` Friedrich Ewaldt
@ 2003-01-18 11:15   ` Christian Esken
  0 siblings, 0 replies; 10+ messages in thread
From: Christian Esken @ 2003-01-18 11:15 UTC (permalink / raw)
  To: alsa-devel

Am Thursday 16 January 2003 22:24 schrieben Sie:
> Christian Esken wrote:
> >Takashi Iwai wrote:
> >>Christian Esken wrote:
> >>>I wonder what the status of the cs64xx distortion problem is.
> >>>I tested the 2003-01-14.tar.bz2 snapshot with my GameThaeter 7.1 XP
> >>>and it still shows those heavy distortions on analog output.
> >>
> >>well, it looks like you passed external_amp=1 option to the module,
> >>which you don't need usually.
> >>
> >>anyway, try the attached patch (and without external_amp=1 option).
> >>it will clean up the amplifier controls.
> >
> >Tried it. Unfortunately the patch does not help. Probably the distortion
> >is slightly less, but still the soundcard is basically unusable.
> >
> >I removed the external_amp=1 and reloaded the driver - and I sure that
> >actually the new driver got loaded.
>
> Does the sound quality improve if you lower the volume of PCM and/or
> master? If so, does reloading the cs46xx module (or restarting alsa) help?

Lowering helps, but the sound is still very very bad.


> Try
> /etc/init.d/alsa force-restart
> as root or
> modprobe -r snd-cs46xx
> modprobe snd-cs46xx
> as root.

Reloading the module does not help.
I also tried the "mute-unmute-CD-volume" thing, but this does not help at all.

Chris




-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com - A 128-bit supercerts will
allow you to extend the highest allowed 128 bit encryption to all your 
clients even if they use browsers that are limited to 40 bit encryption. 
Get a guide here:http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0030en

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: cs64xx distortion (GameTheater XP)
  2003-01-18 11:13   ` Christian Esken
@ 2003-01-18 16:06     ` Benny Sjostrand
  2003-01-18 18:04       ` Friedrich Ewaldt
  0 siblings, 1 reply; 10+ messages in thread
From: Benny Sjostrand @ 2003-01-18 16:06 UTC (permalink / raw)
  To: Christian Esken; +Cc: alsa-devel

>
>
>I don't buy this opinion! Measurements published in sound card tests show
>a pretty good sound quality.
>  
>
Thoose review usually compares the Hercules GTXP with the Sounblaster 
Audigy with breakout box. But about personal soundcard opinions is 
something I think we should discuss outside this mailinglist ...

>But apart from that: The sound quality in Linux has NOTHING to do with
>the capabilities of the card (as it has no problems under Windwos):
>- Sound quality of the card: good (or fair or whatever you like)
>
We dont't known what kind of dirty is hack's possibly could be 
implemented  in the Windows driver to compensate the bad sound. We know 
that the DSP is able to do much more that actually is done in the Linux 
driver, reverb effects, delay, band pass filters, mp3 decoding etc. For 
example what about having a light reverb effect on front speakers, and a 
little bit more reverb on rear speakers + some delay, and let's limit 
the volume controls a little bit to get rid of the a possible 
distorcion, and some few band pass filters. Do you think that would 
improve the sound quality ?

What actually Hercules sells is more SW than HW, there is about three 
version of the Hercules GTXP 5.1, 6.1, 7.1 The the only difference 
between theese cards seems to be the delivered SW (which you probably 
never will use under Linux)

I dont discard posibility that there's something specific about the GTXP 
hw, that we dont know and we should know that could improve sound, but I 
believe that this posibilty is very small.

>- Sound quality under Linux: very very very very bad.
>  
>
It's possible to get good sound quality under Linux with the GTXP, if 
you use an external amplifier, some options that I can mention:
- External receiver with digital in, using the SPDIF output
- External receiver using the analog inputs, using the un-amplified 
outputs from the GTXP
­ - Use any kind of active speakers (speakers with it's own amplifier 
built-in)

Just dont rely to much  on the soundcard amplifier.

>So if this problem is a known issue, sholdn't there be a hint in the
>Alsa Sound Card Matrix. I don't blame anybody (except perhaps
>CS), but I think others should be warned on possible problems.
>
>  
>
If we think that this is a problem in the driver that can be fixed in 
the driver.

/Benny



-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com - A 128-bit supercerts will
allow you to extend the highest allowed 128 bit encryption to all your 
clients even if they use browsers that are limited to 40 bit encryption. 
Get a guide here:http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0030en

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: cs64xx distortion (GameTheater XP)
  2003-01-18 16:06     ` Benny Sjostrand
@ 2003-01-18 18:04       ` Friedrich Ewaldt
  0 siblings, 0 replies; 10+ messages in thread
From: Friedrich Ewaldt @ 2003-01-18 18:04 UTC (permalink / raw)
  To: Benny Sjostrand; +Cc: Christian Esken, alsa-devel

Benny Sjostrand wrote:

> We dont't known what kind of dirty is hack's possibly could be 
> implemented  in the Windows driver to compensate the bad sound. We 
> know that the DSP is able to do much more that actually is done in the 
> Linux driver, reverb effects, delay, band pass filters, mp3 decoding 
> etc. For example what about having a light reverb effect on front 
> speakers, and a little bit more reverb on rear speakers + some delay, 
> and let's limit the volume controls a little bit to get rid of the a 
> possible distorcion, and some few band pass filters. Do you think that 
> would improve the sound quality ?
>
> What actually Hercules sells is more SW than HW, there is about three 
> version of the Hercules GTXP 5.1, 6.1, 7.1 The the only difference 
> between theese cards seems to be the delivered SW (which you probably 
> never will use under Linux)
>
> I dont discard posibility that there's something specific about the 
> GTXP hw, that we dont know and we should know that could improve 
> sound, but I believe that this posibilty is very small.

I didn't hear this 'bad' sound quality of the GTXP because I've a cs46xx 
based terratec DMX XFire. The sound quality of the XFire is exactly the 
same as under windows, i.e. much better than a cheap $10 soundcard. 
There's not much hardware on the XFire: Basically just the CS4624, a 
CS4294 codec and two LM386 amplifiers (very cheap 1 watt amps). The 
windows driver of the XFire doesn't change the sound in any way like 
adding reverberation, stereo expanding or equalizing (It does only, if 
you tell it to do), i.e. the card acts as a transparent system that just 
outputs every sample like it was told by any application. I think that 
will be also the case for the GTXP under windows (but I can't check as I 
don't own this card). There seem to be other hardware components on the 
GTXP wich are not correctly initialized.

>
>> - Sound quality under Linux: very very very very bad.
>>  
>>
> It's possible to get good sound quality under Linux with the GTXP, if 
> you use an external amplifier, some options that I can mention:
> - External receiver with digital in, using the SPDIF output
> - External receiver using the analog inputs, using the un-amplified 
> outputs from the GTXP
> ­ - Use any kind of active speakers (speakers with it's own amplifier 
> built-in)
>
> Just dont rely to much  on the soundcard amplifier.

If the GTXP is used in the same way as under windows (e.g. line output 
connected to external amp or active speakers), the sound quality should 
be more or less the same.
As Christian says the sound quality is very ve...ry bad, I think it must 
be related with card initialization (something like the DC offset 
problem with the XFire or a not powered up amplifier).

I do not think that the driver has to do some equalization to get good 
quality. The hardware on this card should deliver good quality without 
software tricks. (Of course correct initialization is necessary which 
could perhaps easily done *with some more help provided by this "Cirrus" 
company*).

Chrisian, perhaps you can specify/describe the type of distortion more 
precisely so that it's easier to guess the reason for the bad sound.
Does it sound like overload?
Is the output unequalized, i.e. lack of low or high frequency components.
Are quiet sounds also/more/less distorted? Especially: Are sounds below 
a volume threshold not ouput, quite sounds totally muted?
You reported that lowering pcm/master volume makes the quality somewhat 
better. What about playing back quiet sounds with pcm/master volume 
turned up compared to playing back loud sounds with pcm/master volume 
turned down?
Do you get different quality depending on the analog output used (line 
out with external amp compered to speaker output)?
I don't know about the possibility of the GTXP to power down the 
internal amps. If the sound at line output is ok, that could be the 
reason for the bad quality.




-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com - A 128-bit supercerts will
allow you to extend the highest allowed 128 bit encryption to all your 
clients even if they use browsers that are limited to 40 bit encryption. 
Get a guide here:http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0030en

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2003-01-18 18:04 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-16 19:27 cs64xx distortion (GameTheater XP) Christian Esken
2003-01-16 21:24 ` Friedrich Ewaldt
2003-01-18 11:15   ` Christian Esken
  -- strict thread matches above, loose matches on Subject: below --
2003-01-15 23:14 Christian Esken
2003-01-16 10:24 ` Takashi Iwai
2003-01-16 23:11 ` Benny Sjostrand
2003-01-17  0:38   ` Richard Olsson
2003-01-18 11:13   ` Christian Esken
2003-01-18 16:06     ` Benny Sjostrand
2003-01-18 18:04       ` Friedrich Ewaldt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.