将数据转换为声音并返回

时间:2010-12-19 15:39:13

标签: java .net algorithm

那里有库可以将数据(文本文件等)转换为声音并返回原始数据吗?

声音可以传输到我想要的任何媒体,无论是收音机等。我只需要将数据存储在声音文件中。

情景:

step1:将包含嵌入图片的.docx文件转换为.wav。

第2步:通过无线电波发送。

step3:将此.wav转换回带有嵌入图片的.docx文件。

此概念可应用于任何数据。

技术:

.net 或java

6 个答案:

答案 0 :(得分:4)

我认为媒体很重要,其他因素也很重要,例如文件大小和可用的传输时间。一个简单的算法是将文件转换为文本(UUENCODE应该这样做)然后转换为莫尔斯代码:http://www.codeproject.com/KB/vb/morsecode.aspx

莫尔斯为您提供了一个简单的字母表,能够在相当嘈杂的无线电频道上传输。

如果您的运营商更清洁,您的UUEncoded文件转换为一系列频率,每个字符一个也可能有效,并且很容易在另一端解码,Frequency Analyzer in C#

答案 1 :(得分:0)

最好的方法是将音频文件转换为二进制文件并以您指定的文件类型存储。

试用Java中的AudioInputStream Class

答案 2 :(得分:0)

音频文件是否需要使用有损压缩器(MP3等)进行转换?如果没有,你可以在任何二进制数据周围添加一个WAV容器,你会没事的。否则会变得更加困难,并且您需要确保音频是可听见的(在播放时在合理的频率范围内)并且在频率检测上足够容忍以匹配有损编解码器的输出。

答案 3 :(得分:0)

您可以尝试将磁卡技术用于您的文件,我也尝试在Android上执行此操作。 使用java和android,任何数据都可以转换为字节串,这很可能。 然后使用Magnetic Cards API的编码机制将字符串编码为声音。然后你可以反过来使用,反过来将声音转换为字符串转换为字节并保存数据。只是需要时间来转换两种方式,但这是可行的,我试图这样做,以便任何一个具有无限语音连接的人可以传输文件或将来只需通过调用另一个来浏览互联网数。我希望我能给你一些想法。

答案 4 :(得分:0)

为了给出我认为对上述所有内容的更好响应,请查看分组无线电以及与其对应的各种位AX.25是一个很好的示例,并且有许多实现。 POCSAG也是另一个很好的实现。它们都有许多不同语言的库,已经存在了很长时间。

其他例子包括WEFAX(天气传真),HFFax,SSTV(慢扫描电视)等等。

您可以将它们全部视为与旧式学校电话线调制解调器类型编码器和解码器类似,运行在300-2400波特附近

答案 5 :(得分:0)

问题在于Word文档中的数据不一定能发出令人满意的声音。如果选择1.8kHz载波,并使用word文档的二进制内容来调制音量或频率(AM或FM),则结果将变得混乱且难以解码。

但是,如果将文档另存为位图,则可以使用像素值来调制载波的音量。

多年以来,在调制解调器和互联网开始普及之前,我们一直使用这种方法通过电话线发送图片(不仅是黑白图像,而且是灰度和彩色图像(r,g和b三种不同的分离))。 / p>

有趣的是,您可以通过这种方式广播数据。声音可以同时被多个接收器接收。没有纠错功能,但是在处理可视数据时,您不必担心会丢失一些像素。它类似于旧的传真协议。