2

作为一个盲人,我很好奇我是否可以使用 Wolfram 来发挥功能。例如,如果我将 y = x 的平方从 -10 插入到 10,我希望在函数变平时听到降低的音调,然后在原点听到正常的音调,然后随着函数的移动听到音调增加的音调向正无穷大。

4

2 回答 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 回答