audio - 使用Wolfram播放功能

标签 audio wolfram-language

作为一个盲人,我很好奇我是否可以使用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/

相关文章:

lambda - 纯函数中的模式匹配

java - 安卓音频不播放

python - Python中的背景音乐

wolfram-mathematica - 打印 Grid with list in list 作为 Wolfram Alpha 的输出

wolfram-language - True 在此 Wolfram 输出中意味着什么?

c++ - 在 flex、bison、c++ 中实现 Wolfram 语言

css - 如何通过 SoundCloud API 制作加载条

audio - CNN之后的LSTM如何馈入以及什么维度(输入大小)?

ios - 使用 ExtAudioFileRead 循环 AAC 文件 - 错误?

javascript - 将 Wolfram 语言编写的 3D Rose 移植到 JavaScript 中