* mpg123 hack
@ 1999-04-06 2:33 Ulf Carlsson
[not found] ` <37096F0C.64AE42F2@foo.tho.org>
0 siblings, 1 reply; 5+ messages in thread
From: Ulf Carlsson @ 1999-04-06 2:33 UTC (permalink / raw)
To: Linux SGI
Hi,
I know this is silly and you don't care about it, but I've patched mpg123 so
that I can play mp3's without generating wav files in between :-). Maybe you say
that I should fix my poor HAL2 driver instead - I will...
About the noise:
I have done some testing with mpg123. The HAL2 is, to say the least, acting
weird. I found that only every other sample is played, and the other ones are
dumped.
Ok now to the really really weird part: If I play audio on the samples which are
dumped and zeros on the ones which are played I can hear this silly noise in the
speakers. If I do not play anything, zeros in both channels, it's death quiet
(although the DMA is acting and the HAL2 is playing the zeros). If I play zeros
on the dumped channel and audio on the other one I can hear this noise again.
Hum, I have been looking at this noise problem for nearly two days now without
any progress. Testing one thing the other with no effect. Quite boring, I'll
hack something else tomorrow..
- Ulf
diff -ur mpg123-0.59q-orig/Makefile mpg123-0.59q/Makefile
--- mpg123-0.59q-orig/Makefile Tue Jan 26 14:35:18 1999
+++ mpg123-0.59q/Makefile Tue Jan 18 03:26:46 2000
@@ -56,7 +56,7 @@
@echo "make linux-nas Linux, output to Network Audio System"
@echo "make linux-sparc Linux/Sparc"
@echo "make linux-sajber Linux, build binary for Sajber Jukebox frontend"
- @echo "make linux-alsa Linux with ALSA sound driver"
+ @echo "make linux-mips-alsa Linux/MIPS with ALSA sound driver"
@echo ""
@echo "make linux-esd Linux, output to EsounD"
@echo "make linux-alpha-esd Linux/Alpha, output to EsounD"
@@ -148,6 +148,17 @@
CFLAGS='-DI386_ASSEM -DREAL_IS_FLOAT -DPENTIUM_OPT -DLINUX \
-DREAD_MMAP -DALSA \
-Wall \
+ -fomit-frame-pointer -funroll-all-loops \
+ -finline-functions -ffast-math \
+ $(RPM_OPT_FLAGS)' \
+ mpg123-make
+
+linux-mips-alsa:
+ $(MAKE) CC=gcc LDFLAGS= \
+ AUDIO_LIB='-lasound' \
+ OBJECTS='decode.o dct64.o audio_alsa.o' \
+ CFLAGS='-DLINUX -DREAD_MMAP -DSWAP_BYTES -DREAL_IS_FLOAT \
+ -DALSA -Wall -O2 \
-fomit-frame-pointer -funroll-all-loops \
-finline-functions -ffast-math \
$(RPM_OPT_FLAGS)' \
diff -ur mpg123-0.59q-orig/audio_alsa.c mpg123-0.59q/audio_alsa.c
--- mpg123-0.59q-orig/audio_alsa.c Fri Nov 27 11:16:58 1998
+++ mpg123-0.59q/audio_alsa.c Tue Jan 18 03:24:40 2000
@@ -182,8 +182,24 @@
int audio_play_samples(struct audio_info_struct *ai,unsigned char *buf,int len)
{
ssize_t ret;
+#ifdef SWAP_BYTES
+ int samples = len >> 1; /* will only work in 16 bit mode .. */
+ unsigned short *sample = (unsigned short *) buf;
+ static unsigned short *swap_buf = NULL;
+ if (!swap_buf)
+ swap_buf = (unsigned short *) malloc(len);
+
+ while (samples--) {
+ swap_buf[samples] =
+ (((sample[samples] & 0x00ff) << 8) |
+ ((sample[samples] & 0xff00) >> 8));
+ }
+
+ ret=snd_pcm_write(ai->handle, swap_buf, len);
+#else
ret=snd_pcm_write(ai->handle, buf, len);
+#endif
return ret;
}
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: mpg123 hack
@ 1999-04-06 12:05 ` Alan Cox
0 siblings, 0 replies; 5+ messages in thread
From: Alan Cox @ 1999-04-06 12:05 UTC (permalink / raw)
To: Ulf Carlsson; +Cc: clepple, linux
> is in stereo mode though, I print the registers every time the card is
> triggered. One might otherwise think that I accidently had set it up into Quad
> mode.
If you put the chip in mono mode does it need doubled samples ?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: mpg123 hack
@ 1999-04-06 12:05 ` Alan Cox
0 siblings, 0 replies; 5+ messages in thread
From: Alan Cox @ 1999-04-06 12:05 UTC (permalink / raw)
To: Ulf Carlsson; +Cc: clepple, linux
> is in stereo mode though, I print the registers every time the card is
> triggered. One might otherwise think that I accidently had set it up into Quad
> mode.
If you put the chip in mono mode does it need doubled samples ?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: mpg123 hack
[not found] ` <37096F0C.64AE42F2@foo.tho.org>
@ 1999-04-06 12:28 ` Ulf Carlsson
1999-04-06 12:47 ` Ulf Carlsson
1 sibling, 0 replies; 5+ messages in thread
From: Ulf Carlsson @ 1999-04-06 12:28 UTC (permalink / raw)
To: Charles Lepple; +Cc: Linux SGI
Hi Charles,
> Weird thought: what happens when you duplicate samples? (ie make the
> dumped samples the same as the ones which are played) It sounds like a
> common-mode rejection ratio problem
Whee!! That gives me PERFECT audio quality, well stereo and just 22050 Hz, but
no noise. Can you explain to me what a common-mode rejection ratio problem is
and why it's solved in this odd way?
> You may find it helpful to patch the line-out jack from the Indy to the
> line-in on another system, and record it. If you can capture the noise
> with this arrangement, I'd be glad to take a look at it and see if
> there's any rhyme or reason to it.
Yeah, my noise is really exciting...
I'll try to find a decent cable so that I can record it.
> I'd love to help directly (I have 3 Indys in the lab to play with) but I
> still can't get a system to boot properly, as I don't maintain any
> Linux/x86 boxes on that subnet.
I'd be more than happy to receive some help!
- Ulf
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: mpg123 hack
[not found] ` <37096F0C.64AE42F2@foo.tho.org>
1999-04-06 12:28 ` Ulf Carlsson
@ 1999-04-06 12:47 ` Ulf Carlsson
1999-04-06 12:05 ` Alan Cox
1 sibling, 1 reply; 5+ messages in thread
From: Ulf Carlsson @ 1999-04-06 12:47 UTC (permalink / raw)
To: Charles Lepple; +Cc: Linux SGI
Hi again,
The problem seems to be that the HAL2 because of some strange reason I don't
know requires the samples to be duplicated. There's no doubt about that the HAL2
is in stereo mode though, I print the registers every time the card is
triggered. One might otherwise think that I accidently had set it up into Quad
mode.
I can now play MP3 in 44100Hz, stereo with perfect audio quality, when the
samples are duplicated..
- Ulf
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~1999-04-06 12:05 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
1999-04-06 2:33 mpg123 hack Ulf Carlsson
[not found] ` <37096F0C.64AE42F2@foo.tho.org>
1999-04-06 12:28 ` Ulf Carlsson
1999-04-06 12:47 ` Ulf Carlsson
1999-04-06 12:05 ` Alan Cox
1999-04-06 12:05 ` Alan Cox
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.