Sony Walkman meet Linux

A while back I got the itch for a new MP3 player, seeing everyone else seemed to have those little white rectangle things and white wires leading up to their ears. My RCA Lyra, the first one produced, had served me well but was starting to show its age. (It is okay to laugh, just call me a frugal gadget geek.) Actually this was somewhat fueled by a change in jobs that put me in an environment I felt I could occasionally listen to music at work.

Note: The Sony Walkman here-in mentioned is not supported by Sony with the Linux OS. The packaging fairly screams 'Windows only'. What follows are my opinions, experiences, and things I've done. Follow my steps at your own risk. Also, even though this is posted on April 1st, it is not a joke or a spoof.

Anyway, long story short I wasn't interested in that white rectangle thing or many of the other players out there. Then I ran across an entry on Engadget for the (then) upcoming Sony Walkman NWZ series and was interested enough to put it on my Christmas list. Lo and behold, guess what showed up under the tree - a NWZ-A815. Yes, that model only has 2 gig of storage space but that's been fine with me. At the moment I have 195 mp3s and 5 video podcasts, 2 of which are a bit large, with a bit of room still left.

When I initially connected it to my desktop I thought either the unit was busted or they had something weird going on where it would only work with Windows (as per the packaging). Idiot me had plugged it into a USB 1.1 port and all was well when I plugged it into a USB 2.0 port. DBUS detects it, KDE pops up asking to open, and away we go (this is on Fedora 7). About the only oddity is KDE using the camera icon for it, but hey.

I did have one other issue initially where copying large amounts of files didn't copy them in their entirety. Yes, I would do the 'safely remove' but it would also seem to disconnect and reconnect at times. When I manually mounted it with:
# mount -o noatime,noauto,sync /dev/[device]1 /[mount_point]
things went fine. However there was also an update to dbus about the same time. Since I prefer the 'noatime' and 'sync' options for some of my USB drive devices, I did add an entry to '/etc/fstab' along the lines of:
/dev/[device]1 /[mount_point] auto user,pamconsole,noatime,noauto,sync,umask=077 0 0
Yet I only did that on my F7 desktop. My F8 laptop does not have this entry and I've had no issues with the connection on it.

Specific file music formats supported, as listed in the manual, are: MP3 (MPEG-1 Layer 3), ASF, MP4, Wave-Riff; and the detailed list of music codecs then follow: MP3, WMA, AAC-LC (excluding copyright protected), Linear PCM. For video the specific file formats listed as supported are: MP4, "Memory Stick"; and the detailed list of codecs follow as: Video - AVC (H.264/AVC), MPEG-4; Audio - AAC-LC. It supposedly can display JPEG photos too, in DCF 2.0/Exif 2.21 file formats [I've not tested this].

When you get the unit's drive mounted you'll see a few directories already there. The ones for content are 'Music', 'Picture', and 'Video'. Just drop the corresponding content, of the right format, into the matching directory name. When you unplug, after properly unmounting or 'safely remove', it rechecks what it has and makes it available.

Under the directory 'Music' you can create additional folders. I've been using this in lieu of playlists, which I am guessing the ones it wants are in the Windows Media format. The device itself has several built-in playlists - year, genre, album, artist. I only use the additional directories for custom 'playlists' not otherwise covered by those. One thing I rather like is when a song is playing and it displays the information you can select a section and switch to that type of playlist. For example if I had originally selected the 'year' playlist option and a song came up of a specific genre I just use the directional buttons to highlight the genre information and hit 'play' to switch to a playlist of that 'genre'. This YouTube video will give you the idea.

Only recently have I been playing with watching video on it. After digging around some forums on converting video to watch on one of those white rectangle things or the PSP, I've settled on primarily using 'mencoder' when needed. Luckily many video sites that offer downloads in that white rectangle device's format do it such that it will also work with this Walkman. [Funny thing is the LinuxJournal video podcast won't work, just for example.] With mencoder version 1.0rc1-4.1.2 I primarily use the following command for conversion:

$ mencoder -ofps 25 -of lavf -lavfopts format=mp4:i_certify_that_my_video_stream_does_not_use_b_frames \
-af lavcresample=48000 -srate 48000 -vf-add harddup \
-vf-add scale=320:240 -oac lavc -ovc lavc -lavcopts \
aglobal=1:vglobal=1:acodec=aac:abitrate=128:vcodec=mpeg4:vbitrate=250:autoaspect:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:precmp=2:cmp=2:subcmp=2:preme=2:turbo \
-quiet -info name="[Name_to_display]" \
-o [output_name].mp4 [video_file_to_read]

The following mencoder set of options work on some files, runs a little quicker but produces slightly larger files:

$ mencoder -ofps 25 -of lavf -lavfopts format=mp4:i_certify_that_my_video_stream_does_not_use_b_frames \
-af lavcresample=44100 -srate=44100 -vf-add harddup \
-vf-add scale=320:240 -oac lavc -ovc lavc -lavcopts \
aglobal=1:vglobal=1:acodec=aac:abitrate=128:vcodec=mpeg4:vbitrate=384:keyint=25 \
-quiet -inf o name="[Name_to_display]" \
-o [output_name].mp4 [video_file_to_read]

I have had some success using FFMpeg with converting AVI files, but not with WMV files, using the RPM package ffmpeg-0.4.9-0.8.20070530.fc7 and this command:

$ ffmpeg -passlogfile "Log" -vcodec h264 -coder 0 -s 320x240 \
-acodec aac -ac 2 -ab 128k -f mp4 -title "[Name_to_display]" \
-i [video_file_to_read] [output_name].mp4

What I'd like to do next is develop a script to copy the newest video downloads from a podcast RSS client, convert if necessary, and have the files ready to be copied over. I have not yet tried using Amarok to copy music files over, either.

Tip: Having a conflict with libdts.so.0 and the libdca RPM? Without libdts.so.0 the xine-lib-extras-nofree.rpm from livna won't install. That xine package is needed so Amarok can play mp3s (or use RealPlayer). However, the F7 freshrpms repo has a new libdca.rpm that doesn't have libdts.so.0. To fix:

  • Remove the newer libdca.rpm:
    # yum remove libdca
  • Install libdca.rpm from livna:
    # yum --disablerepo=updates --disablerepo=freshrpms install amarok-extras-nonfree
  • Make a copy of libdts.so.0:
    # cp [path]/libdts.so.0 /[somewhere]/[safe]/
  • Update to the newer libdca.rpm:
    # yum update libdca
    or exclude libdca from '/etc/yum.repos.d/freshrpms.repo'
  • Copy libdts.so.0 back to its original location.

[If any of the above looks similar to a certain Amazon review, that's because it is my review.]

Using NWZ-S544... Rhythmbox

I'm successfully using Rythmbox for all audio copying with this device. It works smoothly and quickly. I find that the player is very nice as well.