Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!uwm.edu!zaphod.mps.ohio-state.edu!mips!apple!well!oster From: oster@well.sf.ca.us (David Phillip Oster) Newsgroups: comp.sys.mac Subject: Re: Audio Phone Dialer Software Message-ID: <18540@well.sf.ca.us> Date: 16 Jun 90 01:27:49 GMT References: <3397@ssc-vax.UUCP> Reply-To: oster@well.sf.ca.us (David Phillip Oster) Organization: Whole Earth 'Lectronic Link, Sausalito, CA Lines: 55 In article <3397@ssc-vax.UUCP> housen@ssc-vax.UUCP (Kevin Housen) writes: >he needs some software (preferably a DA) to generate >appropriate dial tones. This would be pretty easy to >write, but I wanted to check first to see if there are >any PD/shareware DAs that will do the trick. Both hypercard and Address Book Plus (a commercial product from Power Up Corporation, that I wrote) dial the phone by generating audio tones. AB+ uses a d.a., but it is commerical software, not shareware or public domain. You can just hold the reciever up to the Mac on later Macs, but my testing shows that not all raw MacPluss have enough volume to generate all the tones reliably enough for the phone system. Experiment. To dial the phone, you need two simultaneous tones. Hypercard and I use the Sound Driver's 4 voice synthesizer to produce two pairs of tones by doubling up the voices. Apple Developer Tech Support has been saying for some time that they want people to stop using Sound Driver and do everything with Sound Manager. Unfortunately, at least as of System 6.0.4, 4 voice sound was not supported by Sound manager on Macpluss. Here are the numbers from my dialer: typedef struct Freq2 { Fixed a, b; }Freq2; /* These are the frequencies for the touch tone phone pad. Source: The TV Typewriter Cookbook, Don Lancaster, p.178 Units for the table in comments is Hertz. The actual table was generated by applying the formula: hz = 1000000 / ( 44.93 * 256 / rate ) to the table to get a new table I can use at interrupt time. This table uses the same values hypercard does. */ static Freq2 freqs[] = { { 0x000F5DDE, 0x000AD2C9}, /* { 1336, 941}, /* 0 */ { 0x000DE7EA, 0x00080453}, /* { 1209, 697}, /* 1 */ { 0x000F5DDE, 0x00080453}, /* { 1336, 697}, /* 2 */ { 0x0010FD06, 0x00080453}, /* { 1477, 697}, /* 3 */ { 0x000DE7EA, 0x0008DB46}, /* { 1209, 770}, /* 4 */ { 0x000F5DDE, 0x0008DB46}, /* { 1336, 770}, /* 5 */ { 0x0010FD06, 0x0008DB46}, /* { 1477, 770}, /* 6 */ { 0x000DE7EA, 0x0009CCB9}, /* { 1209, 852}, /* 7 */ { 0x000F5DDE, 0x0009CCB9}, /* { 1336, 852}, /* 8 */ { 0x0010FD06, 0x0009CCB9}, /* { 1477, 852}, /* 9 */ { 0x0012C9B2, 0x00080453}, /* { 1633, 697}, /* A */ { 0x0010FD06, 0x0008DB46}, /* { 1477, 770}, /* B */ { 0x0010FD06, 0x0009CCB9}, /* { 1477, 852}, /* C */ { 0x0010FD06, 0x000AD2C9}, /* { 1477, 941}, /* D */ { 0x000DE7EA, 0x000AD2C9}, /* { 1209, 941}, /* * */ { 0x0010FD06, 0x000AD2C9} /* { 1477, 941}, /* # */ }; -- -- David Phillip Oster - Note new address. Old one has gone Bye Bye. -- oster@well.sf.ca.us = {backbone}!well!oster