ChildOfCv Posted March 30, 2021 Share Posted March 30, 2021 The tape recorder's speaker output likely expects to be plugged into an 8 or 16 ohm speaker, so the TI-99 is apparently set up to match impedance. It has the input pin going through a choke, then a 15 ohm resistor to the input return pin. So that's where your 15 ohm reading comes from. So yeah, you need an output amplifier that is capable of driving a speaker directly rather than a powered speaker, to get a good signal to the TI-99. As others have mentioned though (but maybe replacing the drive belt will be enough), you can isolate the record vs playback process using a digital recorder to record your TI-99 save. Once it's recorded to a .WAV, you can use a program to decode it to a file. This project is a Python program that claims to do it. Then you can try playing back a known good .WAV into the TI (using a powered amplifier, of course... maybe a home stereo with its output wired into the DE9 plug). Quote Link to comment Share on other sites More sharing options...
mike_z Posted March 30, 2021 Author Share Posted March 30, 2021 You know, I saw that Python program on GitHub, but am unsure of how to use it. I've used Python on an Arduino and Raspberry PI. DO I need Python on my PC to run the program? Have you tried this software? Mike Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted March 31, 2021 Share Posted March 31, 2021 3 hours ago, mike_z said: You know, I saw that Python program on GitHub, but am unsure of how to use it. I've used Python on an Arduino and Raspberry PI. DO I need Python on my PC to run the program? Have you tried this software? Mike I haven't personally tried it, but yeah you'll need a Python interpreter on your PC to run it. You can find a Windows version at https://www.python.org/downloads/windows/ Quote Link to comment Share on other sites More sharing options...
Ed in SoDak Posted March 31, 2021 Share Posted March 31, 2021 A couple other threads on the general topic of recorders. I know I sound like a tape loop, repeating my meter-dongle mantra but there's lots of good comments. https://atariage.com/forums/topic/278341-calibrating-cassette-players-with-a-multimeter-for-old-computers/?tab=comments https://atariage.com/forums/topic/307408-new-cassette-recorders/#comments 1 Quote Link to comment Share on other sites More sharing options...
RickyDean Posted March 31, 2021 Share Posted March 31, 2021 3 hours ago, Ed in SoDak said: A couple other threads on the general topic of recorders. I know I sound like a tape loop, repeating my meter-dongle mantra but there's lots of good comments. https://atariage.com/forums/topic/278341-calibrating-cassette-players-with-a-multimeter-for-old-computers/?tab=comments https://atariage.com/forums/topic/307408-new-cassette-recorders/#comments I was thinking of this too, don't use a recorder so don't know where these links were, but it's good not to rehash this again. Quote Link to comment Share on other sites More sharing options...
mike_z Posted March 31, 2021 Author Share Posted March 31, 2021 Star, this morning I downloaded python 3.8.8. This is not the newest version, but the latest version of python that will run on WIN7. I downloaded the TI99 decode file and tried to run it. An error occurred saying I need PyAudio. It took a while to figure out which PyAudio I needed. pyaudio-0.2.11-cp38-cp38-win-amd64.whl. The cp refers to the python version. I downloaded a few others prior to learning this and received plenty of errors. Eventually I got pyaudio installed and python would run. I tried the program ti99_4a_tape_decode.py first.wav ---- this resulted in another error that appears to be a program attribute error. There is no append attribute to some program object. Seems there are a lot of road blocks here. I don't know python that well to understand this. I'll take some time to look at it, it says it is at line 754. Mike Quote Link to comment Share on other sites More sharing options...
mike_z Posted March 31, 2021 Author Share Posted March 31, 2021 (edited) Here is the area where the error occurs. Line 754 parser.add_argument( '--profile', dest="profile", default=DEFAULT_PROFILE, choices=profiles.keys().append('?'), <-- line 754 metavar='P', help="Use given decoder configuration profile. Use '?' to get " "a list of available profiles. Default: " + DEFAULT_PROFILE) Python is complaining about the append. Stating that keys() doesn't have an attribute called append. Mike I also see that keys() is only mentioned twice in the code. Line 754 and 778. Edited March 31, 2021 by mike_z Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted March 31, 2021 Share Posted March 31, 2021 Wow, that's some bad programming, even for the "correct" version of Python (my guess is 2.x). The line would need to look like this: parser.add_argument( '--profile', dest="profile", default=DEFAULT_PROFILE, choices=list(profiles.keys()) + list('?'), metavar='P', help="Use given decoder configuration profile. Use '?' to get " "a list of available profiles. Default: " + DEFAULT_PROFILE) Quote Link to comment Share on other sites More sharing options...
mike_z Posted March 31, 2021 Author Share Posted March 31, 2021 Star, this code was posted on GitHub 4 years ago, so maybe it is Python2. I'm aware that Python 2 and Python3 are not the same and 3 may not run 2. I wonder if I need to try and run this code with Python2. Thanks for the help, Mike. Quote Link to comment Share on other sites More sharing options...
mike_z Posted March 31, 2021 Author Share Posted March 31, 2021 I downloaded Python 2.7.12 and the pyaudio for cp27. I could get Python loaded and could run it, but for some reason I could not load the module pyaudio. I uninstalled both 2.7 and 3.8 and started over, but I've been struggling all afternoon getting Python 2.7 installed with pyaudio. Time to give up for today, Mike Quote Link to comment Share on other sites More sharing options...
mike_z Posted March 31, 2021 Author Share Posted March 31, 2021 Just for grins, I downloaded 2.7.10 and 2.7.18 and tried them. Get the same syntax error when I try and install the module pyaudio. Rats. Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted March 31, 2021 Share Posted March 31, 2021 Yeah older Pythons used to present the list of keys of a dictionary as a "list" type, but now they present it as a "dict_list" type. The latter is not modifiable, so that's why I used the list() function, to make it a proper list. Then the '+' operator can concatenate two lists. But the 'append' function never returns anything. It just adds the appended value to the list. So that was never appropriate. Quote Link to comment Share on other sites More sharing options...
mike_z Posted April 1, 2021 Author Share Posted April 1, 2021 This morning, I tried to load Python 2.7.18, this worked, but could not load PyAudio, kept getting a syntax error. So, I tried the same procedure on a different Windows 7 machine. For some reason, on this second machine, everything worked first try. Sometimes computers can really baffle me. Went back to the original Win7 machine and the same error........ Back to the TI99. I made a short 5 line basic program and tried to save it using my Audacity program. Made three copies and transferred them to the 2nd Win7 machine. Loaded up the files and tried the tape decode program. It worked was the good news, the bad news is that the recording is bad. This is the response of the tape decode program 607415: Training COmplete, symbol len. = 31.9875 791876: Successfully parsed header: rec count = 1 810812: WARNING: record 1a incorrect checksum 830162: WARNING: record 1b incorrect checksum 830162: ERROR: Record 1 both primary and secondary records corrupted 830162: ERROR: data received bu corrupt 830162: -------------------------------- The second recording was similar, but included a syncronization error. Another recording with more records had all four records bad. Then the last recording reported Header record count mismatch. This seems to imply that the records, without regard to the method (cassette or Audacity) results in a bad recording. This is in line with the inability of reading them. Can I believe this? I'd like to have a wave file recording that I know works. Can anyone make a short TI99 wave file recording using Audacity and email it to me. I'd like to try a known good recording on the tape decode program. In every run of the tape decode program, using my recording, it only reported errors and never made a TAPE_xxx.dat file. I appreciate your efforts, thanks, Mike Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted April 1, 2021 Share Posted April 1, 2021 The really disgusting part there is that you only need PyAudio if you are analyzing data straight from the sound card. If opening a file, it's completely unnecessary. It might also help to know if your recording is clipping. That will ruin your day too. Quote Link to comment Share on other sites More sharing options...
mike_z Posted April 1, 2021 Author Share Posted April 1, 2021 Star, the Audacity recording has a low volume setting. At least the graphic it provides indicates no clipping. The Audacity program allows me to amplify the signal if necessary. Maybe the next test is to increase the volume a db or so at a time. Let you know, thanks for the help. Mike Quote Link to comment Share on other sites More sharing options...
mike_z Posted April 1, 2021 Author Share Posted April 1, 2021 I made a bunch of recording, ranging from -18db to 0db. Then tried to use the tape decode program on all of them. The program reported that it successfully parsed the header and found 2 records, but sync failed on record 1a and all records were corrupt. So it appears that the volume needed for the tape decode program needs is not that important. Mike Quote Link to comment Share on other sites More sharing options...
mike_z Posted April 2, 2021 Author Share Posted April 2, 2021 Well..... I'm out of ideas on solving this problem. So I ordered a TMs9901 from ebay. Maybe a stab in the dark is worth the effort. Let you know, Mike Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.