如何将文件转换为模拟调制解调器声音?[关闭]


3

有没有人知道任何软件会将文件(任何文件,例如doc,zip,pdf等)转换为声音文件,以便它像旧的调制解调器噪声一样播放?然后它可以在另一台机器上“播放”并解密回原始格式。想法是转换为模拟声音,通过耳机插孔录制,然后在另一台机器上播放。

如果没有,有没有人知道/有任何想法如何创建程序来做这样的事情?我可以在C#中编写相当好的代码但是不知道从哪里开始。


我怀疑每个可以发送的字节,转换为一个独特的音符。并且记住,在所有的噪音之后,它开始了,在登录后停止了噪音。但也许它是一个标准的字节集,在登录阶段通过调制解调器发送和传输,产生了经典的声音。不是那些不同的数据......并注意到如果有轻微的差异,我认为人们得到了相同的声音。
barlop 2011年

登录时的噪音是握手序列modemhelp.net/faqs/handshake.shtml
acjay 2011年

Answers:


0

这实际上取决于您想要的技术。如果您真的不关心实现合理的数据速率,可以使用许多简单的调制方案,例如频移键控或其中一种脉冲调制算法,PWM和PPM可能是最简单的。您必须小心的是,电话线的带宽非常有限,因此某些频率甚至无法通过。

合成你的音调不应该太困难。查看.NET音频API,我对它们了解不多。接收端的检测将是最棘手的部分,具体取决于您选择的调制方案。脉冲调制将是最容易做到的,因为您可以在信号的半个周期内简单地测量信号的平均绝对值,如果超过某个阈值则称之为脉冲。通过这种方式,您可以将模拟信号转换为数字信号,然后可以将其解码回您传输的数据的实际字节。

真正的调制解调器使用一些相当复杂的编码,基于电信系统的详细知识,以及同步技术和纠错。因此,认为你将达到56kbps附近或者你的系统听起来像真实的东西可能是不切实际的。

您只有大约7000Hz的带宽,这意味着您无法传输高于3500Hz的任何频率,并且您的上升和下降时间相当长。实际上,如果你的系统运行良好并且你有一个非常无噪音的连接,你可能能够达到大约500bps的速度。


非常感谢将关注音频API。我实际上并不担心它像调制解调器那样“听起来”,我实际上想用它作为一个小项目传输数据的手段...是的,我知道我可以使用闪存驱动器,但那也是简单!:)
Andreas Josas

2

您要求的是非常直接的,同时又尴尬 - 当您听到调制解调器噪音时,它实际上不是数据本身,而是专门设计的协议中的数据。

一个很大的误解是,调制解调器上的所有音频听起来都像初始声音 - 实际上,“数据”的实际声音是不同的,因此登录总是听起来相同的原因是因为它几乎总是发送几乎相同的信号/信息。

因此,如果您想将数据转换为声音,最简单的方法可能是选择(无损)更简单的格式(如MIDI),或搜索Midplex 组件的 Codeplex /类似网站,这将大大简化您的工作。

接下来,我不确定有多少独特的音符,但我认为至少有65025种可能的独特音符(通过音高等), - 作为原始示例,您可以将源文件作为原始数据文件打开并且基本上将每个hex double映射到一个音符。

所以,基本上你会通过给它正确的页眉/页脚来人工创建声音文件,然后通过将文件的每个字节编码为不同的音符来简单地填充它。此外,如果您愿意,您可以拥有校验和/结束和开始角色。

您将需要构建一个不太容易的编码器和解码器,但是,我不认为这是不可能的,您应该能够产生音频声音!...我怀疑它听起来像调制解调器 - 但是 - 谁知道!

请注意 - 我不是音响工程师......如果我对MIDI有误,请选择其他格式......根据这个想法来判断!



@ Techie007 - 很好!谢谢...我没有一个线索,它实际上代表的是......从来没有真正给它一点时间虽然...添加到我的阅读队列!
William Hilsum

1
@ techie007不太好。它代表调制器解调器。
barlop 2011年

@Barlop:真的吗?;)我并没有试图定义调制解调器的意思,只是简单地显示关系。:)
Ƭᴇcʜιᴇ0072011年

你知道,MIDI只有128个音符值(tomscarff.110mb.com/midi_analyser / ...),并且由于POTS不能传输低于300Hz(en.wikipedia.org/wiki/Plain_old_telephone_service),你必须丢弃D#4下面的所有内容(phy.mtu.edu/~suits/notefreqs.html)。这只留下64个音符值。您可以使用base-64将数据编码为这些数据,但是仍然存在必须在接收端区分这些注释的问题,这是非常重要的。
2011年

1

试试MixW软件。我们HAMS已经在使用这个软件通过无线电传输文件。它将数据转换为语音,并通过无线电作为普通语音进行传输。它是一种单工类型的通信协议,因此速度非常低。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.