If you have music on a collection of MiniDisc media and want to finally copy the data off onto modern media (or the cloud!), here are simple instructions for some different solutions:
- MZ-RH1 and NetMDPython
- MZ-RH1 and SonicStage
- Analog Copy
- Bonus: Recovering Deleted Tracks
MZ-RH1 and NetMDPython
The best device for digitally dumping MiniDiscs is Sony’s last (and best) MiniDisc recorder, the portable MZ-RH1. Unfortunately, this makes it quite pricy on the used market these days – but you can (and should!) always sell it after you’re done dumping your media…
The NetMDPython set of scripts can copy the original ATRAC1-encoded bitstreams off MiniDiscs. You can run it on Windows, macOS or Linux. I will describe the Linux steps with Ubuntu – I would advise Windows and Mac users to set up a virtual machine with Ubuntu, since this is the most reliable way.
First, you need to make sure that you have Git, Python 2 (with crypto support) and libusb installed:
sudo apt-get install git python2 python-crypto libusb-dev
Then, get the source from the linux-minidisc project:
git clone https://github.com/glaubitz/linux-minidisc.git
The tools are in
Connect your MZ-RH1 to the (virtual) machine, but do not insert a MiniDisc yet. The Linux
usb-storagedriver would claim any inserted media, so that the tools wouldn’t be able to access it any more. Therefore, you need to remove the
sudo modprobe -r usb-storage
Now make sure that the MZ-RH1 shows up:
sudo ./lsusb.py [...] Bus 002 Device 006: ID 054c:0286 Sony Net MD/Hi-MD [...]
If your device is detected, you can list the contents of the MiniDisc like this:
sudo ./lsmd.py Disk (writable media) We Are The Night Time used: 01:09:50+032 (87.14%) 14 tracks 000: 00:01:04+027 sp stereo unprotected No Path To Follow 001: 00:06:33+039 sp stereo unprotected We Are The Night [...]
You can dump the whole media like this:
sudo ./upload.py Storing in We Are The Night Uploading ./01 - No Path To Follow.aea Done: 10000/1a51a0 (3.80%) Done: 20000/1a51a0 (7.60%) Done: 30000/1a51a0 (11.40%) [...]
Converting ATRAC1 Files
The resulting files are in
.aea format, which is the raw data from the MiniDisc, encoded in the ATRAC1 format.
You can convert them to any other audio format using ffmpeg:
ffmpeg -i file.aea file.wav # decompression ffmpeg -i file.aea file.mp3 # lossy recompression ffmpeg -i file.aea file.m4a # lossy recompression
NetMDPython can not dump tracks that are marked “protected”. This includes all tracks on pressed MiniDiscs, tracks that have been copied from a digital master, and tracks written with the PC software (SonicStage).
MZ-RH1 and SonicStage
Sony’s SonicStage software is an iTunes-like application for Windows that can, among many many other things, transfer most tracks from MiniDisc to the PC’s hard disk.
(The last version is 4.3; the screenshots are showing 3.4. I recommend Windows XP; newer versions might work as well.)
- Navigate to the “Transfer” Tab. Your MZ-RH1 should show up in the pane on the right.
- By default, SonicStage will recompress dumped data as ATRAC3+. To make sure you don’t lose any sound quality, press the toolbox icon, select “Advanced…” and “Import Settings”, and set the format for importing non-MDLP tracks to “PCM”:
- Now you can drag and drop tracks from the right pane to the left one. Right clicking a track on the left and selecting “Properties…” will reveal the location of the file in the filesystem.
Converting OMA Files
The resulting files are in OpenMG Audio (
.oma) format, which is Sony’s container format that can contain audio data encoded with one of a number of different codecs. Since we changed the import settings to PCM, they will basically be the same as umcompressed WAV/AIFF files (44.1/2/16), just in a different container.
ffmpeg can also convert
.oma files into any other audio format:
ffmpeg -i file.oma file.wav # lossless container conversion ffmpeg -i file.oma file.mp3 # lossy recompression ffmpeg -i file.oma file.m4a # lossy recompression
SonicStage does not allow dumping the raw ATRAC1-encoded data from the MiniDisc, it always decodes it and stores it in a different format. When decoding to PCM, as shown above, there is no quality loss.
Unlike NetMDPython, SonicStage can dump protected tracks from pressed MiniDiscs, but it also cannot dump tracks that have been copied digitally from a CD, as well as tracks it has written itself – unless it was from the same computer.
If all else fails, you can always make an analog copy of the audio on a MiniDisc. After all, the kinds of MiniDiscs you care about are probably not digital copies of CDs (you should rather find the original CDs then), but recordings from analog sources anyway – so the extra added noise should be negligible.
The most basic way to make an anlog copy is to connect any MiniDisc player to a computer and using https://www.audacityteam.org for recording. Since modern computers have many things going on at once, you might get skips while recording, so you need to make sure that there is as little load on the computer as possible.
If you have an MZ-RH1 and a second MiniDisc player, you could also connect the two and have the MZ-RH1 record the MiniDisc in the second player onto a 1 GB Hi-MD – uncompressed. You can then use SonicStage or the platform-independent QHiMDTransfer to copy the file(s) over.
The nicest solution is the
dump_md.py script from the NetMDPython project, which can remote-control any NetMD-compliant MiniDisc player (such as the MZ-RH1) and record the analog output through the sound card. This way, the audio will be copied as individual tracks.
Bonus: Recovering Deleted Tracks
MiniDiscs allow arbitrarily deleting tracks, and recording new tracks in their place. This is made possible by the TOC: a global data structure that points to the sections on the media that make up the tracks.
When deleting a track, or the entire MiniDisc, the audio data is not touched, only the TOC is modified. By hacking the TOC, it is possible to access all raw data on the media.
Here are the steps: (This is based on the TOC Cloning trick.)
- Locate your recorder’s door detection switch. On the SHARP MD-MT15, it is here:
- Find a way to keep the switch constantly depressed. In the case of the MD-MT15, you can use part of a toothpick to keep it down.
- Take a spare MiniDisc that is at least the same size (60/74/80) as the one you want to recover.
- Erase the whole spare MiniDisc. (Don’t erase single tracks!)
- Record silence until the whole disk is full.
- Remove the spare MiniDisc and take take the batteries out of the recorder.
- Insert the spare MiniDisc and put the batteries back in. The media should be detected correctly.
- Now replace the spare MiniDisc with the one you want to recover. The recorder should not notice that the door has been opened and will not re-read the TOC.
- Press play. The whole 60/74/80 minutes of raw audio data should now play.