作为一个盲人,我很好奇我是否可以使用 Wolfram 来发挥功能。例如,如果我将 y = x 的平方从 -10 插入到 10,我希望在函数变平时听到降低的音调,然后在原点听到正常的音调,然后随着函数的移动听到音调增加的音调向正无穷大。
问问题
33 次
2 回答
1
使用 play 函数和 sine 您可以创建一个函数,该函数主要执行您想要的操作(使用幅度而不是频率)。
sinPlay[f_, { start_, end_}, baseFreq_] := EmitSound[ Play[Sin[x *baseFreq]* f[x], {x,start,end}]]
此函数将函数的高度映射到幅度。请注意,因为它将声音从静音缩放到中等音量,所以 y=1 听起来与 y=5 相同,同样 y=2x 与 y=5x 听起来相同。
它是这样调用的(x^2 函数):
sinPlay[#*# &, { 0, 2}, 1000]
#*# &
是一个匿名函数(对他们来说),它接受一个数字并将其平方。{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 提供了一个函数来为您计算导数
于 2017-03-25T02:58:35.907 回答
0
您可以使用Play
. 但是,您不会使用该功能获得太多声音。您应该尝试使用正弦或余弦函数来启动。
于 2017-01-08T03:36:37.757 回答