Next Previous Contents

24. Hardware MP3 Player Ultils.

There are now several hardware based MP3 players, for those of you who do not want to listen to MP3's on their Linux laptop :)

24.1 MP3 to Rio500

by Frédéric Bothamy <fbothamy@mail.dotcom.fr>

MP3 files can also be transferred to (and from) the Diamond Rio500 MP3 player through the USB port. (If you have any experience on using any other Rio 300, 600 or 800 under Linux, I would appreciate any comments.)

Hardware and software needed

To use the Rio 500, you need a Rio 500 (obviously), the USB cable which connects to the USB port, a kernel that supports USB and the Rio500 driver and the Rio tools. Additionally, you may want to use nice graphical interfaces.

You can find below the URLs to find the appropriate software :

Setting everything up to transfer MP3

The first thing to do is to check that your kernel supports the USB and the Rio500 driver. It has to be any 2.4.x or a 2.2.18 or higher. The easiest way to try, if you have a recent distribution, is probably to try as root a:


# modprobe rio500

If no error message is shown, everything should be OK. You can check it by issuing a:


# lsmod

You should see the modules usbcore, rio500 and usb-uhci (or usb-ohci). If it did not work, you will have to recompile the kernel and activate the following options (in the kernel 2.4.2):

How do you know which UHCI or OHCI driver should you activate ? From the file /usr/src/linux/Documentation/usb/rio.txt we can find:


Using `lspci -v`, determine the type of USB hardware available.

  If you see something like:

    USB Controller: ......
    Flags: .....
    I/O ports at ....

  Then you have a UHCI based controller.

  If you see something like:

     USB Controller: .....
     Flags: ....
     Memory at .....

  Then you have a OHCI based controller.

To compile the kernel, look at the Kernel-HOWTO or at the documentation from the kernel source (/usr/src/linux/README and the Documentation directory) which is naturally more up-to-date.

After compiling the kernel, install it with lilo or grub (see directions in the previous README). Reboot and you should now be able to modprobe the module rio500.

Next you have to install the rio-tools. These tools are usually found on standard distributions in a package called rio500. If you do not have them, simply get the tarball from the URL above, uncompress it and execute the commands:


./configure
make
make install (as root)

You should have now all the programs which starts with rio_ like rio_add_song. If you have any error, check the files INSTALL and README in the compilation directory.

Finally to upload songs to your Rio500, don't forget to connect the cable to the Rio500 on one side and to the USB port on the other side.

Using the Rio500 tools

WARNING: never try to upload (or download) songs to your Rio500 when the battery is low as this could destroy the memory (or at least, some part of it) of your device.

The utilities will perform the following tasks:

You can find below the options for each program:


$ rio_add_directory 

usage: ./rio_add_directory <directory> <folder_num> <font_name> <font_number>

<directory> is the full name of the directory whose content we want to upload
<folder_num> is the index to the folder where it will be put.
<font_name> font that will be used for the text.  Must include .fon
<font_number> is the number of the font within the font file to use


$ rio_add_folder --help

usage: rio_add_folder [OPTIONS] <folder_name1>  . . <folder_name256>

 [OPTIONS]  Try --help for more information
 <folder_nameN> is the name of the folder we want to create

 Currently, the maximum number of supported folders is 256

Input options:

  -x        --external         Add folder to external memory card
  -f name   --fontname name    Set the fontname to be used on the Rio display.
  -n x      --fontnumber x     Set the fontnumber within the given 
                               .fon file set with -f

Miscellaneous options:

  -v  --version     Output version info.
  -h  --help        Output this help.

Report bugs to <rio500-devel@lists.sourceforge.net>.


$ rio_add_song --help

usage: rio_add_song [OPTIONS] <file1.mp3> . . . <fileN.mp3>

 [OPTIONS]  Try --help for more information
 <fileN.mp3> is the name of the file whose content
 we want to upload.  Adding multiple songs is now
 supported.

 Input options:
 
  -d %x.%y  --display %x.%y    set Rio500 display's FORMAT like xmms's title.
                               acceptable special characters are below:

                               %1=ID3 Artist  %2=ID3 Title    %3=ID3 Album
                               %4=ID3 Year    %5=ID3 Comment  %6=ID3 Genre
                               %7=File Name   %8=File Path    %9=File Extension
                               %0=Track Number (id3v1.1)

                               default FORMAT is %7.%9

  -x        --external         Write to external memory card
  -a        --autofill         Use external memory card if internal full
  -F x      --folder x         Transfer song(s) into folder of index=x
  -f name   --fontname name    Set the fontname to be used on the Rio display.
  -n x      --fontnumber x     Set the fontnumber within the given 
                               .fon file set with -f

Miscellaneous options:

  -v  --version     Output version info.
  -h  --help        Output this help.

Report bugs to <rio500-devel@lists.sourceforge.net>.


$ rio_del_song -help

usage: rio_del_song [OPTIONS] <folder/song1> . . . <folder/songN>

 [OPTIONS] Try --help for more information

 <folder/songN> is the index or name of the folder/song you
 want to erase.

Input options:

  -F x      --folder x         Delete song(s) from folder of index x
  -x        --external         Delete from external memory card
  -a        --automatic        Deletes without prompting
  -w        --wholefolder      Treats arguments as folder names/indices
                               Will delete entire folder at once
  -b        --byname           Use folder/song names instead of indicies
                               Names should be names as shown on the
                                Rio500

Miscellaneous options:

  -v        --version          Output version info.
  -h        --help             Output this help.

Report bugs to <rio500-devel@lists.sourceforge.net>.


$ rio_font_info --help

Usage: rio_font_info file

Miscellaneous options:

  -v  --version     Output version info.
  -h  --help        Output this help.

Report bugs to <rio500-devel@lists.sourceforge.net>.


$ rio_format --help

usage: rio_format [OPTIONS] 


 Formats the Rio flash memory, erasing all songs and folders

Input options:

  -a        --automatic        Format rio without prompting
  -x        --external         Format only the external smartmedia card
  -i        --internal         Format only the internal memory
  -b        --both             Format internal memory and external smartmedia card

Miscellaneous options:

  -v  --version     Output version info.
  -h  --help        Output this help.

Report bugs to <rio500-devel@lists.sourceforge.net>.$


$ rio_get_song

usage: rio_get_song <song_num> <folder_num> <card_num>

 <file> is the name of the file whose content
 we want to upload.
 <folder_num> is the index to the folder where it will be put.
 <card_num> is the index of the memory card to use
 card_num=0=internal memory, card_num=1=external memory card


$ rio_stat --help

usage: rio_stat [OPTIONS] 


 Shows Rio statistics, such as:

   Memory free
   Folder Names
   Stored songs
   Song sizes

Input options:

  -t        --terse        Terse rio_stat output

Miscellaneous options:

  -v  --version     Output version info.
  -h  --help        Output this help.

Report bugs to <rio500-devel@lists.sourceforge.net>.

So a standard session to upload MP3s to your Rio500 would look like (without the output):


$ rio_format --both                # to erase any previous songs
$ rio_add_folder int_folder
$ rio_add_folder --external ext_folder
$ rio_add_song --display "%1-%2 (%3)" --autofill --fontname future.fon /my_mp3_dir/*.mp3
$ rio_stat
$ rio_add_song --display "%1-%2 (%3)" --autofill --fontname future.fon /my_other_mp3_dir/*.mp3

You can notice that I have used both memory cards, internal and external as the tools support it.

The standard font directory is located in /usr/share/rio500/fonts. These fonts (and the display format) are only showed on when you have set "Settings/ID3 Info" to OFF (assuming you have the Rio500 firmware v2.15).

At last but not least, you might wonder what does the option "Settings/Startup ANI" on the Rio device does Well, you can find at http://www02.u-page.so-net.ne.jp/ca2/kzmi/rio-tools/rioanim.html, follow the instructions to add a nice splash screen to your Rio500.

24.2 MP3 to Minidisc.

By Afra <afra@prongs.org>

To record MP3s from Linux to your minidisc, there are two methods: analog and digital. Each method is dependant on the type of soundcard your Linux box has. The main difference between analog and digital recordings is the sound quality you achieve during recording. With an analog recording you may hear some static noise/fuzz, although some analog soundcards try to minimize this. Don't think that just because you have an analog sound card that you are doomed, because you are not. This just means you will have to spend a little time trying to minimize the noise by fiddling with mixer settings.

No special software is required, just a regular MP3 player for your Linux box. Basically both methods will require a connection from your soundcard's output to your Minidic's input.

Analog Recording

If your soundcard does not have a "Digital Out" connection, you may will have to go via the analogue recording route.

To record an MP3 from your Linux box onto your Minidisc, connect an analog chord from your sound card's Line Out to your Minidisc's Line In input. Set your Minidisc in the recording mode as you usually would and play the MP3. You should see the recording levels on your Minidisc rise. Upon playback, you may notice a small or large amount of static noise, which is due to your soundcard.

To minimize the static noise during recording, keep your Minidisc's recording/volume levels within the -3dB and 0dB range. To help clear up the noise you may hear connect up your Minidisc as described above and turn on the Recording Mode but do not play an MP3. You should still hear the noise and this may help in fiddling with your mixer effects.

Digital Recording

You will experience better sound quality with digital recording. Connect your optical cable (if you have to buy one, the sizes of the MD and card port matter, usually 3.5mm but check your soundcard and Minidisc user manual) to your sound card's Digital Out.

The cable should now be glowing on the other end - good. Now, connect the glowing end to your minidisc Digital Input. Set your minidisc in record mode and play the mp3 from the computer.

Playlists

There is one problem when playing MP3 tracklistings: how will your Minidisc know when to set an automark when a track jumps onto another (ie. change track numbers automatically)? The solution is this MP3 file which you can download at http://www.prongs.org/minidisc/2sec.zip.

You may use this file, which is an MP3 file containing 2 seconds of silence, to insert before each MP3 on your playlist, so the MD will know when to automark.


Next Previous Contents