Re: [hatari-devel] Gain too low in DmaSnd_LowPassFilter for STE ? |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
- To: hatari-devel@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [hatari-devel] Gain too low in DmaSnd_LowPassFilter for STE ?
- From: David Savinkoff <dsavnkff@xxxxxxxxx>
- Date: Sun, 7 Aug 2016 12:45:11 -0600 (MDT)
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telus.net; s=neo; t=1470595512; bh=PjOTc0e/8IqW+K0WfT4ddcrXcGnaGrsOThQD1tyZmQo=; h=Date:From:To:In-Reply-To:References:Subject; b=IYF2TlAcbZ8RaI6+FKSqwfGxqOXnQCu2dbzY7iM+ZRgmBjWmBIGXW2BGQ1pHsbj3x zPPmT/Zj9xyj/7sGWItq0iWSss+3osmf4XG7WCzWRh9zlooTvSVQ9VxhmCH3XXP9v7 PorZCmGgbnH0+1Oay7YLMz7UD/TctiL8guA4fkjNgVoHANsoto4tjTZ7/pWAwyg8+R jwGDXiSgaAMJxzHMM1hF3CbQSQ3rW55bU/e/FxuD2ri1AHGHNKLkxlLUJMnZvgtZ4t Ck75cImgPKY8l9Xv5webfJhqE68i0FXVsx0WiJMgzC8xpZQ7s4V67v7hrzxsWghypn yu9d7qroBYuYA==
- Thread-index: liQNFNYJBT76UXzT2+aPPtIX9TEsZVvLXwav
- Thread-topic: Gain too low in DmaSnd_LowPassFilter for STE ?
Do this instead.
/****** return (in * 3) << 1; */
and not what I said earlier,
but experiment
gotta go.
----- David Savinkoff wrote:
> ----- Nicolas Pomarède wrote:
> > Hi
> >
> > as discussed here
> > http://atari-forum.com/viewtopic.php?f=16&t=29615&p=299270#p299270 the
> > STE DMA sound samples can't be heard when using an output freq < 50066
> > Hz in Hatari (for example, try "salamander : planet latis")
> >
> > At 50066 Hz you hear the samples, but at 48 kHz you don't hear them
> > anymore. This is because 50066 explicitely turn DMA low pass filter OFF
> > in the code path.
> >
> > David, do you think it would be possible to increase the gain in
> > DmaSnd_LowPassFilter to hear the samples even when using < 50 kHz output
> > freq ?
> >
> > Note that in this music demo, samples already have a low volume (if you
> > just listen to the wav file with Audacity for example), so maybe the
> > fact that the sample don't use the full 8 bit range is fooling the
> > filter and you get an even lower volume in the end ?
> >
> > Nicolas
> >
> Hi,
>
> I will look into this later today. Note that 55 KHz has no filter so
> that one can re-sample it with their own filter, thus, 55 KHz
> samples should be sharper than a real STE.
>
> The low pass filter Hatari uses filters high frequencies a little
> too much.
>
> see /****** return (in * 3) << 3; */ below. Which refers to
> hatari/src/dmaSnd.c
>
> This will increase the gain by approx 3dB
>
> Experiment until you like it. Note that low frequencies will
> be boosted also. Note that just increasing the cutoff
> frequency will require an expensive filter.
>
> /**
> * LowPass Filter Left
> */
> static Sint16 DmaSnd_LowPassFilterLeft(Sint16 in)
> {
> static Sint16 lowPassFilter[2] = { 0, 0 };
> static Sint16 out = 0;
>
> if (DmaSnd_LowPass)
> {
> out = lowPassFilter[0] + (lowPassFilter[1]<<1) + in;
> lowPassFilter[0] = lowPassFilter[1];
> lowPassFilter[1] = in;
>
> return out; /* Filter Gain = 4 */ /****** return (in * 3) << 1; */
> }else
> {
> return in << 2; /****** return (in * 3) << 3; */
> }
> }
>
> /**
> * LowPass Filter Right
> */
> static Sint16 DmaSnd_LowPassFilterRight(Sint16 in)
> {
> static Sint16 lowPassFilter[2] = { 0, 0 };
> static Sint16 out = 0;
>
> if (DmaSnd_LowPass)
> {
> out = lowPassFilter[0] + (lowPassFilter[1]<<1) + in;
> lowPassFilter[0] = lowPassFilter[1];
> lowPassFilter[1] = in;
>
> return out; /* Filter Gain = 4 */ /****** return (in * 3) << 1; */
> }else
> {
> return in << 2; /****** return (in * 3) << 3; */
> }
> }
>
>
>