Timmins.net
Main
Home
Gallery
About Me
PayPaul
Projects
Telcodata.us
carmp3
IPv6
BGP view
Looking Glass
Writeups
IE Content Advisor
CueCat Mods
Palm Organizer

Welcome to the homepage of the carmp3 project


About | Version History | License | How to install and configure | Downloading carmp3 | Operating carmp3 | Pictures!

About carmp3

Use spare parts to create an mp3/cd player more powerful than anything you can buy off the shelf :-)
carmp3 is a basic system for creating an embedded system mp3/cd player. I wrote this to allow me to play mp3s (and in the first public release it also plays audio CDs) in my car without having to worry about traditional computer issues such as needing to see the command line, or typing commands while driving. I wrote it to be very modular with every program performing a seperate task, and they all work together to create the full effect. Enjoy. Patches and submissions welcome!

Latest version

0.50 - First public release!

License

carmp3 is licenced under the GPL

How it works/How to configure it

The first step to successfully configuring and installing this software is to prepare a machine with a minimal OS install. In writing and testing I use Debian GNU/Linux. Other distributions may work, but this is currently the only distribution supported by me.
This machine should be configured to start almost nothing on boot. at, cron, et al, are un-necessary on a machine used for this software. You should basically have some kernel daemons running, init, a few gettys, maybe a selected daemon or two (I generally run sshd, so I can get into it from my desktop instead of slapping a monitor on it). To make things smoother install mpg123, cdtool, and rexima on it now. It goes without saying that this package is not going to configure your sound hardware for you, and you meust have working sound hardware prior to installing this software to properly debug your installation.
I highly recommend using a journaling file system on the root partition. Anything else is a recipe for disaster. Note that this software is designed to be placed on a headless system with nothing more than a keyboard (just the numberpad is necessary), unless you write a new input processor for your specific application. If you are planning on doing things on the console of this machine while listening to mp3s or cds, this is not for you.
Ok, now that that is out of the way, lets go on.
First you need to get the software going. Edit your inittab and change your line that reads:
6:23:respawn:/sbin/getty 38400 tty6

and change it to:

6:23:respawn:/sbin/getty 38400 tty6 -i -l /usr/local/carmp3/mp3player.sh
BEFORE SENDING -HUP TO INIT you must at least create an empty file as "/playlist", or edit mp3player.sh and the first argument to the mp3player binary is the location of the playlist. Note that this does not read winamp playlist files. The playlist is a list of full filename (with paths), one per line, like this:
/mp3/styx - Mr Roboto.mp3
/mp3/Saliva - Click Click Boom.mp3
Spaces are ok, as the filename is quoted when sent to mpg123.
Once you populate a playlist with valid files, it's ok to send a -HUP signal to init (kill -HUP 1). Music should begin playing. If not switch to vty6 and hit control D.
Now here is the part that's important, because you'll have to put up with this for a while. You need to adjust your mixers.
Open up a console and open rexima. If you are using a cassette adapter, place it in a high quality cassette deck with VU meters and connect it to the line out jack on your sound card. Turn down all sliders but pcm and vol. Then proceed to adjust your volumes so that your output hovers at 0db at the loudest part of your playlist, and that peaks stay at or below 3db. Anything beyond this can cause clipping in your car stereo which can result in damage to your equipment and speakers. Aim to have both sliders around the middle, if possible. Having one all the way down and one all the way up sacrifices audio quality. :-)
Then do the same for CD audio. You may want to use "workbone" to play cd's to adjust your percentages to. Write down the percentages for "vol", "pcm", and "cd". Then in your startup files, do the following:
rexima vol 99
rexima pcm 99
rexima cd 99
rexima line 00
rexima mic 00
Replace 99 with the values you recorded on your paper.
Now to configure your input. You want this running on vty1 which is the default when the system starts up, since you won't be doing VT switching while driving. Edit your /etc/inittab as follows
replace:
1:23:respawn:/sbin/getty 38400 tty1

and change it to:

1:23:respawn:/sbin/getty 38400 tty1 -i -l /usr/local/carmp3/numpad_command
Now from vt2, run "kill -HUP 1" and you should have a exceedingly verbose console that takes keystrokes from your numeric keypad.
Congratulations, you're done!

Operation

The controls are quite simple. Numlock switches between cd and mp3 mode. /<enter> pauses and unpauses, *<enter> selects a new random song in mp3 mode and selects the next song in CD mode. +<enter> turns up the master volume by 1%, and -<enter> does the opposite. Entering a number and hitting enter jumps to that entry in the playlist, or that track on the CD. Hitting ".<enter>" - That's period, then enter, halts the machine gracefully.

Download

File Description
carmp3_0.50_i386.deb The debian package - depends on mpg123 and cdtool
carmp3_0.50.tar.gz The source code (Sorry, this is in FBI custody. I'll be reposting it as soon as it's available to me)
carmp3-doc_0.50_all.deb This is a placeholder for real documentation later - There's nothing but a readme and a changelog in here at the moment... :-)

Pictures

None yet


This website is property of Paul Timmins , Copyright 2005, All Rights Reserved.
It is hosted by Timmins Technologies, LLC
Timmins Technologies, LLC can be contacted at 866-591-0311