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 :)
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.)
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 :
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.
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.
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.
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.
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.
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.