如何在 Linux 中将传真传输的音频文件转换为图像?

如何在 Linux 中将传真传输的音频文件转换为图像?

我有一些从模拟 (POTS) 电话线录制的未压缩音频文件,这些文件是传真传输的。有没有办法将这些文件转换为它们所包含的传真图像(在 Linux 中)?

我并不想通过调制解调器发送/接收传真,而只是想“重放”通信音调并解析传真消息。我知道存在双工问题,并且不知道对话的哪一端发送了什么。

答案1

有一个名为 fax_decode 的测试工具,它接收单通道音频波形文件,并将传真位图解码为 tiff 图像文件。这正是您所要求的。

此工具是软交换项目的 SpanDSP 库的一部分。您可以从以下位置下载https://www.soft-switch.org/downloads/spandsp/并使用 --enable-tests 进行配置。源代码位于 tests/fax_decode.c 文件中。

我在传真录音的右声道上测试了它http://goughlui.com/2013/02/13/sounds-of-fax-modes-and-ecm/并且运行良好。

答案2

过去十年的大多数传真都是 CCITT Group 3 或 4,包含 image/g3fax 或 image/g4fax 数据,这些数据以 V.27、V.29、V.17、V.34 或 V.34bis 之一进行封装(或者说调制)。

请注意,传真传输并不是真正的传输,而是一种双向通信。因此,您不能简单地将音频播放回传真机并期望它能正常工作。不过,幸运的是,传真图像数据传输本身不间断,因此可以过滤掉不必要的数据。

您需要做的是解调内容以检索二进制传真会话并过滤出并提取 image/g3fax 或 image/g4fax 数据。

已故的 Tony Fischer 为 V.34 编写了一个软件传真解调器。它只适用于 Irix,因此您需要移植它。曾经有一个 Linux 端口,但我找不到任何有效的链接。http://www-users.cs.york.ac.uk/~fisher/software/modem/current/

还有 Linmodem 项目。

通过这些资源和一些 C 编程,您应该能够提取传真...如果数据对您如此重要,这并非易事,但如果数据对您如此重要,那么这是可能的。

答案3

您的录音可能包含足够的信息来重新组合这些信息。但是我不知道在 Linux 或任何其他操作系统中是否有现成的方法可以做到这一点。

您可能想看看软调制解调器或业余无线电软件调制解调器 - 您可能能够通过环回或类似方式播放它。

或者 - 查看标准并自己实现。最好先热身一下你的 DSP 编程技能。:)

答案4

根据 Jasen 的说法,您可以设置 Linux 机器来接收传真,然后通过线路播放声音,将其传送到计算机。如果您的录音涉及发送的铃声,那么它应该可以工作。

相关内容