Hi All, I figured I share what I have done, perhaps it helps someone who wanted to do the same thing. So I recently decided to save my old recordings to a large hard drive with as little as possible loss. I wanted to save the Audio Content as WAV file to prevent additional content loss. Later I would still have the option to convert to MP3 or other format if needed. So I went on e-bay and bought for little money a MDS-JE510 for that purpose since I have a larger task to complete ( some 200 MD's) and would not want to tie up my living room setup with this effort. What I wanted was to have a fully automated conversion process in which I only have to insert a new MD once in a while. For this setup I used the following devices.: A SONY Laptop Penti II with Windows 98 a ROLAND digital Interface EDIROL a Behringer SCR2000 Digital Interface with SCMS 'handler' (optional) a Behringer SNR2000 Analog Noise Reduction (optional) a SONY MDS-JE510 EasyTitle and for Software I used Sound Forge 6.0 and for the automation part some scripting software from Acrasoft called Gound Control. Microsoft Excel came in handy as well for some pre-formating the data files. Below you can find the script I wrote to run this process. I did not really care much for clean programming, so please excuse that. Also note, depending on the computer speed some delays may vary. I chose 50ms key delay and 15ms execution delay in the System Settings Menu of Ground Control. I was also working with plain text files, which contain play time and artist - title information. The playtime data file (playtime.txt) has the format: MD#, Track#, Playtime in seconds 0,1,322 0,2,349 0,3,738 0,4,413 0,5,210 0,6,355 0,7,400 0,8,444 0,9,405 1,1,32 1,2,131 1,3,175 1,4,175 1,5,193 1,6,113 1,7,287 1,8,255 1,9,135 1,10,141 1,11,217 1,12,212 1,13,96 1,14,165 while the Artist data files (MDxx.txt) are as follow: MiniDisc # 3 - Groove Zone Volume 4 1) Janet Jackson & Luther Vandross - Best things in life are free (Extended) 2) Alexander O`Neal - Criticize (Single) 3) Atlantic Starr - Where M.... (Single) 4) Midnight Star - One Life to live (Single) . . . Cheers KCT // Input MD Number and then find out how many Tracks are on this MD // ************************************************************************ InputBox("Enter Minidisc Number",%MD_Num) PutVar(%FileName,"C:\md_DOS\ok\") AddString(%fileName,%md_num) AddString(%filename,".txt") // ************************************************************************ InputBox("Enter Track Number to start with",%ST) // readlines out of MDxx.txt into variable %B, and display total_lines in %A PutVar(%a,0) OpenFile(1,%filename) :Loop If(ReadLine(1,%,DoNothing(),Goto(":Exit1")) Increment(%a) Goto(":Loop") :Exit1 CloseFile(1) // subtract 1st line from line count Subtract(%a,1,%a) // ************************************************************************ // Run Sound Forge RunProgram("C:\Program Files\Sonic Foundry\Sound Forge 6.0\forge60.exe",Normal) // ************************************************************************ Delay(2000) // Run Terminal RunProgram("C:\WINDOWS\Desktop\HyperTerminal\Computer2Computer.ht",Normal) // ************************************************************************ // Find Play Time of first Track GetStringLength(%MD_Num,%MD_num_length) OpenFile(2,"C:\md_DOS\ok\PlayTime.txt") :Loop3 If(ReadLine(2,%c),DoNothing(),Goto(":Exit3")) Left(%c,%MD_num_length,%MD_play_time) If(Equals(%MD_num,%MD_play_time),GoTo(":Exit3")) Goto(":Loop3") :Exit3 Subtract(%ST,1,%Trk_num) Repeat(ReadLine(2,%c),%Trk_num) GetStringLength(%c,%len) Subtract(%len,%MD_num_length,%len) Subtract(%len,3,%len) If(MoreThan(%len,"3"),Subtract(%len,1,%len)) Right(%c,%len,%Play_time) // ************************************************************************ // open MD file again and skip first line // readlines out of MDxx.txt into variable %Audio_File_Name, and Track Number in %Trk_num OpenFile(1,%filename) If(ReadLine(1,%MD_label),DoNothing(),Goto(":Exit2")) Repeat(ReadLine(1,%MD_label),%Trk_num) :Loop2 If(ReadLine(1,%Audio_file_name),DoNothing(),Goto(":Exit2")) Increment(%trk_num) // Here goes the meat of setting up the MD player and controlling Sound Forge // prepare Recording GoSub(":Setup_MD") GoSub(":Setup_SF") GoSub(":Record") // set Timer with Track Time TimeoutMessageBox("... please wait ...",%Play_time,Information) Delay(250) MinimizeWindow("MD_Copy_2_HD.gc - GroundControl") Delay(250) ActivateWindow("Sonic Foundry Sound Forge 6.0 - [sound 1 *]") // Save as Wave File GoSub(":Save_Wave") // Get Play Time for next track GoSub(":get_play_Time") // Loop until last track on MD GoTo(":Loop2") :Exit2 GoTo(":End") // Subroutines, Goto End before running into these // ************************************************************************ :Setup_SF ActivateWindow("Sonic Foundry Sound Forge 6.0") Delay(2000) // MD prepare PC Recording SendKeys("^r") // PC Recording start, sendkey r after ^r was send // PC Recording stop, sendkey spacebar Return() // ************************************************************************ :Setup_MD // MD prepare Play Track ActivateWindow("Computer2Computer - HyperTerminal") Delay(250) // Send Command - MD Program SendKeys("[:079f") Delay(250) // Send Command - MD Track depending on trk_num If(Equals(%trk_num,1),SendKeys("[:0780")) If(Equals(%trk_num,2),SendKeys("[:0781")) If(Equals(%trk_num,3),SendKeys("[:0782")) If(Equals(%trk_num,4),SendKeys("[:0783")) If(Equals(%trk_num,5),SendKeys("[:0784")) If(Equals(%trk_num,6),SendKeys("[:0785")) If(Equals(%trk_num,7),SendKeys("[:0786")) If(Equals(%trk_num,8),SendKeys("[:0787")) If(Equals(%trk_num,9),SendKeys("[:0788")) If(Equals(%trk_num,10),SendKeys("[:0789")) If(Equals(%trk_num,11),SendKeys("[:07c0")) If(Equals(%trk_num,12),SendKeys("[:07c1")) If(Equals(%trk_num,13),SendKeys("[:07c2")) If(Equals(%trk_num,14),SendKeys("[:07c3")) If(Equals(%trk_num,15),SendKeys("[:07c4")) If(Equals(%trk_num,16),SendKeys("[:07c5")) If(Equals(%trk_num,17),SendKeys("[:07c6")) If(Equals(%trk_num,18),SendKeys("[:07c7")) If(Equals(%trk_num,19),SendKeys("[:07c8")) If(Equals(%trk_num,20),SendKeys("[:07c9")) If(Equals(%trk_num,21),SendKeys("[:07ca")) If(Equals(%trk_num,22),SendKeys("[:07cb")) If(Equals(%trk_num,23),SendKeys("[:07cc")) If(Equals(%trk_num,24),SendKeys("[:07cd")) If(Equals(%trk_num,25),SendKeys("[:07ce")) If(MoreThan(%trk_num,"25"),MessageBox("Track more than 25 !!!!")) // Send Command - MD Pause Delay(250) SendKeys("[:07a9") MinimizeWindow("Computer2Computer - HyperTerminal") ActivateWindow("Sonic Foundry Sound Forge 6.0 - [sound 1 *]") Return() // ************************************************************************ :get_play_Time If(ReadLine(2,%c),DoNothing(),Goto(":RTN")) Left(%c,%MD_num_length,%MD_play_time) GetStringLength(%c,%len) Subtract(%len,%MD_num_length,%len) Subtract(%len,3,%len) If(MoreThan(%len,"3"),Subtract(%len,1,%len)) Right(%c,%len,%Play_time) :RTN Return() // ************************************************************************ :Save_Wave ActivateWindow("Sonic Foundry Sound Forge 6.0 - [sound 1 *]") Delay(700) // stop recording SendKeys("r") Delay(5000) SendKeys("(%{F4})") // save as wav Delay(100) SendKeys("(%f)") Delay(1500) SendKeys("a") Delay(500) SendKeys("MD_") Delay(500) SendKeys(%MD_Num) Delay(500) SendKeys("_Trk_") Delay(500) SendKeys(%Audio_file_name) Delay(500) SendKeys(".wav") Delay(500) SendKeys("(%s)") Delay(500) // wait for save as wav to complete ActivateWindow("MD_Copy_2_HD.gc - GroundControl") // calculate best time for waiting while saving file (depending on computer HD speed may vary) Multiply(%play_time,170,%ANS) Multiply(%play_time,100,%pl_tmp) Subtract(%ANS,%pl_tmp,%ANS) Divide(%ANS,100,%ANS) TimeoutMessageBox("File been saved, please wait ...",%ANS,Information) // close SF SendKeys("(%F)") Delay(500) SendKeys("c") Delay(500) SendKeys("(%{F4})") // wait for 2 s Delay(2000) // reset MD player ActivateWindow("Computer2Computer - HyperTerminal") Delay(100) SendKeys("[:079d") Delay(500) MinimizeWindow("Computer2Computer - HyperTerminal") // Run Sound Forge again RunProgram("C:\Program Files\Sonic Foundry\Sound Forge 6.0\forge60.exe",Normal) Delay(2000) Return() // ************************************************************************ :Record ActivateWindow("Sonic Foundry Sound Forge 6.0") // record Delay(500) SendKeys(" ") // play MD ActivateWindow("Computer2Computer - HyperTerminal") Delay(100) SendKeys("[:07aa") MinimizeWindow("Computer2Computer - HyperTerminal") Return() // ************************************************************************ // Close open Files :End CloseFile(1) CloseFile(2) // ************************************************************************ // Terminate Application ActivateWindow("Sonic Foundry Sound Forge 6.0") Delay(500) SendKeys("(%{F4})") Delay(500) ActivateWindow("Computer2Computer - HyperTerminal") Delay(500) SendKeys("(%{F4})") Delay(500) SendKeys("y") // ************************************************************************ // Copy Files :DOS Delay(5000) ActivateWindow("Exploring - My Documents") Delay(500) SendKeys("^a") Delay(500) SendKeys("^x") Delay(500) SendKeys("{TAB}") Delay(500) SendKeys("h:") Delay(500) SendKeys("~") Delay(500) SendKeys("{TAB}") Delay(1500) SendKeys("{TAB}") Delay(500) SendKeys("{DOWN}") Delay(1500) SendKeys("(%F)") Delay(2000) SendKeys("n") Delay(2000) SendKeys("f") Delay(2000) SendKeys("MD_") Delay(500) SendKeys(%MD_num) Delay(500) SendKeys("~") Delay(2000) SendKeys("~") Delay(500) SendKeys("^v") :finish