English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية 
Computer ljudgränssnitt till tråd-baserade telefonnätet
Colin Fahey
phone_speech_system_custom_circuit.jpg
En dator kan göra röst telefonsamtal använder något modem och en enkel krets.

1. Inledning

Detta dokument beskriver hur man använder några konventionella modem och en enkel krets att ge varje persondator (PC), med alla operativsystem, förmåga att placera telefonsamtal som kan innebära röst interaktion.
Ett vanligt modem används för att aktivera telefonen tråd genom att gå ”ut kroken,” och senare släppa telefonen tråd genom att gå ”på kroken (hänga upp).”
En enkel krets används för att ge någon ljudenhet, t.ex. ett ljudkort eller ljud-gränssnittet för en persondator (PC), tillgång till ljudsignaler på en telefon tråd.
Således är en persondator (PC) kan initiera en anslutning till ett telefonnummer och sedan invänta ett livsmedel eller ett automatiserat system för att svara och sedan inleda en konversation baserad på tal eller andra ljud.
Detta dokument är avsett för hobbykemister intresserad av att lära dig några saker om den elektriska krav och protokoll för att interagera med Central Office (CO) av en tråd ansluten telefonnätet i USA (US).
Det finns många tekniker för att underlätta för människor att interagera med röst-baserade system via telefon.
Det finns många kommersiella produkter och tjänster som erbjuds för att hantera allt som förknippas med telefon interaktion med ett företags databas.
Det är ganska lätt att hitta hårdvara för att hantera många telefonsamtal till en enda rad.
Telefoni har expanderat till Internet, med protokoll som ”Voice over Internet Protocol” (VoIP).
Datorer någonstans i Internet kan konfigureras för att interagera med VoIP genom taligenkänning och talsyntes.
Dessa datorer kan frivilligt följa röst konversation flödesscheman uttryckt i XML textfiler (Voice XML).
Detta dokument har ingenting att göra med någon av dessa praktiska lösningar på problemet med att automatisera röst samverkan med ett företag eller organisation.
Detta dokument är avsedd för underhållning i hobbykemister med små budgetar.

2. Disclaimers

Konstruera en elektronisk krets, och ansluter i ett telefonnät, innebär många risker.
Du ansvarar för att lära sig om alla lagar, faror och risker som kan gälla.
Följande är en lista över några av de frågor som du måste tänka på om du är intresserad av att bygga och testa en krets liknande den som visas i artikeln:
1.  All information om de elektriska specifikationerna för telefonitjänsten är bara giltig i USA (US).
2.  Ringvolym spänning på telefon trådar (90 volt) kan skada människor.
Åska eller fallit makt ledningar kan leda till spänningar på telefon sladdar som kan skada människor.
3.  Du ansvarar för eventuell skada på telefonbolaget kretsar som orsakas av din användning av otillåtna anordningar i hemmet eller på kontoret.
4.  Spela in telefonsamtal utan uttryckligt godkännande av alla inblandade parter är mot lagen.
(...  Om du inte är regeringen!  Annars kan göra som de säger, inte som de gör!)
5.  Du ansvarar för eventuella skador till din dator orsakats genom att ansluta din egen krets till din dator.
6.  Du kan inte sälja en produkt avsedd att användas med en telefonnätet utan godkännande från FCC.
Detta dokument är endast en beskrivning av mina personliga erfarenheter.
Du ansvarar för att lära sig om lagar och risker från auktoritativa källor.

3. Telefon ljudgränssnitt krets

Syftet med den krets som beskrivs i detta avsnitt är att tillåta konventionell ljudinspelningar och uppspelning utrustning, såsom ett ljudkort eller ljud-porten på en persondator (PC), skicka och ta emot ljud via en konventionell mark tråd (wired) telefonförbindelse.
Den telefon tråd och ljudutrustning inte är direkt anslutna; kopplingsmekanismen är bara genom transformatorer.
Båda sidor av gränssnittet är alltför hög spänning.
Signalerna är begränsade till en rad olika frekvenser (bandbredd) relevanta för telefon-ljud (300 Hz att 3500 Hz).
Kretsen har endast ”passiva” komponenter, alla drivande spänningar är externa.
Den krets som måste användas i kombination med ett modem, telefon eller annan krets som kan gå ”ut kroken” (det motstånd av kabeln låg för att ange att det centralbyrå (CO) att kabeln är i bruk).
Det vore trivialt att lägga till en ”off hook” aspekt till denna krets, men med en krets alls är redan ett stort hinder för många hobbykemister.
phone_circuit_box01.jpg
Utseende av den sammansatta banan
phone_circuit_board02.jpg
Utseende av kretskort
phone_circuit_schematic.jpg
Schematisk i telefon ljudgränssnitt krets
Du kan bygga enheten nästan exakt som det står ovan om du göra följande investeringar:
1.  Se till att du har grundläggande verktyg: Skruvdragare, lödkolv, kniv;
2.  Besök Radio Shack, köp räknas upp nedan, för $ 29 efter skatt;
3.  Besök en järnaffär, köpa två muttrar, bultar, brickor, för $ 1.
4.  Tillbringa ungefär fyra timmar att bygga banan enligt den schematiska;
Om du inte har erfarenhet att bygga elektroniska kretsar, lödning, borrning av hål, och göra elektriska mätningar, inte gör det här första projekt!
Den enda person som försöker att bygga denna krets är den person som redan vet med säkerhet att han eller hon kan bygga den!

4. Radio Shack: vardagens elektronik butik

Radio Shack är ett hemelektronik företag med butiker runt om i världen. Följande är en länk till deras hemsida:
http://www.radioshack.com
På deras webbplats en person hittar en länk som heter ”Electronic Components”, vilket leder till deras sortiment av elektroniska komponenter och tillhörande dokumentation.
En person kan hitta priser på delar.
En person kan få en lista över de närmaste butik platser och kartor.
Delar kan beställas online.
Jag har beslutat att bygga min enkla krets använder Radio Shack delar eftersom detta innebär att någon annan i världen kan lätt återskapa mitt arbete.
Dessutom har någon del som erbjuds av Radio Shack är praktiskt taget garanterat att finnas många år till ett lågt pris.
Här är en lista på Radio Shack delar jag använde för att bygga banan, med katalognummer:
QtyDescriptionSerial #PriceTotal
1Project Enclosure (6"x3"x2") #270-1805$ 3.79$ 3.79
1Surface Mount Modular Jack (RJ11/RJ14) #279-0202$ 4.99$ 4.99
13-Conductor Stereo 1/8th" Phone Jack (Pkg.2) #274-0249$ 2.99$ 2.99
1Component PC Board (71x94mm), 750 holes #276-0158$ 2.99$ 2.99
2Audio Isolation Transformer (1:1) #273-1374$ 3.99$ 5.98
2Metalized-Film Capacitor 1.0uF, 250WVDC #272-1055$ 1.49$ 2.98
12.2K ohm 1/2W 5% Carbon Film Resistor (Pkg.5)#271-1121$ 0.99$ 0.99
21N4733A, 5.1V, 1.0W Zener Diode (Pkg.2) #276-0565$ 0.99$ 1.98
SUBTOTAL: $26.69
TAX:      $ 2.07 (California 7.75% sales tax)
TOTAL:    $28.76

5. Ace Hardware: en inte-så-ubiquitous järnaffär

Jag behövde bultar, brickor och muttrar att fästa ett telefonjack till plast gäller min krets.
Jag gick till Ace Hardware, men jag kunde ha gått till Home Depot, eller kanske till och med ett snabbköp, att hitta liknande delar.
QtyDescriptionPriceTotal
2Bolt No.8-32 4.2mm-32$ 0.17$ 0.34
2Washer No.8 $ 0.10$ 0.20
2Nuts No.8-32 2" $ 0.10$ 0.20
SUBTOTAL: $0.74
TAX:      $0.06 (California 7.75% sales tax)
TOTAL:    $0.80

6. Verktyg och tillbehör

Följande tabell visar några av de punkter som jag behövde för uppförande och användning av banan:
Soldering iron $ 5.00 (approx)
Solder $ 3.00 (approx)
Precision knife $ 3.99
Wires $ 1.00 (approx)
Telephone extension cord #279-0374 $ 5.79
Male-Male mini-phono 6' extension cord (qty.2)$ 3.00 (approx)
Four-wire 3-way coupler (RJ11/RJ14) #279-0447 $ 4.99

7. Synpunkter på banan

Jag är inte en elektrisk ingenjör.
Jag har studerat olika telefon-kretsar (se referenser anges intill slutet av artikeln) och extraheras olika element som skulle stödja min egen design mål.
Om du var verkligen desperat, och risken att din PC inte var en faktor, kan du ansluta en telefon sladden till din ljud-port med endast ett par kondensatorer!
Det är en mycket dålig idé, eftersom ringmärkning spänning, och de eventuella slumpmässiga voltage spikes på telefon tråd, kan skada oskyddade enheter.
Den Zener dioder i min krets kortslutning alltför stora spänningar.
Observera att de står inför motsatta riktningar, så att för en viss tillämpad spänning med en viss polaritet, en Zener diode är redo att bedriva nuvarande normalt, och den andra är redo för omvänd fördelning bör spänningen överskrider sina betyg (t.ex. 5.1 V) .
Först när en spänning överstiger omvänd fördelning spänning på en av de Zener dioder kommer paret i sista hand låta nuvarande flöda, vilket kortslutningar trådarna till vilka par av dioder är ansluten.
Observera att detta fungerar oberoende av var de signaler som har sitt ursprung.
Växelström (AC) signaler från telefonen tråd som är större då 5,8 volt ( 5.1 V + 0.7 V ) efter går genom transformatorn blir klippt.
Direct Current (DC) eller växelström (AC) ljudsignaler från en ljud-källa, inte telefonnumret tråd, kommer också att bli klippt i 5.8 Volts.
Så varje parti, telebolag och ljudutrustning, är alltför hög spänning som kommer från den andra parten.
Enheten är verkligen ett par av identiska kretsar.  Antingen ljudkontakt kan användas för in eller skickas.
I grund och botten är båda ljudsignaler är kopplat till den inre telefon signal.

8. Med hjälp av ett modem gå ”ut kroken”

8.1 Syftet med modem

Syftet med modem i detta system är att skapa en elektrisk villkor att telefonitjänsten kommer att känna igen som en begäran att bli en aktiv deltagare i telefonnätet.
Denna begäran kallas för ”att gå ut kroken,” en hänvisning till den ursprungliga telefon mönster som krävs för en användare att häva en talare eller handenhet off av en krok.
Aktiveringen begäran är nästan direkt beviljas inom bråkdelen av en sekund.
När tråd blir aktiva, alla andra aspekter av telefoni kan ske genom ljudsignaler.
Även överföring av telefonnummer ”(uppringning)” kan göras genom att spela upp ljudfiler ( *.WAV, *.MP3 ) inspelat ljud (DAT, ljud CD, tejp), eller programvara ljud syntes (sin() funktioner), modemet har den inneboende förmågan att utföra funktionen.
Det bör dock förstått att det enda syftet med modem begär aktivering av telefon-tråd.
Om en person har en alternativ metod för att simulera off hook villkoret (dvs att helt enkelt sänka motståndet i hela telefon-wire), modemet är inte nödvändigt.
Men ett modem är ett mycket billigt, vanligt, och bekväm anordning för att utföra denna funktion.
Systemet beskrivs i denna artikel inte kräver ett modem med audio inspelning eller uppspelning kapacitet, som ibland kallas en ”röst modem.”
Men i en annan del av artikeln jag diskutera möjligheten att använda en röst modem som ett alternativ till att använda en egen krets.

8.2 Vanligt modem

Jag valde att använda ett externt modem som tillverkas av Hayes kallade ”Accura”, en V.92 fax-modem med röstmeddelande förmåga.
Ett modem kan användas för det system som beskrivs i denna artikel.
Jag ville ha ett externt modem helt enkelt eftersom det är lätt att fästa på varje dator, och jag kan föra den till en kompis hus för att använda med sin laptop eller stationär dator.
Även om det knappast är viktigt har jag också övervägt möjligheten att kanske en Basic Stamp 2 dator kan använda RS-232 modem.
Varning: Serial hamnar (RS-232) hamnar, precis PS/2 hamnar, håller på att avvecklas, och USB är den nya standarden.
En extern USB modem kan ofta nås av programvara som om det var ett arv ”COM” hamn anordning med drivrutiner som kommer med modemet.
Det är en liten USB/RS-232 adapter (~$30) som kan användas för att ansluta samtida bärbara datorer och stationära datorer till RS-232 enheter.
En sådan adapter har en motsvarande drivrutin för att emulera ett arv serieport gränssnitt (t.ex. ”COM” enheten).
hayes_modem_box001.jpg
Hayes externa modem: box
hayes_external_modem002.jpg
Hayes externa modem

8.3 Modem kommandon

När ett modem är först slagits på, det kommer in ett tillstånd kallat ”kommando-läge.”
Om modemet framgångsrikt ansluter till en avlägsen modem eller avlägsna fax enheten via telefon tråd, det kommer in ett tillstånd som kallas ”data-läge.”
Det system som beskrivs i detta dokument inte kommer att använda modem för att upprätta en ”data-läge” samband med en fjärransluten enhet, så modemet alltid kommer att vara i ”kommando-läge.”
När i kommando-läge, modemet accepterar kommandon i form av vanlig ASCII tecken.
Tecknen är utbytas mellan modemet och datorn via en seriell kabel eller via en drivrutin som gör en intern-kort (t.ex. PCI kort) tillgängliga som en seriell enhet.
I båda fallen program använder API samtal för att få tillgång till seriella enheter (t.ex. ”COM1” eller ”/dev/modem”).
En viktig delmängd av modem kommandon kallas ”AT” (ay-tee) kommandon och dessa kommandon börjar alla med tecken ”at” (eller ”AT”).
Som modem utvecklats, listan över kommandon utvidgats, erbjuder allt mer esoteriska funktionerna.  Systemet beskrivs i denna artikel endast kräver en förmåga att ta modem ”off hook” och senare återvända modemet till ”på kroken.”  Förmågan att slå siffror, och frivilligt sätta på en högtalare för övervakning av samtal är användbara funktioner, men är inte nödvändig.  Följande tabell visar modemkommandona sannolikt kommer att användas med det system som beskrivs i artikeln:
ActionCommand
On-Hook ("Hang Up")ATH [zero] [return]
Off-Hook ("Pick Up")ATH [one] [return]
"Dial" Digits ATDT [digits,#,*] ; [return]
"Dial" Digit ATDT [digit,#,*] ; [return]
Speaker Off ATM [zero] [return]
Speaker On ATM [two] [return]
Följande tabell visar en hypotetisk sekvens av kommandon som används för att placera ett telefonsamtal, samverkar med ett automatiserat system som använder ”touch toner” (DTMF) och sedan avsluta samtalet ”(hänga upp):”
CommandAction
ATM 2 [return]Speaker On
ATH 1 [return]Off-Hook ("Pick Up")
ATDT 5551212 ; [return]"Dial" 5551212
ATDT 3 ; [return]"Press" 3
ATDT # ; [return]"Press" Pound (#)
ATDT * ; [return]"Press" Star (*)
ATH 0 [return]On-Hook ("Hang Up")
ATM 0 [return]Speaker Off

8.4 AT kommando som

Den ”AT kommando som genomförs av nästan alla modem som finns.
Denna uppsättning kommandon ursprungligen genomförts av Hayes modem.
De flesta modem som är klassificerade som ”Hayes kompatibla eftersom de genomföra uppsättning AT kommandon.
Alla AT kommandon måste börja med AT prefix, följt av ett kommando brev, och slutade med ENTER(*) nyckel.
(*...ENTER, CARRIAGE RETURN, CR, RETURN, '\r', 13, 0xd, Control-M, ^M)
Mellanslag är tillåtna i kommandot strängen att öka kommandorad läsbarhet, men ignoreras av modemet under kommando avrättning.
Alla kommandon kan skrivas i antingen versaler eller gemener, men aldrig blandad.
Ett kommando som utfärdats utan några parametrar betraktas som specificerar samma kommando med en parameter av 0 (noll).
Följande är en kondenserad förteckning över AT kommandon.
En mer komplett och detaljerad lista kan lätt hittas på Internet via en sökning med sökorden ”at modem kommandon.
CmdAction
A Answer incoming call
D 0-9, A-D, # and * (e.g., AT T D 5551212*#)
P Pulse dial
T Tone dial
W Wait for second dial tone
, Pause
@ Wait for 5 secs of silence
! Flash (very brief on-hook)
; Return to command mode after dialing
E0 Command echo disabled
E1 Command echo enabled
F0 Autoscan mode
F1 300 bps connection only
F3 V.23 connection only
F4 1200 bps connection only
F5 2400 bps connection only
F6 4800 bps connection only
F7 7200 bps connection only
F8 9600 bps connection only
F9 12000 bps connection only
F1014400 bps connection only
H0 Modem on-hook (hang up)
H1 Modem off-hook (pick up)
I0 Product code
I1 Checksum code
I2 ROM test
I3 Firmware and device ID
L0 Low speaker volume
L1 Low speaker volume
L2 Medium speaker volume
L3 High speaker volume
M0 Speaker off
M1 Speaker on until carrier detect
M2 Speaker on
M3 Speaker off during dialing, on until carrier detected
N0 Connect only at DTE rate
N1 Auto rate negotiation
O0 Return to data mode
O1 Initiate an equalizer retrain and return to data mode
P Pulse dial
Q0 Result codes enabled
Q1 Result codes disabled
T Tone dial
V0 Numeric responses
V1 Text responses
W0 Report DTE speed only
W1 Report wire speed, error correction protocol, and DTE speed
W2 Report DCE speed only
X0 Hayes Smartmodem 300 compatible responses/blind dialing
X1 Same as X0 plus all CONNECT responses/blind dialing
X2 Same as X1 plus dial tone detection
X3 Same as X1 plus busy signal detection/blind dialing
X4 All responses and dial tone and busy signal detection
Y0 Long space disconnect disabled
Y1 Long space disconnect enabled
Z0 Reset and recall user profile 0

8.5 Testa modem

Detta avsnitt beskriver metoder för att snabbt kontrollera förmågan att styra ett modem ansluten till datorn.
Den första metoden är lämplig för Windows 98/NT/Me/2K/XP.
Den grundläggande tanken är att starta ”seriell kommunikation” programvara som kan hittas i nästan varje typisk installation av Windows operativsystem: ”HyperTerminal”.
Windows 98     : "C:\Program Files\Accessories\HyperTerminal\Hypertrm.exe"
Windows 2000\XP: "C:\Program Files\Windows NT\hypertrm.exe"
(Den dubbla citattecken visas ovan är nödvändiga när man genvägar eller när verkställande från kommandotolken, eftersom filsökvägar innehålla mellanslag.)
HyperTerminal kan startas från kommandoraden eller genom att navigera menyer.
Enligt Windows 2000\XP till exempel programvaran länk finns i slutet av följande väg av menyer:
Start -> Programs -> Accessories -> Communications -> HyperTerminal -> HyperTerminal
windows_menu_hyperterminal.jpg
Meny hierarki som leder från Start menyn till HyperTerminal
När du startar HyperTerminal flera dialogrutor visas:
hyperterminal_dialog_set.jpg
HyperTerminal dialogs:
1.  Connection Description: Skriv in valfritt namn;
2.  Connect To: Välj port med modem (t.ex.  COM1);
3.  COM1 Properties: bithastighet för kommunikation mellan PC och modem, etc.
Jag anges en låg bithastighet (2400 bitar per sekund) mellan PC och modem helt enkelt eftersom detta kan fungera för alla modem som inte är officiellt en antikvitetshandlare.
Det är vanligt för moderna modem för att kommunicera med PC på runt 115200 bits per sekund, även om data rate på telefon tråd är så låg som 9600 bits per sekund.
Följande bild visar ett enkelt modem session använder HyperTerminal:
hyperterminal_session01.jpg
Använda HyperTerminal att försöka använda olika modem kommandon
Detta konstaterar ovan visar ett enkelt sätt att testa ett modem med Windows operativsystemet.
Det finns många andra ”seriell kommunikation” programvaror för Windows och Linux.
För Linux (eller UNIX varianter) som du skulle kunna göra något liknande ”echo atm2 > /dev/modem” på kommandoraden, eller fp = fopen( "/dev/modem", "w" ); följt av uttalanden som fprintf( fp, "atm2" ); på ett enkelt C programmet.

8.6 Källkod för att styra ett modem

Den C/C++ dator kod visas nedan visar sändande text kommandon till ett modem.
Även om datorn nummer visas nedan är för Windows operativsystem, idéer är lätt generaliserade för andra operativsystem.
#include < windows.h >

HANDLE  hCom = ((HANDLE)(0));

int  main()
{
DCB                dcb;
unsigned long int  n = 0;
char *             str = "COM1";

hCom = CreateFile( str, (GENERIC_READ | GENERIC_WRITE),
                   0, NULL, OPEN_EXISTING, 0, NULL );

GetCommState ( hCom, (&(dcb)) );

dcb.BaudRate = CBR_9600;
dcb.ByteSize = 8;
dcb.Parity   = NOPARITY;
dcb.StopBits = ONESTOPBIT;

SetCommState ( hCom, (&(dcb)) );

WriteFile( hCom, "ATM2\r", strlen("ATM2\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(1000);

WriteFile( hCom, "ATH1\r", strlen("ATH1\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(1000);

WriteFile( hCom, "ATDT5551212;\r", strlen("ATDT5551212;\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(3000);

WriteFile( hCom, "ATH0\r", strlen("ATH0\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(1000);

WriteFile( hCom, "ATM0\r", strlen("ATM0\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(1000);

CloseHandle( hCom );

return(0);
}
Kopia av demonstrationen kod som visas ovan: modem_test.cpp
Programvaran ovan får tillgång till en seriell kommunikationsport (dvs ”COM1”), och vi antar ett modem är ansluten till denna port.
Programvaran skickar text kommandon till modemet att göra följande saker:
1.  Sätt på den inbyggda högtalaren (”ATM2\r”);
2.  Take the telephone wire ”off hook” (”ATH1\r”);
3.  Slå ett telefonnummer (”ATDT5551212;\r”);
4.  Sätt telefon tråd tillbaka ”på kroken” (”ATH0\r”);
5.  Stäng av den inbyggda högtalaren (”ATM0\r”).
Exemplet dator kod ovan visar några av de relevanta Windows API funktioner.
Men exemplet dator kod är mycket oflexibel och kontrollerar inte för eventuella felaktigheter.
Den Sleep() funktion invocations se till att modemet har tid att slutföra kommandon innan avancera till nästa kommando.
Helst skulle vi kontrollera om texten svaren från modemet (t.ex. ”OK” eller ”ERROR”).

8.7 Modem kontroll C++ class (Windows operativsystem)

Följande ZIP arkivfilen innehåller en C++ class lämpliga för att kontrollera modem via Windows operativsystemet.
Det är i huvudsak en utförligare version av demonstrationen kod som presenteras ovan.
Även de C++ class sjal modemet funktionalitet på ett sådant sätt att portning till andra plattformar (t.ex. Linux) görs enklare.
modem_control_v10.zip

4863 bytes
MD5: 47fe45adb6813f741243f861add7be29
En Microsoft Visual C++ 6.0 projektet fil medföljer källkoden, så man kan bygga och köra den kod omedelbart som ett test.
Men allt du behöver är de två relevanta källfiler ( modem_control.cpp, modem_control.h ) att använda koden i ditt eget program.

9. Använda interface

9.1 Använda gränssnitt till en dator

phone_speech_system_custom_circuit.jpg
Configuration användas i mitt experiment
Bifoga en delare till telefon tråd, med en filial på väg till ett modem och den andra grenen gick till telefon-gränssnittet krets.
Anslut de två audio kablar från banan till ”mikrofonen input” och ”output talare” av ljudkort eller ljud-uttag på persondator eller annan ljudenhet.
Använda modem nummer beskrivs på annan plats i denna artikel kan du använda modem för att ”lyfta telefonen” och ”slå telefonnummer.”
Då datorn kan spela in och spela upp ljud i alla önskat sätt.
Modemet Koden kan sedan användas för ”att” lägga på ”telefonen” för att avsluta samtalet.
Du ansvarar för anmälan av samtal om du tänker spela in en del av samtalet.
(...  Om du inte är regeringen!  Annars kan göra som de säger, inte som de gör!)

9.2 Använda gränssnitt med ljudutrustning

Bifoga en delare till telefon tråd, med en filial går till en vanlig telefon, och den andra grenen gick till telefon-gränssnittet krets.
Anslut antingen ljudsignalen från banan till en mikrofon ingång till en förstärkare eller färdskrivare.
Anslut produktionen av alla enheter som producerar låg amplitud ljud (t.ex. +/-1.0 volt) till antingen ljud-uttag på banan.
Anslut inte ljudutgång för en stereo-förstärkare till den krets, eftersom spänningar är mycket sannolikt att vara mycket höga för telefon-ljud.
Stereo förstärkare brukar ha särskilda resultat (t.ex. RCA kontakterna) för att skicka output audio till andra typer av ljudutrustning att acceptera ljudingång (t.ex. VCR, bandspelare, tv, etc); dessa lågspänning resultat är lämpliga att använda med kretsen beskrivs i denna artikel.
Således kan man godta eller rum ringa via telefon och spela in och spela upp ljud vid användning av telefon.
Du ansvarar för anmälan av samtal om du tänker spela in en del av samtalet.
(...  Om du inte är regeringen!  Annars kan göra som de säger, inte som de gör!)

10. Telefonnätet begrepp

10.1 Studie referenser

Driften av telesystemet är utanför denna artikel.
Consult referenserna i slutet av denna artikel för en del information om ämnet.
Men jag diskutera intressanta belyser i detta avsnitt.

10.2 Grundläggande elektriska aspekter

10.2.1 Telefon eller modem i ”på kroken” staten

Det finns två mål som ledde till telefon design:
(1) En telefon ska vara elektriskt "osynligt" för Direct Current (DC), precis som en öppen krets eller en avstängning, när den är i on-hook state;
(2) Den växelström (AC) Spikes används för att göra telefoner ringen bör godtas av telefoner i on-hook staten så de kommer ringen.
Båda dessa mål uppnås genom att telefon konstruerad så att en icke-polariserat kondensator (eller två) är den telefon enda länk till telefon tråd då i on-hook.
Således Direct Current (DC) inte kan passera, och växelström (AC) ringmärkning signal kan passera till klockorna eller ringningar krets.
När jag mätte DC motstånd av en telefon i den krok staten, det översteg 40 Megaohms.
När jag mätte DC motstånd av ett modem i den krok stat, utan också överskridit 40 Megaohms.
Den DC spänning levereras av telebolag för att upptäcka eventuella motstånd på grund av telefoner är off-hook är ibland rapporteras som 48 Volts.
Jag mätt +23.02 Volts (DC), där jag kallade den ”röda tråd” positiva, och den ”gröna tråd” marken.
Observera att detta DC spänningen sjunker dramatiskt när telefonen är off-hook, jag mätt +7.17 Volts (DC) när telefonen var i off-hook.
Ringing voltage rapporteras vara 90 Volts (16-60 Hz växelström), som kan skrämma eller skada människor under vissa omständigheter.

10.2.2 Telefon eller modem i ”off hook” staten

Telefoner och modem begäran använda en telefon tråd genom att minska sina egna DC resistans.
Detta villkor har upptäckts av telefon-leverantör och tråd blir aktiv.
När jag mätte DC motstånd av en telefon i off-hook staten, det var ungefär 6.83 Megaohms.
När jag mätte DC motstånd av ett modem i off-hook staten, det var nästan exakt 1.500 Megaohms.
Tänk på att båda dessa produkter hade resistenser att överskridas 40 Megaohms då i on-hook.
Intressant är att detta motstånd är ganska hög, nära en mänsklig elektriska motstånd när vidröra ledningar med torra händer.
Till exempel, om jag hålla en tråd i min vänstra hand, och en tråd i min högra hand, med relativt torra händer, jag kan få ett motstånd så låg som 0.5 Megaohms genom att klämma hårt i trådarna.
Pressa ihop mycket lätt ger mig en högre DC motstånd, ungefär 1.5 Megaohms, som tydligen fortfarande låg för att tala om för telebolag att jag är en telefon.
(Never touch telefon trådar!)
Således kan man simulera med en telefon eller ett modem off-kroken bara genom att införa en 1 Megaohm motstånd över telefon tråd.
Man kan göra detta med en krets med ett relä som kontrolleras av en hamn på en dator (RS-232, parallel port, USB, osv), men ett modem är ett bekvämt, billigt och mångsidiga alternativ till ett anpassat relä krets.
Som nämnts ovan har telefonbolaget håller en Direct Current (DC) potential skillnad (spänning) över telefon tråd att spåra telefoner kommer off-hook och återvänder till på kroken.
Jag mätt denna spänning som +23.02 Volts (DC) för on-hook och +7.17 Volts (DC) för off-hook.

10.3 Ljudsignaler

Med telefonen i off-hook stat, ”kopplingston” verkar ha en växelström (AC) Root-Mean-Square (RMS) spänning på 0.139 Volts AC.
Hela signalen är partiska av en betydande DC spänning på ungefär +5 Volts DC; jag mätt +7.17 Volts DC under ett experiment.
Den ljudsignaler är mycket små avvikelser (några procent) Undvik DC spänning.
Detta innebär till exempel att ljudsignaler inte fluktuera kring ett noll spänning, de ljudsignaler aldrig göra det nuvarande flödet i motsatt riktning på telefon tråd.
Det visar sig att min telefon interface circuit konverterar 0.139 VAC signal till cirka 0.030 VAC (dvs 30 mV AC) för användning av ljud-utrustning (t.ex. mikrofon ingången på ett ljudkort).

10.4 Ljud bandbredd

Den primära uppgiften för en telefon-systemet är att ge röst kommunikation mellan människor.
Följande diagram visar den genomsnittliga spektral energi i några sekunder av tal-ljud.
basic_words_average_spectral_energy06.jpg
Genomsnittliga spektral energi (decibel skala) i flera sekunder av tal över hela hörbara intervallet (20 Hz att 20 kHz).  Den vertikala skalan är i decibel, så även en måttlig nedgång på den här diagrammet visar en dramatisk minskning av ljud energi.
Den decibel skala av tabellen ovan innebär att lägre värden i tabellen är faktiskt tiopotenser mindre att högre värden i diagrammet.
Det är uppenbart att en betydande del av den totala energi av tal ljud finns i intervallet 0 Hz att 4000 Hz.
Människan kan tillförlitligt förstå tal även när alla ljud energi utanför intervallet 300 Hz att 3000 Hz elimineras.
Men den subjektiva medför att ljud-energi för att detta intervall är att röster ljudet dämpas och bristande artikulation.
Den subtila skillnaden mellan 'F' och 'S' är lätt förlorat under ett telefonsamtal.
Telesystemet i USA har en röst kanal som endast bedriver frekvenser mellan 0 Hz att 4000 Hz.
Men den röst Passband är begränsad till intervallet 300 Hz att 3000 Hz, och det snabbt ökande dämpning av röst energi utanför detta band.
phone_bandwidth_diagram002.jpg
Voice bandbredd ( 300 Hz - 3000 Hz ) inom Voice Channel ( 0 Hz - 4000 Hz ) av telesystemet i USA
Följande bild är en spektral plot i flera sekunder på en typisk inspelade telefonsamtal.
cell_phone_audio_spectral_view.jpg
Spectral tomt på flera sekunder på en typisk inspelade telefonsamtal (manlig röst)
Även om frekvensen resolution är relativt låg, effekten av den begränsade bandbredden i telefon systemet är uppenbar.
I experimentsyfte, ljud-egenskaperna för en telefon system kan simuleras med en grafisk equalizer, eller en bandpass filter i ett ljudredigeringsprogram programpaket, helt enkelt genom att filtrera bort allt under 350 Hz och allt ovan 3500 Hz.

10.5 Viktigt ljud frekvenser

The ”touch toner” användas för att ”slå nummer” och interagera med automatiserade system som kallas Dual-Tone Multi-Frequency (DTMF) signaler.
Dessa toner kan skapas genom att helt enkelt lägga två Sine Waves tillsammans med en väl frekvenser, som visas i följande matris av frekvenser.
Observera att minsta hålla tiden när du skickar ett DTMF ljudet 50 milliseconds, och den minsta release tid (silent gap mellan DTMF ljud) är 50 milliseconds.
Med förseningar av 200 milliseconds skulle förmodligen vara tillförlitliga.
dtmf_frequency_table.jpg
Den ”kopplingston upptagen signal,” och ”ring-back” låter också har definierat frekvens kombinationer i USA:
phone_state_frequencies.jpg

11. Alternativ telefon gränssnitt metoder

Jag investerade $30 och fyra timmar att bygga banan för att möjliggöra en personlig dator för att skicka och ta emot ljudsignaler under en telefon tråd.
Detta kräver en cetain slags kunskap och utrustning.
Även om du inte är villiga att gå in på verksamhet i tillverkningsindustrin denna krets kan du inte skapa en produkt (billig röst-post eller telefonsvarare) som kräver detta gränssnitt.
Det enklaste och billigt alternativ till den hårdvara som jag beskrev i artikeln är att använda en mjukvara metod för att få tillgång till röst-kapacitet för en ”röst modem.”
Men jag måste säga att jämfört med med en anpassad krets med en röst modem i kombination med särskild programvara sannolikt är mycket plattformsoberoende specifikt och generellt mycket smärtsamt att programmera, konfigurera och använda.
Fördelen (antar du har en röst modem) är att detta skulle vara en ren programvara lösning.
Om du använder en röst modem och speciell programvara, ditt system kan vara så enkelt som diagrammet nedan.
phone_speech_system_voice_modem.jpg
System med hjälp av en inre ”röst modem” och programvara
Beroende på dina behov, röst uppgifter aspekt av röst-modem kan halv duplex (dvs programvara kan ”prata” eller ”lyssna,” men inte båda samtidigt), eller full duplex.
Halv duplex kan lägga några komplicerade att de kontrollerande programvara eftersom du måste bestämma när att sända och ta emot ljud.
The voice modem digitaliserar telefon tråd ljud och överför data över USB eller RS-232 om yttre, eller över PCI buss, om inre.

12. Microsoft Telephony API (TAPI)

Microsoft operativsystem har TAPI 2.0 och TAPI 3.0 DLLs.
TAPI 3.0 kan ha många mjukvara problem, och de flesta människor som har använt Microsoft TAPI har helt enkelt använt TAPI 2.0 (som har nästan all önskad funktionalitet) i stället för TAPI 3.0.
Använd ”wave/in” och ”wave/out” anordningar för att få tillgång till en röst modemets ljudströmmar.
Se TAPI bok i hänvisningarna i denna artikel.  Boken är gammal, men det beskriver TAPI 2.0 i detalj.

13. Java Telephony API

Jag vet inte något om Java Telephony API.
Jag antar dock att det har nytta av att vara oberoende av operativsystem, och förmodligen har mycket enklare uttag än Microsoft TAPI!

14. Olika kommersiella produkter

Kommersiell, rack-monterad maskin gränssnitt till flera externa telefon-ledningar klarar att utbyta röst data med datorer.
”Voice Over IP” (VoIP) produkter, till exempel ”Internet-telefoner,” finns nu överallt (t.ex. ”Skype).”
Uppenbarligen datorprogram kan enkelt få tillgång till ljud för sådana telefonledningar.

15. Referenser

Best, mest heltäckande guide till telefon kretsar jag har stött på Internet:
http://www.hut.fi/Misc/Electronics/circuits/teleinterface.html
En annan intressant referens:
http://www.repairfaq.org/ELE/F_ASCII_Schem_Tel.html
Munter (och galen) guide till telefonautomater runt om i USA och Kanada:
http://www.payphone-directory.org
(Look ”överst bidragsgivare” av betal-telefonnummer, telefon-ljud prov, och telefon bilder.)

16. Böcker

16.1 Understanding Telephone Electronics (4th ed)

book_cover_telephone_electronics02.jpg
Understanding Telephone Electronics (4th ed);
Newnes; 2001;
Stephen J.  Bigelow, Joseph J.  Carr, Steve Winder;
$25.45 US (2001)
Denna bok beskriver många aspekter av telefon-kretsar och drift av telenätet i USA.
Det finns många detaljer om kretsar och protokoll, allt från en telefon till telenätet.
Utan tvekan den teknik som är helt annorlunda nu, men denna bok är nog lite mer praktisk än en historiebok.

16.2 Windows Telephony Programming: A Developer's Guide to TAPI

book_cover_windows_tapi02.jpg
Windows Telephony Programming: A Developer's Guide to TAPI;
Addison-Wesley; 1998;
Chris Sells;
$33.95 US (1998)
Den Microsoft Telephony API (TAPI) är onödigt rörigt och förvirrande, och är nu extremt föråldrad.  Boken som nämns ovan kan vara den enda bok som någonsin publicerats om Microsoft Telephony API (TAPI).
colinfahey.com
kontaktinformation
English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية