Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Hardware

Customizable Parallel Port MP3 Decoder 98

gopher writes " IMBDEV has just started shipping a customizable MP3 decoder board that can use either your computers serial or parallel port. It also comes with complete source code and prototyping space so that it can be customized." I'm not quite sure what to make of this.
This discussion has been archived. No new comments can be posted.

Customizable Parallel Port MP3 Decoder

Comments Filter:
  • by Anonymous Coward
    Ok,
    I took a look.
    all the comments about your sound card being good enough.... that has nothing to do with it. an MP3 decoder board actualy DECODES the MP3. In other words where your proccesor(pentium etc..) would normaly decode it, it is instead decoded by this
    board. the board also looks to have a VERY VERY
    high quality audio DAC... which means it will sound very good. much better than most sound cards.

    now here are the possible uses of this
    1) you like to play with hardware (me :))
    2) you have a computer that is not powerfull enoiugh to decode an MP3
    3)play MP3's while playing a game of quake...
    and have it not affect your lagg/performance etc..
    i.e. all cpu time goes to quake, and not to decodeing the mp3.
    3) car mp3 players... instead of buying an expensive pentium system and sound card
    all you need is a cheep 486 with a few megs of RAM and a hradisk. (and still have power left over to run GPS or something!)
    4) it comes with source code...... make a portable with a laptop hard disk... if you are any good with microconrtollers it shouldent be too difficult.

    5)show off to your friends?


    ok my bottom line .....
    I am buying 2 :)
    hehe

  • by drwiii ( 434 )
    You know it's a good product when they sell it using blinking yellow text. :-)
  • This shouldn't be a problem for the Paralell port version, but IIRC PC serial ports can trasfer at 112kpbs maximum whereas several MP3s can be encoded as high as 224kpbs. Worse, many old computers (486s) can only transfer at 56kpbs, which cuts out a large portion of the MP3s available. Naturally this isn't a problem if you encode your own music, but it might be if you download from online MP3 resellers or fledgling bands.
  • Try that with the upcoming Quake III Arena. Don't think you'll be able to play mp3s and Quake at the same time on that PPro200.
  • To be fair, IDE can support more than four devices. Two devices per controller. Most motherboards come with two controllers, but you can buy more, so you can have six or eight IDE devices hooked up.

    As for USB, what's wrong with it? As long as you're not trying to do anything *really* high-bandwidth like a harddrive, it seems fine to me.
  • Probably because you don't use tunelp to assign an IRQ to the parallel port. Otherwise, the lp driver polls.
  • It all depends on the serial card chipset you have. If it's not a 16550 (or similar) you may have trouble getting faster than 56kb. But most 486s and so on use the '550, which has a 16 byte FIFO and could handle 128kb.
  • This is probably not a very good idea. When you encode a regular wav file to mp3, it is a lossy process, so you lose information and quality by doing so (albeit not much). When you recreate the wav (with a decoder), that wav shows the resulting loss of quality. If you use that decoded mp3 to create a minidisc, then it gets compressed again, with lossy compression. So you get two different styles of loss. That's probably not going to give you very good results.

    wav -> mp3 -> wav -> minidisc
    lossy lossy
  • Excellent thought! Perhaps also add some sort of bank switched flash memory setup. It should be do-able by latching the higher address lines of the flash. Since the CPU is just fetching data and feeding it to the decoder, it'll have plenty of time left over to keep the display updated and poll the key switches. All of the benefits of a Rio + CDR.

  • It might also be interesting to hack at it starting with an old (and stripped down) laptop. Or for that matter, a nice addition to a reasonably useful laptop that doesn't have the horsepower for MP3.

    Either way, it's a cool idea.

  • by jd ( 1658 )
    Once upon a time, computer games could simultaneously use an LAPC1 and a SoundBlaster, to get maximum quality and maximum noise out of your computer. These days, games can't do that, the LAPC1 is virtually unfindable, and the quality of music & effects has plummeted. If this system can give you the same quality music as the old LAPC1 did, games could have decent music & special effects again.
  • Hmm. Don't know if you're running linux, but if you are you should put your mp3 player in realtime mode (quite easy). I believe for example mpg123 can do this for you automaticly (using the right compile options). It uses about 50% of the processing power, so you have (like me) a P30 left.
  • Well, some people like listening to their music while doing other tasks, and the strain of decoding is formiddable yet on a large number of machines. I could thus see some market, provided it wasn't prohibitively expensve. Try running some Maple code while playing an MP3 on a plain Pentium; one quickly learns to just give up and go back to CDs...

    -- chris



    -----
  • Good idea; you could throw a pair of them (or more?) into that MP3 mixer/scratcher that runs on BeOS (see previous slashdot article [slashdot.org]) and leave the processor free to do effects(?) I am not a sound guru, so maybe that's not technically feasable, but it would certainly make a powerful piece of equipment.

    -- chris

    -----
  • It'd be more interesting if the I/O interface was changed. USB interface circuitry is relatively cheap and is all microcontroller based. Cypress sells a development board for about a hundred bucks. Chop off that parallel port and the serial port and interface with USB. Go to your favourite store and get either an USB CD or a USB hard drive (I think these are pricey, they're made for the super mobile crowd who want a hard drive that fits in a shirt pocket)

    You've now got a portable MP3 player. This may be impeded if the people who make USB devices won't tell you how to talk with their CD or hard drive (or is it like SCSI and a standard?)
  • Wait, you can do that in Linux too :)

    esound + alsaplayer + ALSA


    My PII 233 can just barely make it at 9 mp3's playing simultaneously. After that the distortion and CPU usage is too large/high.

    -adnans
  • I am a hardware guy and happy it was posted. There are many possibilities with a programmable device that hangs off the computer.

    I have always been interested in DSPs as they can do some serious number crunching. The evaluation board they have has space set aside for prototyping and even more fun.

    This would be fun for the box that has no sound card. Perfect for the workplace. :)
  • Not a flame, it's just that I don't think that you realize the enormity of the project.

    Bad ideas for senior projects...

    I remember when we were picking senior projects, we had to use a Z80 8-bit CPU to drive outputs based input in a useful manner. Well, one classmate wanted to use a VGA controller as output. Whoa. We had wired up a simple memory mapped CGA chip for earlier projects, but he was picking a design goal he had no experience with. I doubt he knew VGA was more than just simple memory mapping to draw stuff. This was to be done in one semester. From what I hear, he was still making excuses after a year trying to get it done. Quite sad.

    Then there was the guy who committed to a floppy disk copier. He got smart and scaled down his project to something that would "test" the floppies by clicking down the tracks and checking for activity on the data. He passed.

    Rule of projects: Keep It Short and Simple.

    My project was a bit easier building a digital sampling oscilloscope [gtr-access.org], because I was able to cut and paste previous code from working earlier projects.
  • Nowadays you can DMA to your parallel port, so that it doesn't touch the CPU at all. It depends what protocol the device uses though -- you can't DMA things other than ECP and normal 'compatibility mode', in general.

    The reason that the Zip driver is slow is that the Zip drive doesn't use interrupts. There isn't really a lot of getting around that.
  • You can DMA to modern parallel ports.
  • And while you are at it, you might as well port the rest of Linux to the PIC... :)

    Not a flame, it's just that I don't think that you realize the enormity of the project.
  • This is just what I've been looking for. If and when drivers are ported to Linux, I'll snag one for sure. I've got an old Compaq 486 laptop running Suse 5.3 like a champ, but there's no built-in sound options. Sounds like this card/adapter would let me play mp3's from the laptop.

    I hear people complaining about the low bandwidth of the pport, but I think they must surely get around that by buffering, so it's a non-issue, me thinks.

    If I hear a favorable response from someone who gets one, I'll grab one too!

    We don't have soundcards at work, but this would make that irrelevant! I could also cranks mp3's at parties w/out having to lug a big system around.

    Kewl!

  • When using this to listen to MP3's, your soundcard is free. I still haven't figured out how to make more than one piece of software use my card at the same time

    With this I can actually play a game with it's effects _and_ listen to MP3's at the same time. Neat... ;)
  • I have a NETQue ethernet to serial & parallel print server. I wonder if I could use lpd to stream an MP3 over ethernet to my print server and out to the MP3 decoder. Any thoughts?
  • i'm not quite sure, but when you stream somthing out of your parallel port, dosent it EAT your cpu? all i know is when ever i use my parallel zip drive to transfer a 10+ meg file, i might as well get something to drink, drink it, go for a smoke, then come back to use the computer again. i can just imagine those mp3's made from cd's without any tracks, where the mp3 is 50+mb.

    then again, i could be wrong... :)
  • Well, those of us who run BeOS have that functionality allready.. Be mixes sounds on the fly, and provides you a mixer for each input. Last night i checked, and i had 14 channels of sound being mixed together. Each sound for BeAIM has its own channel, and so I can set them to have their own relitive volume. I had the sound from Snes9x, a CD, BeAIM, and, just for the hell of it, an MP3 all playing at the same time, and if the system had wanted to let me know, it could have beeped at me. At times, ive had 3 mp3's all decoding at the same time, playing at diferent speeds. It sounds funky, but its a good demo of what the BeOS can do. Oh, i have a K6-2/400 if you were wondering.
    --Dave
  • Hmmm, I know it's just cruelty to you guys, but playing mp3s (stored across NFS) uses less than 1% of my system CPU time, and 3% of my RAM (X11amp I'm talking of here). Needless to say, I can do all kinds of cool things whilst listening to completely uninterrupted music. Like I can have five smooth Mesa screensavers running in windows, be compiling the latest Gnome CVS, writing emails, playing with the GIMP and Blender, etc.

    But hey, it's no fun for me to just brag about my dual processor beastie. I also wanted to suggest a point that surely it would be cheaper to upgrade your computer than it would be to get all that mp3 specific hardware? I mean, for US $800 we build dual Celeron boards running at 450MHz (or 504MHz if you wanna match a dual PIII 500) _with_ 128MB RAM. Now that's top of the line. Surely you could get a Pentium 200 or a low end PII second hand for a couple of hundred dollars?
  • Hmmmm... combine this with one of those ultra miniature computers and customize your own portable player; may look a little ho-made and cost more but you can make it anyway you want and learn a bit in the process.

    Chuck
  • sounds cool if you have a 8086 or something that can't handle a 160kbps encoded MP3.

    Actually, my P60 (yes, I know it's outdated but I'm a broke student) can only just keep up, provided it's doing nothing else, on a good day, in a following wind etc.

    Even moving a window around on screen screws up playing MP3's :-/

  • This looks like a build-your-own-MP3-decoder-board kit. Neat, if you're into building hardware yourself (I was a while back). It looks like they have moderately general-purpose chips for this and boards with sample layouts that you can buy if you don't feel like designing your own.
  • Maybe I'm stupid but what's the point of the decoder? To use like a mpman or to decode mp3's on your computer instead of using CPU power? (which, would rule for those times when your stuck with a computer that doesn't have enough CPU power to decode MP3's.)


    AFAICT, this is intended as a neat hardware project for people who like building their own hardware. See my previous message for other possible uses.

  • sounds cool if you have a 8086 or something that can't handle a 160kbps encoded MP3. But I think most of the system out there in cyber-lala-land that have a sound card in them can handle it. The only place where I think this might come in handy, is elimnating any "noise" the sound card puts out in the sound stream due to other cards in the system.


    Actually, this would probably be more vulnerable to noise, as the board won't be very well shielded and the parallel cable *certainly* won't be.


    AFAICT, this is a kit intended for people who like hardware projects, and that's about it. I suppose that you could build a portable MP3 player with the parts if you wanted to (if you also bought a microcontroller chip and maybe a flash card reader). Hardware MP3 decoding would be useful on sound cards if it isn't there already, but that would be integrated into the sound card ASIC instead of added as discrete components like this.

  • by Athos ( 11806 )
    That was pretty much my thought.

    I normally have a high aversion to any pages with blinking text. It's quite a struggle to remember not to press the back button right away.
  • Some soundcards under Windows 95/98 can do this.
    My Monster Sound M80 could for instance.

    Using E, I believe you can do something like this
    (using esddsp). I wish Linux had support for the M80, it's a bit old but still an amazing card :(
  • I don't think that's true. From what I can tell, this hangs off your computer. Your computer has a fairly recent, powerful, and expensive chip in it. Therefore, you'd have to do a bit more to this board. However, if I misunderstood you, and what you really meant was that you could modify the circuit so it has a 486 or something built in, plus a power supply, etc, then maybe you could.
  • Could we get one of these with a digital audio out port? You know the kind I'm talking about, the optical ones found on some cd players. If such a device does exist, then I can hook it up to my MiniDisc recorder and put my mp3's on md's without the noise I get when I use a regular line cable (which is what I've been doing). Maybe it can transfer track marks too. Any info on this would be greatly appreciated.

    Dysprosium
  • Hmm....I'm no audio expert here (not even close), but according to the manual, I have 3 inputs: a mic, a line in, and an "optical (digital) mini-jack." The Sony part #'s for the appropriate optical cables to hook it up to a cd player, etc. are POC-15AB, POC-15B, and a few others. Hopefully this will be of some help, but, like I said, I'm no audio expert. For all I know, you could have just asked me what OS I run, and I replied that my case is black. :)

    Dysprosium
  • [MP3 on a chip]

    but that would be integrated into the sound card ASIC instead of added as discrete components like this.

    Most sound cards I've seen lately (actually, all of them) use a DSP. So the MP3 enc/dec would just be another DSP program.

    IBM's Mwave DSP already has MPEG audio support (it does work, but it tends to make the DSP crash. A DSP crash is no fun because it discos your modem.)

  • This would only be with old ports. With the newer EPP and ECP ports, I believe the limit has been raised to about 2 megabits.
  • While reading what the product was, I had a thought: What if soundcards started offering hardware MP3 com/dec as standard so that using MP3 audio would be more appealing in apps (read: games) where CPU usage is precious to begin with? I know there were a few 3D game engines that supported MP3 for background music and I know the now defunct crack.com 3D game was using MP3 for it's music. Probably wouldn't happen, but if it did catch on, it would be one more nail in the coffin for record companies.
  • USB hardware is cheap, but I've heard that
    USB drivers are a real pain to write.
  • but doesnt the parallel port lag the CPU too? it really would have a better use as a stand alone mp3 decoder device hooked to a simm pc..... it would make the cpu bog even more then it does... now if they could make one that hooked itself to a network......
  • Hmmm, I'm tempted to get one of these just to write a kernel driver for it. Imagine playing mp3s with:
    cat song.mp3 > /dev/mp3
  • If you're running Linux (dunno if it works on other unices), use Esound. It's used in gnome and is a daemon that mixes multiple audio streams before it hits the sound card. It even works with most programs that aren't esd aware with a wrapper script.
  • "Hmmm, I know it's just cruelty to you guys, but playing mp3s (stored across NFS) uses less than 1% of my system CPU time, and 3% of my RAM (X11amp I'm talking of here). Needless to say, I can do all kinds of cool things whilst listening to completely uninterrupted music. Like I can have five smooth Mesa screensavers running in windows, be compiling the latest Gnome CVS, writing emails, playing with the GIMP and Blender, etc."

    Nope, sorry. X11Amp does a *very* good job of hiding it's CPU usage from top. I am (err... was) writing an mp3 visualization program (some of you may remember downloading it from freshmeat, deciding it sucked, and deleting it... it was called Flashback and I've stopped working on it) that used x11amp plugins for mp3 decoding and sound output. When it was doing nothing but this, through the plugins, top would register the CPU at 99.9% free. Top doesn't provide a *true* view of the CPU usage, but it's close enough. Problem is, it's easy to hide CPU usage from it. I don't know if this was because the mp3 code was in a different thread or what, but it didn't show up in top. Using an mp3 player such as mpg123 which doesn't hide itself from top (although I'm sure x11amp doesn't do this on purpose) shows the CPU usage at closer to 8-9% on my machine. That said, I can play an mp3 and quake 2 with sound, mixing done in software, and have quake not lag one bit, on a 350mhz P2 with 64 mb of RAM. Other than for sound quality, there is absolutely no point in using one of these bitches in a newer PC. Although they have great potential for older PC's, embedded devices, wasting time :), stuff like that.

    By the way, if you want to play 2 sound channels at once through one sound card, get an Ensoniq AudioPCI es1371 (don't think the es1370 will do it.) The Linux driver provides two devices, /dev/dsp and /dev/dsp1, and handles mixing itself with low CPU usage. Matt

    "Software is like sex- the best is for free"
  • I found out some programs (like rvplayer, xwave, etc) don't like the es137x driver. Rvplayer seems to distort a little and xwave just doesn't work (complains about 256byte buffer)

    This thread was a long time ago, and I'm not sure if you're gonna see this, but I read in the kernel source docs why this is... the es137x chipset doesn't support directly playing .au files like you can do with most sound cards (i.e. cat file.au > /dev/dsp), and implementing it without breaking the mmap() interface would be very difficult. Since Quake 2 uses mmap(), the authors decided to keep it the way it was because they thought it was more important. It was :-)

    "Software is like sex- the best is for free"
  • When you encode an MP3 you do so directly from a raw file ripped from a CD. Not a wav file. So You shouldn't get too horrible of a loss. Assuming that the mp3 writes its info the the MD with little to no loss and noise, it might not be as bad as you think.

  • My brother's hobby is audio, and I will ask him about it and search the net a little bit; my hobby is electronics, we make a good combination :)

    Anyways waht kind of digital audio in does minidisc accept? S/PDIF ? Fiber? if you can tell me what it is called I will ask my bro and look around the internet and electronic catalogs I have.

    James
  • The SoundBlaster Live! has a daughter card with SPDIF ports (and an internal CD-SPDIF port). I'm really satisfied with this card, but I dunno how this will work under Linux.

    -= Scanline =-
  • A while ago Slashdot had a feature on that Linux "box" the size of a matchbook that was a fully functional webserver - could these two things converge? Did that itsybitsy have a parallel port? Or could the decoder be altered to accept Ethernet (which I believe that boxlet had). Could just implement a direct-connect to the motherboard...
  • On a related note, I saw in a recent plan file / interview / I don't remember exactly with John Romero that all the sounds in Daikatana are going to be in MP3 format.

    Of course, by the time that game eventually ships, that may not be news. (given the seemingly perpetual development time and rotating development teams...)

    Lotek---

  • We need more hardware postings, the community gets a little stale talking aboput the same thing all the time, and there are non-software nerds out there, too...

    Dub
  • OK, as many people have suggested, this could be combined with some sort of small form factor computer to make your own portable MP3 player, ala Rio. I personally think this would be cool to make your own boom-box form factor player that actually contains a decent size hard drive for hundreds of hours of music. Heck, I might just tackle such a project... Of course that might delay my solar powered robotic lawn mower. Oh well. :-)

    Thad

  • Well, actually that was just what I was going for: a cool idea.

    But regarding the cdrom: wouldn't a parallel-port cdrom be a solution for the lack of IDE of SCSI connectivity?

    Anyway, it's nice to think about this as a neat gizmo, but that's it as far as I'm concerned.

    The uClinix simm costs about $150 if I'm not mistaken, add to that the cost of the decoder board (which I can't check because their webserver mysteriously seems to be having a hard time) and various other expenses and I guess you'd be better off buying a 2nd-hand computer... or real audio equipment.
  • How about putting one of those uClinux simms [ryerson.ca] in your old cdaudioplayer (after removing all the old junk from the inside...) and hook a leftover cdromdrive and the mp3 decoderboard to it?

    Now your cdplayer can play music-cd's, read data-cd's (filled with MP3's for instance) and do something useful with it and you can even hook it up to an ethernet to get your music from!

    Oh, and you could brag about which kernelversion *your* cdplayer is running... ;-)

    I already have dreams of my compact disc player sending SNMP traps when it's done playing another CDR filled with MP3's!
  • I personally think that it is a Good Thing. You can now take off the intensive cpu load of decoding Mpegs. I don't know about all of you, but running 95/MacOS/98/Whatever and whatever flavor of Amp on a less than 150Mhz system causes computers (in my experience) to be sluggish. And even on moderate range computers, it can bog down your computer by eating up cycles.
  • This is all great, yanno, that we can offload
    this kind of processing to ASICs specifically
    designed for the purpose. But any large, regular
    movement of data still eats up bus bandwidth.

    100Mhz system buses are becoming more common, but
    the PCI bus is actually beginning to have its
    bandwidth eaten in huge bites (pardon the pun).

    Surely a device of this kind is best connected via
    a channel of FireWire bandwidth? But back to my
    point about PCI... FireWire is implemented on
    certain motherboards using a PCI-to-1394 bridge
    chip... what do we do when the PCI bandwidth runs out? :-) It'll make your box take a performance
    hit of some kind.
  • I could use a serial cable running from my (noisy) server in the attic down to my living room stereo. The decoder is connected to the stereo. Now I can play MP3's on my server and hear them on the living room audio. I could control the server with a laptop in the living room or maybe some remote control solution.

    Quite nice, although I would prefer an ethernet based decoder, that could have some other applications as well. Also I wonder if a 128 Kbps stream would run well over my serial ports.

    Unfortunately I'm no good with hardware kits...
  • by gopher0x ( 37280 ) on Wednesday April 21, 1999 @02:21PM (#1922696)
    I have talked to the company
    here is what it is.

    think of it as a proccesor and sound card on a board that connects to your parallel port.

    it DECODES the MP3 and proccess the audio.

    in other words you need it if:
    1)you want to play mp3 files on a 286,386,486 computer
    2) you want to play mp3's on a pentium computer and still have proccessor power left to do other things. (like play quake to your favorit MP3 tune)
    If you tried to do this by useing you computer to decode the MP3, the game would be so lagged it would be difficult to move.. Try it (not if you have a dual 500!)

    3) it comes with source code... you could turn it into a sterio component for your sterio system with that old 486 25 MHz MB and chip you have laying around....

    4) put it in your car with that old 386 MB you have laying around!

    5) show your freinds your 'gizzmo' and watch themn drool.

    6) if you are any good at electronics you should
    be able to interface some type of CD-rom or HArdisk/ or other storage(flash?) to it for a completly stand alone player..No pPC required.

    I want one.

    Gopher0x
  • Instead of putting a pentium plus system in your car you can use a low end processor
    or even an imbedded microcontroller with this board. No power problem like you
    have with a standard pc motherboard.
  • I've been looking for this for a while. I'd like to get a PIC programmer, write a cdrom driver in PIC assembler, and build an mp3 discman type unit...
  • I think its a great idea to have a decoder off-loaded from the CPU. An ENCODING option would
    be much better.

    Currently I am using a "Dazzle Digital Video Creator" which is an parallel port video capture device. Basically it is an MPEG encoder - takes in any video source and writes out an .mpg file. Because it is a dedicated encoder chip, it is much faster and efficient than capturing uncompressed .avi files and re-encoding to mpeg - all with the CPU.

    If this product ALSO did encoding I would be impressed.
  • Yeah, or grab an old 386 doorstop and give it new life as an MP3 jukebox...

I have hardly ever known a mathematician who was capable of reasoning. -- Plato

Working...