16

故事

我没有任何传真硬件,所以我很难与电话里有传真噪音的人交流。甚至很难想象在 2012 年,人们仍在使用吃树和纸的设备进行交流。所以,我想给他们发传真,宣布互联网、电子邮件和视频会议的新时代终于到来了。

http://xkcd.com/454/

问题

由于我没有任何传真硬件,显而易见且最快的选择是通过在线服务发送消息。另一方面,传真硬件基本上是一个扬声器、一个麦克风和一点点数字信号处理代码。唯一明显的问题是代码。传真协议是已知的——即使在 Python 中实现它也不应该是一个问题,但到目前为止,我还没有看到任何使用扬声器+麦克风进行传真的示例。CPU 性能是毫无疑问的——现代 PC 有足够的能力来计算 2400 位/秒的足够噪声。所以我对此唯一的技术解释是延迟 - (噪音从麦克风传播到 DSP 代码并返回到扬声器的时间)太长了,以至于它破坏了传输。

问题

如果上述情况属实 - 传真协议所需的延迟是多少?
是否有测量麦克风扬声器延迟的工具?
我还错过了什么?
是否可以在 Python 中实现所有内容?

PS 当我查看 ITU时,我找不到任何东西(除了我发现ITU 正在寻找你

4

2 回答 2

2

Fabrice Bellard(是的,QEMU 和 Javascript-PC-emulator 的家伙,他很棒;))在软件调制解调器上做了一些工作。根据他的项目页面,有“声卡接口”的代码以及各种协议的调制/解调。我还没有查看源代码,但这可能会提供有用的部分。也有linmodems.org站点,其中包含更多指针。

Linmodems.org 链接到已故的 Tony Fisher 的一些软件,他似乎已经完整地实现了您想要实现的发送部分,尽管对于一个古老的工作站。看看手册页

此外,在2003 年的 GNU 广播邮件列表上有一个似乎想要同样东西的人的帖子,尽管当时他没有 xkcd 来描述它;)

于 2012-06-14T12:08:52.347 回答
1

为什么要重新发明东西。

该代码可在http://www.hylafax.org/archive/2005-12/msg00120.php获得

于 2012-06-12T13:01:28.560 回答