2016-09-16 70 views
1

我期待实验的想法,并创建一个小的Web应用程序,让我选择一个图像,将其转换为音频和回放(我的理解它不会音质悦耳)如何使用JavaScript将图像转换为音频?

所以我的问题任何人都可以提出一些例子或现有的图书馆,可以帮助我。

我将探讨其他领域是利用加工MaxMSP,但理想情况下,我想以后打包的内容我在做离子的喜欢 - 这样的网络解决方案是首选。

感谢

回答

0

德国数学家大卫·希尔伯特公布的就是我们所说的the Hilbert Curve定义如何将图像访问每个一次且仅一次不跳过任何像素在一个角落里开始和结束的另一跨越每个像素跟踪。这是如何将2D图像转换为1D表示的。

在此得到的线条您记录每个像素的光强度测量...我们了解这个图片,我们从低到高的频率,人的听觉范围映射到该行合成音频...每一个像素点之上你介绍一个正弦曲线振荡器在适合其位置的频率产生恒定的单音线从左到右在您的线路......综合所有这些同步振荡器的声音......这是图像的声音

美丽的方面是它会同样以相反的...从任意音频的图像表示...它不是失去了音频流可以得到转化成视频流......如果你想做到这一点没有松动信息去罗比n(音频 - >视频 - >音频 - > ...)变得棘手,因为将每个像素的RGBA折叠成单个光强度值的简单方法具有避免丢失真正需要的信息的雄心壮志multidimensional structure instead of a simple 1D line

Here is a video explaining this Hilbert Curve

它是一个很好的自包含的想法,它在计算上足够简单,足以实时执行可观的音频采样率和比特深度的图像分辨率......我正在积极研究这个问题,并将报告回我有一个代码回购

发现关于实施细节还有图书馆,露出了提供的图像的RGBA像素值...以及S在编写自己的希尔伯特曲线算法时,它也有库...一旦所有的频率振荡器嗡嗡作响,您将需要同时对它们进行采样,以合成一个输出采样作为给定采样时间点的总体曲线高度...然后能够听到音频输出我会使用Web Audio API,您可以在其中使用您的聚合曲线音频提供其事件循环内存缓冲区...不是一个简单的方法,但非常可行

人类的大脑是塑料足以接受训练,听取其他人看到的内容,这样盲人就会用这个来摆脱他们的拐杖!什么喜悦...

+0

谢谢你的快速反应!这听起来很有用,我会深入该视频并尽快回复。更多的探索建议像这样,比欢迎! – leeboyce

+1

我已经拍摄的笔记,我问过自己的问题很适合那部影片。我很高兴现在深入挖掘,谢谢你的建议。 如果我有任何进展,我会告诉你。 – leeboyce

+0

我真的不知道从哪里开始对这个JavaScript,但我可以说骑车每个像素(用于不同的目的falthough)提取的颜色值等之前它肯定做,能,香港专业教育学院完成这个任务的第一部分在PHP。请发布任何结果,爱看到他们。 – ZBerg