用串口进行语音传输,最大的速率有多少??

ntjenny 2004-04-20 09:36:23
api函数进行串口的读写,在网络中进行语音传输,回音特别大,估计是速率不够,在上位机如何才能消除回声,提高速度。
...全文
718 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
squallme 2004-04-21
  • 打赏
  • 举报
回复
应该没问题
ckc 2004-04-20
  • 打赏
  • 举报
回复
串口最大速度差不多也就是11K,传输8K的数据估计很紧张吧
你如果怀疑是速率不够,那就调低速率看一下是不是回声就消除了?
Leo 2004-04-20
  • 打赏
  • 举报
回复
如果网络延迟实在没办法减小,可以考虑上位机采用回音消除算法来消除回音:
1.比较初级的做法是:采用半双工的办法,既放音的时候不要录音,录音的时候不要放音,录音和放音转换时要有一定间隔(视网络延迟时间而定),既录音转换放音或放音录音转换录音中间要有一段时间既不录音也不放音.
2.高级一点的做法是:采用一定的算法(一般是自适应抵消器),来消除SPEAKER的回音.不过算法比较复杂.
3.如果对硬件比较熟,可以采用现成的回音消除芯片.效果更好.
Leo 2004-04-20
  • 打赏
  • 举报
回复
如果可以实时传输声音(断音),只是回音大,那么与速度的关系不大,这是由于网络延迟时间过大引起的.也有可能api函数的BUFFER太大(我猜你是用的waveIn系列函数),录的声音是前一段时间的.具体要看你的BUFFER大小,如果BUFFER是1秒,那么你得到的是1秒钟以前的数据.这样当然有回音了.建议延迟时间不超过150毫秒,效果可以忍受.理想的状态延迟时间不超过50毫秒.

另:用115200bps传8k8bit的声音,完全够用

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧