Before I get into the main purpose of the topic, here's some preamble, because I know people find it interesting to hear about each other's experiences. I've gotten back into recording Minidiscs again after a very long time and wanted to document the process of making it less of a pain in the ass.
With that out of the way, let's talk about the MDS-B5 and why I'm so happy to record on it despite it not having the new Type R DSP that my MZ-N707 has (it does have dual ATRAC chips though - does anyone know if the MDS-B5 actually uses those in tandem to improve encoding quality or if it's just for other functions?). I don't have too much complaints about the recording quality though, and the robustness and interface make it a much more enjoyable process.
Along with the issue of titling, one of the most frustrating things about recording to MD from a PC (when you want full quality SP recordings) is the lack of track marks. Normally if you record from a CD player using the optical output, the track marks are preserved. You just get a continuous output from a PC.
I'm aware of hacks to trigger the appropriate button on a remote input on some portables for example, but no such hack is required for the MDS-B5, as it has RS232 control! This is the route I decided to go down, and it turned out in the end to be quite easy to do once I'd found the right pieces of the puzzle.
I've always been a Winamp fan, it used to be foobar2000 vs Winamp back in the day. I never used foobar2000 much before now. It turned out that foobar2000 was the winner for this project though, so here's how I chose to solve the problem under Windows. I'm aware of different methods to write to serial ports, and I'm also aware of different approches I could have taken with regard to OS and software choice. This is just one way.
I'm using a generic Prolific PL2303 USB to Serial adapter for this. Open the Windows device manager and check what COM port it is using (example COM3).
Download links are at the bottom of this post. If you're reading this years into the future, you may have to do some digging if the original links are broken.
Download and install foobar2000.
Install the foo_scheduler plugin.
Install the foo_channel_mixer plugin.
(Optional) Install the foo_out_asio componenmt (more on that later).
Download and install NirCmd to a suitable folder (e.g. C:\bin\).
Download SerialSend.exe and place into a suitable folder (e.g. C:\bin\).
foobar2000 DSP Configuration
It was my personal preference to disable any Replay Gain. The Channel Mixer DSP is required to delay the output signal to compensate for the delay of issuing commands via RS232, without doing this, the track starting points are very slightly too late.
Under Preferences: DSP Manager, move Channel Mixer into the Active DSPs list.
Press the '...' to enter the Channel Mixer configuration.
Under General, Channels Selection, set Output channels to 2.
Under Delays, tick Use delay and set the Delay (ms) for Front Left and Front Right to 100.000.
foobar2000 Scheduler configuration
This is where the magic happens. We are going to configure the foobar2000 scheduler to execute commands when certain events happen, namely playback start, new track and playback stop.
Enter the Scheduler preferences (can be accessed via the File menu as well as by entering Preferences).
Press the Add button next to the top Event list.
Select Add player event...
Select On playback start.
Press Add again
Select Add player event... then On new track.
Press Add a third time
Select Add player event... then On playback stop.
Tick End-of-file signal.
Under Action lists, press Add.
Name the action something like MD Play
Right click the new action and select Add action -> Launch application.
Enter the following (modify the file paths to match where you installed them and modify the '3' after 'devnum' to match your serial port number (COM3 in this case)):
C:\bin\nircmd.exe exec hide C:\bin\serialsend.exe /baudrate 9600 /devnum 3 /hex "\r\n211\r\n"
Repeat the process again, adding a new action list called MD Track Mark or similar
Enter the following, being sure to modify it as detailed before
C:\bin\nircmd.exe exec hide C:\bin\serialsend.exe /baudrate 9600 /devnum 3 /hex "\r\n41302\r\n"
Repeat the process one final time, this time calling it MD Stop.
Enter the following
C:\bin\nircmd.exe cmdwait 100 exec hide C:\bin\serialsend.exe /baudrate 9600 /devnum 3 /hex "\r\n210\r\n"
In the event list, right click the 'On playback start' event, select Assign Action List -> MD Play.
Assign the 'On new track' event to the 'MD Track Mark' Action list.
Assign the 'On playback stop / end-of-file signal' to the 'MD Stop' action list.
Make sure Scheduler enabled is ticked at the bottom of the window.
Sony MDS-B5 Configuration
I'm going to assume that the few people that own this deck will have an idea of how to operate it but basically just make sure the serial settings are correct.
Hold down Stop and press EDIT / NO.
Scroll through the options using the AMS control to reach F13. Press ENTER / YES and set it to 9600 baud.
Set F14 to Parity Off.
Set F15 to Stop Bit 1.
Recording a Minidisc
Put the tracks into the foobar2000 playlist. Make sure the audio output and volume settings etc are correct. See my notes about ASIO below.
Press the REC button on the deck to put it into recording standby.
Press the play button in foobar2000.
The track should begin to play in foobar2000 and at the same time the deck should have unpaused and begun recording
When the track advances in foobar2000, the track should also advance (track mark) on the deck.
When the final track in the playlist ends, the deck should stop recording.
Notes on ASIO
I choose to use ASIO on my Focusrite Scarlett audio interface, set specifically to use the S/PDIF output, to avoid certain things, mainly:
Windows audio mixer adjusting levels (for example it's limited to -0.1dB)
Sound from other applications spoiling the audio
I won't go into the detail of how to set up foobar2000 to use ASIO in great detail but basically configure the sample rate to 44.1kHz and set the Custom channel mapping to send audio out of the S/PDIF output.
Notes on titling
Sadly you can't enter titles via the RS232 interface. However, I've settled on using a PS/2 keyboard plugged into the deck and just manually typing the titles (it's fast on a proper keyboard) while doing the first playback after recording to check it recorded successfully. I'm aware I could use WinNmd with my Net MD portable to enter titles but I don't want to install SonicStage and swap discs into the other unit just for that.
Download links at the time of writing
I've spammed out this post in one go, if anyone notices any errors, let me know.