|
|
My Ma just got a teletype (she has about a 90% hearing loss) that she can use with this system to talk to other people over the phone. It involves talking to a 'court reporter' type in the middle who has a similar teletype to bridge from people without to my Ma. The deal is I wanted to talk to her directly with my modem. Problem being that I found out the specs on this teletype, and it is 45.5 buad. I think you can all guess that my modem won't go that slow. You can hear the individual bits when this thing beeps. Anyone know if a 45.5 baud modem could be gotten for the end of an RS-232 cable? Where? How much? Just curious. I guess I could sit down with this thing sometime and listen to it and just whistle into the phone...
116 responses total.
Let me understand this....does the other person talk, and the "reporter" retransmit the message by the teletype, which is printed out at your Ma's? Does the other person *hear* your Ma, or is the message sent by teletype to them, too? What is the modulation? Standard teletype FSK? It comes to me vaguely that there are available chips for encoding and decoding teletype, since (some) hams (have) use(d) rtty as a mode.
75 baud was the slowest modem I could remember. That was a long time ago, too.
My ghod, this thing sounds like an real *teletype* machine. And a really
ancient one to boot. I wonder if it uses baudot encoding?
Rane the way I've heard this works is as follows:
1.) Hearing impaired person calls up service center with teletype and
gets connected to go-between person. He/she then tells this person who
they want to talk to.
2.) Go-bewteen then calls other party on voice line.
3.) Hearing-impaired person and go-between carry on printed conversation
while go-between and other party carry on voice conversation with
the go-between acting as a relay. Not useful for really personal calls.:-)
Damn, if you'd caught me 5 years ago, I would have given you a teletype somebody gave me. If I remember when I'm at work, I'll look at a Black Box catalog to see what they have.
Welcome to the low-tech, high priced world of the hearing (etc.) impared! What your mom has is indeed and modern version of the TTY. Often refered to TDD in the hearing impared world. Yep, 5 bit, 45.5 baud, daudot code still lives! Ineed, they make TTY modem. $450 a shot but they also do standard 300 baud! Imagine. I've contacted various modem manufactures to see if any of them were considering adding TTY capabilities to any of their modems but no luck. The service your mom calls is cally a Relay. Here in Michigan it's the Michigan Relay. If your in luck, your mom's TDD can also do standard Bell 103, 300 baud. None of our TTDs are 300 baud capable so I can't tell you how well that works. The one nice thing about TTY is that it will tolerate switching between voice and TTY, other phones on either lines being off-hook, noisy lines, etc. Try THAT with your 300 to 28.8K baud modem! I've always though it would be a neat software project to make a regular old 8 bit sound card do TTY service. I, however, lack the software back- ground and the time to learn it. I also get the feeling that those in the TDD business keep a tight fence around their little low-tech egg. Getting technical information out of some of them is like squeezing grape juice out of a rock! (Hummm. I think I'll try surfin the web on the subject ;)
Klaus, standard amateur radio multi-mode data controllers support rtty. They cost a lot less than $450.The MFJ receive only RTTY/ASCII/CW interface is only $70. I don't know what modulation it uses, though - your're the expert 8^}.
Yea, I'm not sure if it's the same thing. Close though, I suspect. I need to find some good, solid technical specifications for TDD in the US. I'm sure its available somewhere... Did find a source for high speed, TTD compatable modems. No price given on their web page. Will call and find out. (BTW. I was off on the price of the TTY / 300 baud modem I mentioned above. It's $498!!!)
Why don't we get your ma a vt-100 terminal a cheapo modem and an account on Grex? She could keep her Teletype, too. Just a thought.
I am affraid gregc got the thing right. 45.5 baudot coding... :( I have been trying for years to get her a terminal and modem to connect to *anything*, but she is *very* reluctant to use new technology. She has had the tty for a while now and has only just started to use it. Getting a dumb-term would be hard to do now that she has the tty, and Grex is a LD call unless they get a service, and the tty works for my three sisters, but the term wouldn't. I'll keep after this, but I am not very encouraged any more. :(
After looking around the web a bit, I found a Co. that sells a standard 19.2K baud / FAX / TTY modem. Internal modems are $299 and external is $398. The Co. is NXi and those prices include windoze software that looks pretty decent. Wow. A practical modem at a almost decent price!
It beats $500 for a 300 baud modem, but I can't bring myself to agree that that's a decent price, considering some internal V.34 modems are under $100! Since many computerists want V.34 now, it would still mean having two modems, so whether it tops out at 19.2k or 300 baud would matter little.
You could get your mom a vt-100 terminal that would connect directly to your computer, without Grex, and tell her to think of it as just a long distance phone call, and the terminal as just another TTY.
My intent was to figure out some way to use hardware we both have already. I do think it might be a neat project to build something to play the tunes from my serial port, and write a little ditty to control it. That's on a burner way way in the back, though.
Using a sound card would be the way to go. Just add microphone and speaker in some old ear-cups and write some software ;) (I need to drag out the specs for my sound card some time...)
I (gasp) don't have a sound card, but I have a CD-ROM now (couple days old) so I wouldn't be too opposed to getting one. That does seem like an easy way to do it now that you metion it. I was thinking of building two circuits that play a steady tone and then gating one or the other (or neither) into the output speaker based on the level of the serial data line. I am not too sure about how easy it would be to mix digital and analog circuits, though. I've only ever worked on digital circuits before.
I'm not sure how many tones are used in a TDD. Each tone may even be a combination of tones as used in DTMF touch tones. Your gating idea my work OK but you might run into problems when you gate a tone somewhere other than at a zero crosing. It may be necessary to do some filtering or switch on zero crossing to elimitate any distortion. I have a TDD sitting here on my desk. When I listen to the tones, it first seems to put up a carrier and then put the tones on top of that. When I type a continious string of characters the carrier is continious, with the tones on top. When I stop typing the carrier drops after about half a second. it's hard to tell if there are one or two tones besides the carrier but the carrier seems to be around 1000 Hz. I'm not sure if one can do all that with a sound card, but it's worth looking into when a used 8 bit card can be had for $15 or less! If you do build your own hardware, you may want to consider using the parallel port. It has 8 bidirectional data bits, plus some handshaking, you can tweek.
Yeah, I started thinking about it and parallel came to mind as a possibility. I am not sure how much trouble a half wave distortion will be when you can hear the duration of a single bit, though. I don't know. I didn't realize I could get sound at that price, either. Hmm.
If it's the same as 45.45 baud RTTY, I think there are just two tones, 'mark' and 'space.' God knows what the frequency shift would be, though. If it's standard, you might be able to pick up one of those old C64 RTTY interfaces cheap at a hamswap, and hook it up to an acoustic coupler or something. :)
As in Commodore? So there are a couple sources out there to get these things other than the company that sold one to my Ma. Cool...
The tech is certainly old enough. Heck, if you dig into those project books for electronics, you might find one. I've got a CMOS design for a 300 baud modem some where... (I wouldn't be at all surpised, now that I'm thinking about it, to find a single chip somewhere that does it...)
I looked through the manual that came with my sound card but it did not touch on writing software for the things, other than IRQs and register addresses. There was a lot of TTY stuff written for the Commodore but I don't have one of those and I don't intend to ;) I recall seeing a book on programing and sound cards at work. I'll have to see if I can find it again. After playing with my sound card and some canned software, it seems that an 8 bit card sould be capable of doing the job. I'll try recording some TTY tones and playing them back to the TTY (TDD) to see if it can recognize them.
Can you get input from a sound card and convert it into a spectrograph output so I could tell what tones the TDD on the other end is playing? I didn't know you could do that kind of input with a sound card. There seem to be a few references to SoundBlaster in my Ralf Brown Interrupt list. I am sure some of those are about port addresses and driver functions. Maybe I'll be able to find out something useful in there.
Now there's an idea! I'll bet there is software out there that can use a sound card as a crude audio spectrum analyzer. I'll have to browse some of the local BBSs. Sound cards have a microphone input (Standary 600 ohm dynamic) and speaker output jacks. You don't even need to amplify the audio output if you don't require room-filling sound. Interfacing the sound card to phone could be as simple as gutting an old 300 baud modem with ear-cups.
Yeah, I think the sound card certainly has lots of the circuits needed, but I would have to have some way to distinguish between no bits, low bits, and high bits coming out of my phone as well as being able to generate bits into the phone. If a SB can't do that, requiring me to build, I might be just as far ahead to build all. If I can avoid learning to program the SB... ;)
I dug into my files last night and came up with the following
information on TDDs.
In the US, the new TDD standard is Bell 103, ASCII, 300 BPS, 8N1.
The old standard is Weitbrecht, Baudot, half-duplex, 45.5 BPS.
A standard modem should be able to handle the Bell 103, 300 baud.
The (Robert) Weitbrecht code was not that easy for me to figure
out. However, with the help of some really cool FFT software that
works with my sound card, my wife's TDD and the ARRL Handbooks
definition of 5 bit Baudot, I came up with the following:
Baudot code uses two tones. One for mark and another for space.
1,800 Hz = Logic 0. The Baudot code is also preceeded by and
followed by a 150 ms long mark tone.
To prove my theory, I wrote a simple little Qbasic program that
would produce the Weitbrecht Baudot tones for the letter "R" over
a PCs internal speaker.
================= QBASIC Program Start =========================
PRINT " This sample program will produce a TTD letter ' R '"
PRINT " whenever a key is pressed. Use ^BREAK to exit"
Snd:
DO
LOOP UNTIL INKEY$ <> ""
SOUND 1400, 2.77 'lead (150ms)
SOUND 1800, .407 'start bit (22ms)
SOUND 1800, .407 'bit 1 (22ms)
SOUND 1400, .407 'bit 2 (22ms)
SOUND 1800, .407 'bit 3 (22ms)
SOUND 1400, .407 'bit 4 (22ms)
SOUND 1800, .407 'bit 5 (22ms)
SOUND 1400, .611 'stop 1.5 bit (31ms)
SOUND 1400, 2.77 'trail (150ms)
PRINT "R"
GOTO Snd
======================= Program End ========================
When I ran this program and held the TDD up to the speaker on the PC,
the TDD displayed the letter "R"!
By modifying this program so that it will produce the correct tones
for all the Baudot characters, it can become quite usefull. If the
party you are communicating with can speak but needs a TDD to "hear",
then you can listen to the party via their voice and you "talk" to them
via a TDD program running on your PC! It may be helpfull to put an
external speaker on your PC to hold up to the phone, or whatever.
Have a ball! ;)
My text got a bit beat up there... For TDD Baudot code, mark = 1 = 1,400Hz. Space = 0 = 1,800Hz. Some text that danr sent me a few years back claimed that space was 1,800Hz and mark was 1,070Hz. I tried 1,070Hz but it even sounds wrong! A mark freq. of 1,400Hz works fine and sounds right. Also, the 300 baud ASCII standard mentioned above is half-duplex.
Well, my Ma's system is the 45.5 baudot. That is great to hear, though. I am a long way along on this project now, and I haven't even done anything. Thank you! :)
OK, I just finished writing a little ditty in C that takes keystrokes and makes them into the pretty little beeps at the PC speaker. Trouble is I don't know what the mapping is for the bits. The docs for Ma's TDD say it plays these chars... A-Z 0-9 ^H [CR] [sp] + - = ! $ ' ( ) " / : ; ? , . Say, that's 54 characters. How do you encode 54 things with 5 bits? Last I checked that was 32 combinations. Is this thing using some kind of escape sequence for some things? Anyone have a 'map' of the bit patterns? I think it would be neat to get at least enough stuff working to send characters to Ma's display. I can work on reading characters from her end later.
Those 5 bits are used twice. Once in letters mode and again in figures
mode. With the infomation below, you should be able to write a TDD
emulator:
5 Bit Baudot Letters Case Figures Case
00011 A -
11001 B ?
01110 C :
01001 D $
00001 E 3
01101 F !
11010 G +
10100 H =
00110 I 8
01011 J '
01111 K (
10010 L )
11100 M .
01100 N ,
11000 O 9
10110 P 0
10111 Q 1
01010 R 4
00101 S (BELL)
10000 T 5
00111 U 7
11110 V ;
10011 W 2
11101 X /
10101 Y 6
10001 Z "
01000 CR (Carriage Return)
00010 LF (Line Feed)
11111 LTRS (Letter Shift)
11011 FIGS (Figure Shift)
00100 SP (Space)
00000 BLK (Blank)
On power-up the TDD is in the letter case mode. If the FIGS key is pressed,
the TDD stays in the figure case until the LTRS key is pressed.
Mark = 1,400 Hz = 1 * Space = 1,800 Hz = 0 * Start = 1 bit long space
Stop = 1.5 bit long mark * 1 bit is 22 ms. long
Each of the 5 bits in the Baudot code is 1 bit long. There is a 150 ms.
mark tone before and after each character when typed singly.
When characters come one after the other, the mark tone is about 200 ms.
between Baudot codes. See the examples below:
SINGLE CHARACTER EXAMPLE: THE LETTER "Y":
1 0 1 0 1 = Baudot "Y"
________ __ __ __ ___ ________
150 ms. |__| |__| |__| | | 150 ms.
stop^, ^1,^2,^3,^4,^5, ^stop
TWO CHARACTER EXAMPLE: THE LETTERS "YR"
1 0 1 0 1 = Baudot "Y" 0 1 0 1 0 = Baudot "R"
________ __ __ __ ___ ___________ __ __ ___ ________
150 ms. |__| |__| |__| | | 200 ms. |__|__| |__| |__| | 150 ms.
start^, ^1,^2,^3,^4,^5, ^stop start^, ^1,^2,^3,^4,^5, ^stop
Let it be know that much of the above comes from analysis of an existing,
old, but working TDD. I may be off on frequencies and timing a little,
but it's close.
Great, *now* things are much clearer. Thanks! I've got it sounding right so far. I was leaving out the lead and trail tone altogether, though. I'll have to get ready to make the change quick when I call home to test it. Thanks again for the character mapping. Now back to work... :)
Well, I entered the character mapping into the lookup table and called home to get Pa to help with it. What I typed came out garbled. It was garbled the same way each time, but it was a mess. So we made a mapping of 'what I typed' to 'what came out' and I rewrote the table. On calling back we got furthur junk. Then Marla came home and we ate and went to GNO. Then while I was lying awake after the thunderstorm it hit me. I checked the stuff I got from y'all and sure enough. I have a) assumed that logic 1 was the higher pitch since I thought my ears had told me so, and b) seeing the lower frequency for the lead and trail had flipped the logic levels of the start and stop bits. So as soon as time permits I can try again with by logic inverted so to speak. Doh! <smile> This *always* happens to me in the middle of the night.
Yea, the high tone being a 0 and the low tone being a 1 is illogical. I had to think about it every time too! Let me know if it works. It should. I was also thinking that it might be interesting to write it as a TSR so that it does a translation from TDD Baudot to 8 bit ASCII. That way it can run under a term program, etc. One way to handle the FIGS and LTRS shifts would be to map the FIGS characters such that they procuce a Baudot FIGS, followed by the Baudot character, followed by a Baudot LTRS. That way the keyboard works the way most people are use to. Shifting between FIGS and LTRS always confuses me! I wonder how easy ths would be to implement on a Mac. We have three Macs in the house. One has sound input and output jacks. The other two are just capable of sound output.
The "assert low" approach is likely a result of original design contraints, such as "how do you use a single transistor (vacuum tube?) to modulate or demodulate the signal?". Probably easier to implement a low-pass filter?
OK, it sends LTRS just fine now. The logic in my program that keeps track of LTRS/FIGS must be hosed, though. Currently when you type a figs, it sends a FIGS byte, and ungets the key you typed, sending it on the next iteration. I think I don't understand their method of switching LTRS/FIGS mode, but I have stopped thinking about that since LTRS works. Now it is recieve circuit time. The TSR idea under a terminal program is neat, I'll have to think about htat. Right now it looks exatly like ntalk. You currently have to have ANSI.SYS or equivalent loaded. It is in C, so it shouldn't be hard to port to a MAC, especially with hardware support. I found a diagram for a 741 opamp circuit that is supposed to work with HAMCOM. It was designed to work with the serial port, but with a 555 timer, I think I can make it work in the parallel port, and I think that would be a lot easier to program for. (Plus I can add another parallel port and not have to set up the chip where BIOS will ignore another serial port and I would have to set it up myself.) Back to the method of sending FIGS, I think listening to the thing do it's work would help a lot. I have been doing this all on theory so far. I've called home with it twice now. I should call again and listen to how this thing sends FIGS. It is a pretty simple thing. The Spec. for Baudot seemed to say that when a FIG was typed, the reciever would remember it was in FIGS mode until a LTRS was recieved, so my program works that way. Maybe this just sends a FIGS/5bit/LTRS sequence for every FIGS instead. That would make sense in light of the silly stuff Ma's machine heard when I tried to send '123'. We'll find out soon enough.
Wow, I'm impressed. Yell if you have any questions about analog filtering the incoming signal; I used to know how to do that stuff. This could be dynamite shareware! I think srw has some experience authoring shareware.
I do -- don't expect too many people to pay. I am pretty sure it send the figs byte only once for each time it is pressed. Both the sender and receiver remember they are in figs mode until LTRS is pressed and sent.
OK, I found the problem with sending FIGS. In my lookup table accessed by ASCII code, the Baudot stored there is negative if it is in the FIGS case. This makes keeping track of when to switch states in my send logic real easy. Well, Duh, I forget to negate the looked-up value after looking it up, so 14 after 2's compliment becomes 18 since the sign bit (top 3 bits) gets chopped off at send time. 5 becomes 27. It looks rather like random junk when it comes out the other end. Until you (read silly me) remember to change the sign back. I finished the LTRS/FIGS logic and the display interrupt for the recieve, and it does loopback jsut fine. (reading from a pretend port and working on interrupts generated by me) Now I just have to make the circuit. :)
After talking to a friend, perhaps a TSR would not be such a good idea. It seems that many of the programs that run under DOS do direct calls so the implementation of a TSR may be a bit dicy. A couple of chips that might be of use are the LM566 VCO and the LM567 tone decoders. These are pretty old technology so I wouldn't be surprised if there isn't something better out there for low speed FSK modulation / de- modulation. Another way to couple the signals in and out of the phone line would be to put the electronics between the phone base and its headset. That way one doesn't have to submit for the expensive testing required for phone-line connected devices. Voice Carry Over (VCO) is also retained because now the headset can be plugged into the box and the TDD can operate in parallel to the headset. If the hardware and software to do all of this can be sold for $100 or less, I think you would find a market. If it could be done for around $50 I'm sure of it! I for one would do it for as close to free as possible since I don't believe that someone unfortunate to suffer from such a disability sould also be raked over the coals in order to be able to do something most of us do day in and day out without incurring an additional expense. Opps. Time to get off my soap box ;)
Count me in if you need any further help with this project Charles. I'm pretty good with electronic design and my soldering iron. It's time I don't have much of.
| Last 40 Responses and Response Form. |
|
|
- Backtalk version 1.3.30 - Copyright 1996-2006, Jan Wolter and Steve Weiss