Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9417421
  • 博文数量: 1748
  • 博客积分: 12961
  • 博客等级: 上将
  • 技术积分: 20070
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 11:25
个人简介

偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.

文章分类

全部博文(1748)

文章存档

2024年(24)

2023年(26)

2022年(112)

2021年(217)

2020年(157)

2019年(192)

2018年(81)

2017年(78)

2016年(70)

2015年(52)

2014年(40)

2013年(51)

2012年(85)

2011年(45)

2010年(231)

2009年(287)

分类: 其他平台

2019-10-30 15:34:34

http://blog.chinaunix.net/uid-149881-id-3029402.html

点击(此处)折叠或打开

  1. sudo chown 500 /var/lock/lockdev

  2. 命令行
  3. atz
  4. at+fclass=8
  5. atdt[phone number] or ata
  6. at+vls=1
  7. at+vrx => start recv voice .  使用 AT+VSM 确定音频格式.
  8. AT+VSM=?
    0 -- signed PCM,8,0 (8000)
    2 -- IMA ADPCM 4,0 (8000)
    128 -- signed PCM 8,0, (8000)
    129 -- IMA ADPCM 4,0, (8000)
  9. at+vtx => start send voice
  10. 然后自己ReadFile(从文件读),WriteFile(向Modem写)啊

音频数据总是以略快于播放速度的速度发送到调制解调器,因此调制解调器可以缓冲其中的一小部分,并且可以流畅地播放,而不会因为计算机操作系统中的延迟而导致单击或弹出。
例如,在8位分辨率的8 kHz音频文件回放期间(这将创建8,000字节,或在包括开始/停止位/秒时创建80,000位),数据必须在串行端口上以每秒至少115,200位的速度传输。(115,200位/秒是一个典型的大于80,000的计算机串行端口的第一个设置。)此外,由于将流中的DLE字节加倍所涉及的一些额外开销(下面将提到),因此必须提供少量额外的带宽来实现这一点。

1。
语音数据需要透明化,即,消除与modem控制命令向抵触的数据,加上转义符 
2。语音的数据格式有要求,一般是A率(a-law)单声道的数据,播放速度不能控制,除非你做混音或合成,即先调好速度再播放。格式不对听不到声音或声音变形。你可以用CoolEdit2000修改文件格式。除非自己做一些编码解码器(网上有源代码),否则不是随便指定什么文件都能播放。MP3肯定不能直接,除非Modem内置了MP3解码芯片(那是天方夜谭,呵呵) 
3。Modem跟声卡连接的问题本人没做过,发完at+vtx就在向外播放声卡解码的声音了。 
4。跟控制面板无关,只要Modem安装正常。 
5。用文件API向Modem发送和从Modem接收语音,即使使用TAPI也需要这一组函数。先GetLineID()(好象是这个函数吧?)再ReadFile()或者WriteFile() 
6。一般是使用硬件流控方式,通过DCB设置给modem。主叫方要 
atz 
at+flcass=8(不支持该指令的Modem不能用) 
at+vls=1 
at+vrx/vtx 
modem作为被叫可能也需要at+fclass=8,再ata 
7。一般的modem只支持语音半双工,做电脑自动语音功能还可以,不能指望用它来通话,除非自己特制的modem
8. 模拟线路向外呼叫时,判断对方摘机,语音卡驱动一般是采用如下方法:
1、对方摘机并产生爆音
说明:如果对方摘机不说话,则系统就无法知道对方摘机,就达不到外呼的目的。
问题:目前大部分手机和普通电话用户都开通了彩铃音乐声,此时,如果用这种方法来判断对方摘机,就会带来严重的后果。即:电话外呼,对方电话机响铃并送彩铃音乐,检测到爆音并开始播放外呼语音,此时对方电话并没有摘机而系统却认为对方摘机了,并提前播放了语音,等对方真正摘机的时候语音已经放完了或播放一半了,这种效果的或自动传真系统买了也是无用。
2、对方摘机,线路产生反极信号
说明:需要将电话线开通反极信号(电压跳变),当对方摘机,线路就产生一次反极,挂机又产生一次反极。
问题:是绝对无法开通反极信号的,除非申请,但申请从成本和难度上面来说都是很困难的。同时,大部分购买电话外呼系统的客户基本上采用的是
经过多年的研究,在2004年下半年率先在国内解决了彩铃的问题,得到了广大语音卡厂商和大量客户的认可,电话线路无须申请反极信号,也能准确地判断对方(被叫)摘机,并能准确地在被叫摘机的时候放音。
解决方法大致如下:
1、采样传回来的线路语音
2、采用FFT算法对采样回来的语音进行分析
3、分析采样回来的语音频率,并与语音卡驱动设置的信号音频率进行比较
4、判断采样回来的语音是人说话的声音还是音乐声
5、最后对声音进行综合分析,判断对方(被叫)是否摘机了,并在对方摘机的时候开始播放外呼语音。
特别:彩铃问题的解决,极大地提高了传真系统的发送成功率,这个问题如果解决的不好,传真系统的发送成功率是一个很大的问题。

点击(此处)折叠或打开

  1. 在未接通时的数据。
  2. 81 80 80 81 81 82 81 82 82 80 80 00 81 81 80 01 00 01 00 00 00 81 81 80 80 80 00 80 80 00 80 81 82 82 82 81 81 80 00 00 00 01 81 80 00 01 01 00 01 01 00 00 01 80 00 80

  3. 81 81 80 80 81 81 82 82 82 82 82 80 81 00 00 00 02 01 00 01 01 80 80 81 81 82 81 80 82 80 80 80 82 80 80 82 80 00 00 01 00 01 01 01 81 00 00 01 01 01 80 00 80 00 80 81

  4. 00 80 81 81 81 81 81 81 83 81 84 82 81 82 81 83 81 80 80 00 01 02 00 01 00 01 02 01 80 00 80 80 00 80 80 80 81 80 81 81 80 80 00 00 00 00 00 00 81 80 80 80 81 80 81 00

  5. 81 80 01 00 00 01 80 80 00 00 80 00 81 81 82 81 82 82 81 81 80 80 80 01 80 00 01 00 80 82 81 80 80 82 00 80 80 00 00 00 01 00 80 80 80 00 00 00 00 00 80 81 82 81 81 80

  6. 82 82 81 00 81 82 82 83 83 80 80 81 80 80 00 80 00 81 80 00 00 80 00 01 02 00 00 00 02 03 02 01 00 81 81 82 81 00 81 80 81 80 00 80 80 00 81 80 81 81 81 81 80 81 80 82




  7. 接通后

  8. 83 1B 2F 29 84 A1 A8 B7 B7 9D 9E 08 3A 3C 39 34 88 B6 BA BA B5 16 30 36 44 47 43 40 3C A1 C4 CB D3 D4 CD A8 46 5A 61 60 52 80 D4 E0 E2 DB CF 98 46 51 52 50 40 81 B3 C0

  9. B8 83 32 3C 43 41 35 30 8F BB B9 B7 B9 AD A7 B5 BA AB 97 00 32 2C 85 94 A9 BD BA A4 BB A9 40 41 44 4D 3A AE BA C5 CD AC 35 3E 4C 53 4A 3E 33 B5 D0 D0 D3 D3 C7 A7 3D 54

  10. 5D 5A 52 37 C7 D7 DA D8 CF AD 36 45 4F 4D 42 2A 94 B6 B9 A7 86 2A 3A 38 31 14 8B 9E AD B1 B3 B5 B6 B2 9D 84 1A 26 21 14 82 A6 B5 B6 B6 B4 22 40 3B 3D 32 A4 B7 B5 B8 9D

  11. 31 32 3A 46 47 44 3C 03 C0 CB CF CD C7 C4 B3 40 54 5A 5C 51 A4 CF D8 DB D4 C2 A1 35 4A 4E 4D 49 2D B2 BB B9 B1 27 40 3F 3F 38 87 B2 BB C0 B6 A9 9C 83 06 91 A1 8D 99 96

  12. 08 A3 B1 AD A9 95 2A 21 90 31 38 83 21 0A C2 C2 B2 B3 32 4E 46 46 4C 41 31 2B BE D1 D0 D2 D9 CA 33 50 5C 63 59 3B BA D6 E0 D8 CE BF 3B 51 51 52 4D 12 BF C4 CB C5 8E 37


  13. 看起来像是很明显,如果没有接通, 那么说明数值在 0 和 128 两个数值之间徘徊, 如果有接通,会有相当的一部分处于 偏离了0和128的点位。 呵呵, 目前也只能从此检测是否有摘机动

  14. 作了。

  15. 判断对方是否摘机是否只有对声音进行采样分析一种方法

点击(此处)折叠或打开



  1. EXAMPLES OF VOICE MODE OPERATION
  2. Greeting message recording (Put a MIC into dial-up line RJ11 jack)
  3.     DTE DCE comments
  4.  ------------- ----------- ---------------------
  5.  AT+FCLASS=8 ---> Switch to voice mode
  6.         <--- OK

  7.  AT+VSM=? --->
  8.          1;CELP;1;0;(9600)
  9.          2;ADPCM;2;0;(9600)
  10.          3;ADPCM;3;0;(9600)
  11.          30;ADPCM;3;0;(9600)
  12.          4;ADPCM;4;0;(9600)
  13.         <--- OK

  14.  AT+VSM=1 ---> Select CELP compression method
  15.         <--- OK

  16.  AT+VLS=8 ---> Activate external MIC on Line
  17.                  Jack
  18.         <--- VCON

  19.  AT+VRX ---> Start to record
  20.         <--- CONNECT
  21.         <---

  22.  AT ---> Stop recording
  23.         <---
  24.         <---
  25.         <--- VCON Return to commnad state

  26.  AT+VLS=0 ----> Deactivate external MIC on Line
  27.                  Jack
  28.         <--- OK

  29.  AT+FCLASS=0 Return to data mode
  30.         <--- OK

  31. Voice file playing via internal speaker
  32.     DTE DCE comments
  33.  ----------- ----------------- -------------------
  34.  AT+FCLASS=8 ---> Switch to voice mode
  35.         <--- OK

  36.  AT+VSM=? --->
  37.          1;CELP;1;0;(9600)
  38.          2;ADPCM;2;0;(9600)
  39.          3;ADPCM;3;0;(9600)
  40.          30;ADPCM;3;0;(9600)
  41.          4;ADPCM;4;0;(9600)
  42.         <--- OK

  43.  AT+VSM=1 ---> Select CELP compression method
  44.         <--- OK

  45.  AT+VLS=16 ---> Activate internal speaker
  46.         <--- VCON

  47.  AT+VTX ---> Start to play
  48.         <--- CONNECT
  49.           --->
  50.       --->
  51.         <--- VCON Return to commnad state

  52.  AT+VLS=0 ---> Deactivate internal speaker
  53.         <--- OK

  54.  AT+FCLASS=0 Return to data mode
  55.         <--- OK
  56. Voice file playing via line

  57.     DTE DCE comments
  58.  ----------- -------------- --------------------
  59.  AT+FCLASS=8 ---> Switch to voice mode
  60.         <--- OK

  61.  AT+VSM=? --->
  62.          1;CELP;1;0;(9600)
  63.          2;ADPCM;2;0;(9600)
  64.          3;ADPCM;3;0;(9600)
  65.          30;ADPCM;3;0;(9600)
  66.          4;ADPCM;4;0;(9600)
  67.         <--- OK
  68.  AT+VSM=1 ---> Select CELP compression method
  69.         <--- OK

  70.  AT+VLS=2 ---> Connect to line
  71.         <--- VCON

  72.  AT+VTX ---> Start to play
  73.         <--- CONNECT
  74.           --->
  75.       --->
  76.         <--- VCON Return to commnad state

  77.  AT+VLS=0 ---> Deactivate line connection
  78.         <--- OK

  79.  AT+FCLASS=0 Return to data mode
  80.         <--- OK
  81. Answering machine (Voice call)
  82.     DTE DCE comments
  83.  ----------- -------------- -------------------
  84.  AT+FCLASS=8 ---> Switch to voice mode
  85.         <--- OK

  86.  AT+VSM=? --->
  87.          1;CELP;1;0;(9600)
  88.          2;ADPCM;2;0;(9600)
  89.          3;ADPCM;3;0;(9600)
  90.          30;ADPCM;3;0;(9600)
  91.          4;ADPCM;4;0;(9600)
  92.         <--- OK

  93.  AT+VSM=1 ---> Select CELP compression method
  94.         <--- OK

  95.  AT+VLS=2 ---> Connect to line
  96.         <--- VCON

  97.  AT+VTX ---> Start to play greeting message
  98.         <--- CONNECT
  99.           --->
  100.       --->
  101.         <--- VCON return to commnad state

  102.  AT+VRX ---> Start to record
  103.         <--- CONNECT
  104.         <---
  105.         <--- b DCE detects busy tone
  106.              or or
  107.              q long period of quiet

  108.  AT ----> Stop recording
  109.         <--- DCE deliver remaining data
  110.         <---
  111.         <--- VCON Return to commnad state

  112.  AT+VLS=0 ---> Deactivate line connection
  113.         <--- OK

  114.  AT+FCLASS=0 Return to data mode
  115.         <--- OK
  116. Answering machine (Fax call)

  117.     DTE DCE comments
  118.  ----------- -------------- ------------------
  119.  AT+FCLASS=8 ---> Switch to voice mode
  120.         <--- OK

  121.  AT+VSM=? --->
  122.          1;CELP;1;0;(9600)
  123.          2;ADPCM;2;0;(9600)
  124.          3;ADPCM;3;0;(9600)
  125.          30;ADPCM;3;0;(9600)
  126.          4;ADPCM;4;0;(9600)
  127.         <--- OK

  128.  AT+VSM=1 ---> Select CELP compression method
  129.         <--- OK

  130.  AT+VLS=2 ---> Connect to line
  131.         <--- VCON

  132.  AT+VTX ---> Start to play greeting message
  133.         <--- CONNECT
  134.           --->
  135.         <--- c T.30 fax calling tone detected
  136.              or or
  137.              5 DTMF digit '5' detected
  138.           --->
  139.       --->
  140.         <--- VCON Return to commnad state

  141.  AT+FCLASS=2 ---> Try to handshake Fax mode
  142.         <--- OK

  143.  ATA --->
  144.      Switch to fax mode and answer fax call
  145.              .
  146.              .
  147.              .
  148. Answering machine (Data call)
  149.     DTE DCE comments
  150.  ----------- ------------- --------------------
  151.  AT+FCLASS=8 ---> Switch to voice mode
  152.         <--- OK

  153.  AT+VSM=? --->
  154.          1;CELP;1;0;(9600)
  155.          2;ADPCM;2;0;(9600)
  156.          3;ADPCM;3;0;(9600)
  157.          30;ADPCM;3;0;(9600)
  158.          4;ADPCM;4;0;(9600)
  159.         <--- OK

  160.  AT+VSM=1 ---> Select CELP compression method
  161.         <--- OK

  162.  AT+VLS=2 ---> Connect to line
  163.         <--- VCON

  164.  AT+VTX ---> Start to play greeting message
  165.         <--- CONNECT
  166.           --->
  167.       --->
  168.         <--- VCON Return to command state

  169.  AT+VRX ---> Start to record
  170.         <--- CONNECT
  171.         <---
  172.         <--- s DCE detects silence

  173.  AT ----> Stop recording
  174.         <--- DCE deliver remaining data
  175.         <---
  176.         <--- VCON return to command state
  177.      (DTE delete this silence file)

  178.  AT+FCLASS=0 --->
  179.         <--- OK

  180.  ATA ---> Try to handshake data mode
  181.      Switch to data mode and answer data call



阅读(3776) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~