15

我想编写一个以编程方式发送传真的程序。或接收传真。但不是调制解调器。我想我正在尝试编写传真模拟器。硬件所做的一切,我都想用软件来做。

关于这个主题有十亿个 SO 问题,但他们要么建议使用在线服务,要么将我指向一个与我的计算机调制解调器对话的图书馆。所以这是我的具体问题:

  1. 当我发送传真时,我能听到电话线上的嗡嗡声。这告诉我,我的传真机正在生成收件人可以使用的音调。那个协议是什么?是否有 RFC 指定如何将“像素”转换为“频率”?机器是来回通信,还是单向通信?

  2. 如果我们同意传真机将声音频率转换为图像,那么我们应该能够编写一个程序,将传真传输的 MP3 格式并输出图形。为了做到这一点,我需要知道什么?

这些问题是否基于任何有缺陷的假设?我应该从哪里开始,这样我才能从上面完成目标 2?

4

3 回答 3

6

实际上,在调制解调器中,一个名为“DSP => 数字信号处理”的芯片负责将音频信号转换为数字数据。同样可以使用软件库来完成。已经有一个名为 SpanDSP 的开源 DSP 库,由“Steve Underwood” http://www.soft-switch.org/开发。

您可以在使用 SpanDSP 库的同时构建自己的应用程序,但明智的做法是使用一些现有的 SpanDSP 实现。目前 SpanDSP 在开源 FreeSwitch、CallWeaver 和 Asterisk PBX 系统中实现。

但是如果你只想发送和接收传真而不打扰底层开发,那么试试ICTFAX Open Source FAX 系统

于 2011-03-04T09:41:07.727 回答
5

您需要的传真规格是 ITU T4 和 T30,它们花费大量资金并且几乎故意难以理解,它们会向您推荐各种调制解调器标准,以了解实际“颤音”是如何完成的。

如果您希望获得像 RFC 这样的免费/简单的东西,那么您现在应该放弃了。

如果您确实想要解码音频文件,则需要将其视为两个完全独立的任务 - 首先将音调解码为数据流(构建多个软调制解调器,用于传真机可以同意通信的各种方式),以及然后将数据流解码为像素(编写传真机的软件)。

传真机将明暗转换为声音然后再返回,或者可以窃听两台传真机之间的对话并恢复图像(实时或通过某种捕获文件),您从根本上没有错,虽然我不确定 MP3 是否会起作用),但我怀疑你已经大大大大低估了所涉及的工作量。

于 2011-03-04T10:06:23.217 回答
0

http://en.wikipedia.org/wiki/Fax

有很多背景。

ITU 协议非常复杂,IIRC 的确切规范不是免费的。

于 2011-02-22T05:16:29.160 回答