Sound’s ironic

I still spend a little time — now and again, but not often — trying to resolve the long-standing sound issue on my Crux-driven Pentium laptop. It took me years to find out how to get any sound at all out of it, and now that it is working, I would really like to have solid, clean playback instead of skipping and pausing so frequently.

But to be honest, it doesn’t look like that’s going to happen — not like it ever really did though. I spend a little less than an hour this morning setting up mpd and ncmpc following the howto at nepherte.be. It worked for Crux as well as Arch, which came as no surprise. Technically the howto is for ncmpcpp, but ncmpc is in the Crux repos so I went with that. (For the record, building both mpd and ncmpc at 120Mhz took only about 30 minutes, plus or minus. 😯 )

Everything is working fine, but playback still sputters and pauses, much as it did in Debian with the same setup, or in Crux with mocp, or even with Orpheus — although to be honest, that last one was probably the best. mpd is particularly lightweight, but even from a cold boot with nothing but the daemon running, I still get skipping and breaks in playback, with the processor load pegged at 100 percent (according to htop).

What’s a person to do? It seems my best efforts to trim back and trim back and trim back … just aren’t enough. I suppose I could try lighter codecs — these are usually ogg files at a quality level of 7 or so — but to be honest, that adds another layer of inconvenience to the issue. If I was committed to playing back audio on this machine I suppose I could convert my measly 5Gb music collection out of oggs and into a different codec. But mp3 files are the same, plus there’s the conversion time, the transfer over the network to this machine, and ultimately the possibility that it wouldn’t help. A lot of question marks there.

I think what has happened here is that finally I have reached a point of function that has been determined by the hardware. I type to you now on a 14-year-old laptop with a huge array of up-to-date console-based programs and a modern operating system. But the machine itself — the actual hardware — probably just can’t handle the task of converting digital files into music … and since it is barely a contemporary of the MP3 trend (mentally I always equate the rise of MP3 with the advent of Winamp), I shouldn’t be surprised.

So it would appear that the practical threshhold for audio playback falls around 150 or 166Mhz or so. If you can improve upon that, please let me know, just for curiosity’s sake.

Overall, in the grand scheme of things, this doesn’t even register as a loss. It’s rare to find a machine this old any more, and even rarer πŸ™„ to get things working to a point where audio playback is possible. But there are thousands upon thousands of machines only-slightly-faster than this one, that can handle the task without suffering. Just kick over a trash can, and pick up another one.

(And just for the record, I do have audio available — for example, centerim pings cleanly and regularly, every time a new message appears. It’s just the difference between that short burst, and a sustained seven-minute song.)

But at the same time I’d be lying if I said I wasn’t a little disappointed. It was a coup to get the thing (or its cousin, technically) running at all, and another coup to get the framebuffer working, and yet another long-awaited coup to get the audio figured out. The fact that it is working only halfheartedly now is … ironic. 😐

13 thoughts on “Sound’s ironic

  1. damaged justice

    I remember playing MP3s’ under OS/2 on my 486 @ 66Mhz with 16Mb RAM, but I had to downsample like crazy *and* make it mono.

    Reply
  2. yasen

    Confirming damaged justice’s post, used to be able to play MP3s on a 486DX4 with Windows 95 and some prehistoric version of Winamp, either by downsampling or by setting to decoding only one of the stereo channels.

    Maybe you could try using mpg123 (that’s what Orpheus is using as a backend) and see all the command line options that it offers (it can decode only one channel, downsample, etc..)

    Reply
  3. vis

    I’m quite curious as to whether a cheap USB sound card would help, if you can even attach one to that machine. Modern low-end products are available for as little as Β£20.

    I’ve read that they take some of the processing duties away from the cpu, and I’ve heard of people having great results on older windows machines and netbooks. Perhaps a combination of a usb device and the right JACK configuration would help you?

    Reply
    1. K.Mandla Post author

      The only problem with this route is that the hardware would probably be incompatible. I would need a PCMCIA USB card since the machine doesn’t have native USB ports, and on top of that, the card would have to predate CardBus because again, the system can’t understand the later PCMCIA style. And then on top of that it would have to have enough resources left to handle the sound card. I don’t know if all of that is possible.

      But finding an old pre-CardBus USB connector would make my life infinitely easier. … Hmm. … 😐

      Reply
  4. Duncan Snowden

    Well, I know that my old 50MHz Amiga could only play MP3s in mono at 22KHz, and only then if it was doing absolutely nothing else.

    Motorola’s 50MHz is about 100MHz in Intel money because 68ks do more in one cycle than x86s (Apple used to put double-speed xtals in Macs so they could compete on the numbers; I may have mentioned this before), and the ‘030 was roughly comparable with the 486SX, in that it was released the same year and had no FPU, which obviously helps with this sort of thing, hence why dj and yasen could do the same on a 66 (ie, “33”) MHz DX unit.

    So I’d expect you to do a little better than that on a 150MHz Pentium, but it depends what else is going on. I agree with yasen, though: try mono if you can. It won’t make a lot of difference anyway with laptop speakers. πŸ™‚

    Reply
  5. K.Mandla Post author

    Thanks for these notes; it might be that I have been going about this in the wrong way. Thus far my strategy has been to lighten the load across the board in an effort to preserve enough system resources to handle “standard” ogg format music files at a “standard” level of playback.

    I’ll see if I can downsample the output or go to mono, or even try an out-of-date codec, and see what results I get. Science demands and answer. πŸ˜‰ Cheers, all.

    Reply
  6. Ian

    Random thought – do the lightweight music players use libvorbisidec/tremor (integer arithmetic only) to decode vorbis files or are they using libvorbis (with floating point arithmetic)?

    Reply
  7. zoobab

    You can use madplay, it consumes less CPU then other players, due to its integer instead of floating point code.

    Reply
  8. Costin Stroie

    There is life at 166Mhz, you just need to look at the right place. In fact, there are two such places. If you need to use linux on that machine, try to use the 2.4 kernel version and OSS, not ALSA. Moreover, mpg123 with mmx-optimized decoder or even mplayer with mpg123 backend are much faster than madplay or libmad-based players. It is incredible how on the same machine, a Toshiba Tecra 530 CDT, using linux 2.6, ALSA and madplay, the CPU usage is over 60% while using linux 2.4, OSS and mplayer the CPU is at 2% (two percent). On this machine, Debian 3.1 Sarge performs better than Etch or Lenny. The other solution is to step back a little more, while still in open source, and use FreeDOS with mpxplay. You could create a minimal floppy image, boot it with memdisk (from the syslinux project) and let it play for you. Look at the System Requirements on the Wikipedia page, http://en.wikipedia.org/wiki/Mpxplay

    Reply
    1. K.Mandla Post author

      Thanks for those ideas. I’ll see what I can come up with. I know early Debian versions are very snappy on this; the only tradeoff in the past has been that I seem to suffer for some of the software I enjoy in recent versions. I shall try to keep an open mind though. … πŸ˜‰

      Reply
  9. Pingback: A Debian server at 150Mhz, 32Mb « Motho ke motho ka botho

  10. Pingback: Some audio success « Motho ke motho ka botho

Leave a reply to K.Mandla Cancel reply