作为一个盲人,我很好奇我是否可以使用Wolfram来发挥功能。例如,如果我将y = x平方从-10插入到10,则我希望听到随着函数变平而逐渐减小的音调,然后是原点处的正常音调,然后随着函数移动而变高的音调朝向正无穷大。
最佳答案
使用播放功能和正弦波,您可以创建一个主要执行所需功能的功能(使用振幅而不是频率)。
sinPlay[f_, { start_, end_}, baseFreq_] := EmitSound[ Play[Sin[x *baseFreq]* f[x], {x,start,end}]]
此函数将函数的高度映射到振幅。请注意,由于y = 1使声音从无声变为中等音量,y = 1的声音与y = 5相同,同样y = 2x的声音与y = 5x相同。
这样称呼它(x ^ 2函数):
sinPlay[#*# &, { 0, 2}, 1000]
#*# &
是一个匿名函数(into to them),它接受一个数字并将其平方。 {0,2}是您想在几秒钟内收听的功能的一部分。因此{0,2}生成一个两秒钟的剪辑。这是平方根函数:
sinPlay[Sqrt[#] &, { 0,10}, 1000]
这是正弦函数:
sinPlay[Sin[#] &, { 0,10}, 1000]
请注意,静音是因为这些是正弦函数的底端,已缩放为静音。
改用频率
从理论上讲,可以使用频率代替。该函数将如下所示:
sinPlay[f_, { start_, end_}, baseFreq_] := EmitSound[ Play[Sin[x *baseFreq* f[x]], {x,start,end}]]
但是,频率的变化也会导致正弦函数的时间发生变化。也许可以使用派生工具来解决此问题,但是我还没有解决。 Wolfram supplies a function to calculate derivatives for you
关于audio - 使用Wolfram播放功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41273789/