2004 / FunkyMD - MiniDisc titling with Linux

FunkyMD - Minidisc titling with Linux

This project provides tools for titling, recording and editing MiniDiscs using a portable Sony minidisc recorder and a self-made interface for the parallel port. FunkyMD is currently maintained by Thomas Perl and was inspired by Lionel Pawlowski's MDCOM interface. FunkyMD is based on MDECK, the original MS-DOS utility for controlling the MDCOM interface. You can find a MDECK binary and the source here.

Project status

FunkyMD is now in a usable state, it has good titling capabilities and also has the ability to record audio files to MiniDisc plus titling! Scheduling some recording and recording songs from MiniDisc to your computer is also possible. (SF.net Project page)


Titling Demonstration on a Sony MZ-R70

Hardware overview (Parallel port interface)


I've uploaded some photos of the Parallel port interface hardware, of the remote connector and the board in detail to PicasaWeb. You can find all photos here: FunkyMD on PicasaWeb


The latest version is always available via subversion at https://funkymd.svn.sourceforge.net/svnroot/funkymd/trunk.


FunkyMD is based on my MDECK utility for MS-DOS, which was the first attempt at controlling the interface through the parallel port. You can now download the MDECK source code here: mdeck.zip.

A pre-compiled binary for DOS can be found here: mdeck-bin.zip.

News and Updates

2009-07-14 10:44am: I have now sold the only FunkyMD hardware interface that I have built and some spare parts that were needed in case I wanted to build a second one.

Andreas M. is now taking care of the hardware. Maybe he will continue developing FunkyMD in the future. Since FunkyMD was released and my MD recorder started to malfunction, I have had an iPod mini, which now in 2009 is also not really something to desire. I'm happily using my mobile phone as an MP3 player these days without the need for a dedicated device (I am only "consuming" media these days, not so much recording).

[Photo of the sold hardware]

Update 2008-06-16, FunkyMD 0.6 released

This new release does not add any new features, but makes FunkyMD compilable on newer systems, because the header files have changed a bit (asm/io.h and sys/io.h). This release has also been tested on an MZ-R70 and has been successfully used to title MDs, so the code still works on newer machines with parallel ports.

To get the best possible titling results, use a battery in your MD player and disconnect both headphones and the AC power. This way, there is no interference, and titling works without problems. If you have headphones or AC power plugged in, there might be some problems with titling accuracy.

Update 2007-04-26, FunkyMD 0.5 released

There has not been any update for about a year now, and I'm happily using an iPod mini for all my portable music needs. I have, however, added some improvements during the last year that were not published yet, so I thought I'd roll another release and move the codebase to SourceForge's SVN services. Changes since 0.4 include: readline support, refactoring.

This release should be helpful for people that already own a MiniDisc recorder and the interface (or are ready to build it), but I can just recommend other MP3/OGG players to everyone else (if all you want to do is just listen to music, it's a different story for recording, though).

Update 2006-05-01, FunkyMD 0.4 released

FunkyMD 0.4 has been released, and some minor bugs have been fixed. You can read about the changes here: FunkyMD 0.4 release notes. I've tested this release with a Sony MZ-R70 and it works well so far. This release also has got the gFunkyMD (Java-based GUI) removed, because it was old and unmaintained. Hope you're having fun with this release and maybe there's something FunkyMD-related coming sometime in the future. For now, this is the latest stable release, and the first release since 2004. Enjoy.

Update 2006-02-16, MiniDisc recorder broken

I've got an Apple iPod for about a year now, because my MZR-900 doesn't want to write data to my minidiscs anymore (write head malfunctioning), so I've not made progress on improving FunkyMD. I'm planning to document FunkyMD source better and maybe I'll get my hands on a minidisc recorder again in the future.

Unfortunately, the new HiMD technology seems crappy for it doesn't allow us to access our music and recordings from inside Linux. Having minidisc (and HiMD) technology in Linux would be wonderful, but it's not the way it is, and so it's better to stay with the iPod, which is very well supported under Linux and doesn't lock your music. Too bad you can't record audio on an iPod mini..

How does it look like?

The most important part of FunkyMD is the hardware interface, which connects the computer's parallel port to the wire remote port on your portable Sony minidisc recorder. As you see, I've put my hardware interface into a small semi-transparent red box, which makes it look quite nice on my desk.

[Photo: FunkyMD Hardware interface board]
[Photo: The hardware interface in a box]
[Photo: MZR-900, connected to hardware interface, connected to parallel port]
[Photo: Titling on the MZR-900]
Build the interface, put it in a small box, connect it and finally title your discs..

Building the hardware interface (MDCOM)

It's quite easy to build the hardware interface yourself. Just take a look at the following site which provides a guide on how to build your own interface. I won't go into describing the whole process again, as I've followed these instructions for my interface too.

MDCOM building instructions can be found here: l.pawlowski.free.fr/mdcom


  • Sony portable minidisc recorder*) with remote control port
  • MDCOM hardware interface (you can build it yourself!)
  • Linux machine with standard IBM PC parallel port

*) FunkyMD is known to work with Sony MZR-900 and MZR-70, but should work with others too.

The FunkyMD Suite Tools Collection

The tools included with the funkymd package are shell scripts which communicate with sox and funkymd to do certain tasks for your MDs. This could be easily extended, as it is not hard to do these tasks with the help of funkymd.

funkymd-md2file (Record audio from MiniDisc to a WAV file)

By hooking up the line out of your MiniDisc recorder to the line-in (or mic-in) of your soundcard, you can easily transfer audio data from your MiniDisc recorder to your computer. md2file makes it easy to synchronize the start of the recording by starting playback and recording together. You can later edit the recording using (for example) wavbreaker.

funkymd-mdrecord (Record audio files to MiniDisc)

This is probably the most-used funkymd tool around (it surely was for me). You specify audio files (OGGs, MP3s, WAVs and all that sox can handle) and mdrecord will take care of recording and titling all the tracks - just hook up the line-out (or spk-out) of your soundcard to the line-in of your MiniDisc recorder and get going :)

funkymd-mdschedule (Schedule recording of MiniDisc)

mdschedule can be thought of as a recording timer for your MiniDisc recorder. All it does is sitting there and waiting for some time to come - the time you specified on the command line. This is useful for recording a radio show (stereo receiver line-out goes to minidisc recorder line-in) at some time where you cannot start the recording manually. I used this to record a radio show at 22.00 on Saturdays, when I am usually not at home.

funkymd-mdtitle (Title already recorded MiniDisc)

mdtitle is used when you have an already recorded Minidisc, and now want to title it using funkymd. You just give the disc name as first parameter and a file as second which will be read for track titles: every line contains a title of a track. Titling is fully automatic.


There are quite a few other sites related to either MiniDisc or MiniDisc titling/editing under Linux.

July 16th, 2008