Mathematica的应用——处理声音

 时间:2024-10-12 20:54:12

Mathematica不仅能够绘制出精美的图像、导出动态图、导出视频,还可以处理声音,把函数变成声音。 听说科学家已经用Mathematica模拟出宇宙大爆炸的声音了,真是难以想象啊。可惜,我不知道相关代码。 下面就简单地讲一下,Mathematica是怎么处理声音的!

Mathematica的应用——处理声音

工具/原料

电脑

Mathematica(8.0以上版本)

代码和示例

1、 声音的本质是波,我们可以用Mathematica把波函数转化吮钾熨追成声音,用到的函数命令是Play、ListPlay。 我们的耳朵可以听到的声音频率在20~20000赫兹之间,因此,波函数的频率也应如此。Play[Sin[5000 t], {t, 0, 10}] 运行之后,就是一段持续10秒钟的频率为声音。在笔记本里有一个声音播放器,点那个三角形,就能够听到函数的声音了;点击那个矩形,可以停止声音的播放。 注意,5000这个数值不要改太少,否则会产生次声波。

Mathematica的应用——处理声音

2、 不同的函数给出不同的波形,运行的结果就会表现为不同的音色;而且,用加、减、乘、除,可以把两个简单的声音组合起来。举三个例子:Play[Sin[700 t] + 25 t Sin[350 t^2], {t, 0, 8}]Play[Sin[100 t^2 Sin[20 t]], {t, 3, 10}]Play[Sin[100 t Sin[2 t]], {t, 3, 30}]

Mathematica的应用——处理声音

3、 用Round函数或者Mod函数,可以很好地制造噪音。Play[Sin[5000 t] + Mod[5000 t, 50], {t, 0, 2}] 这个所以里面,正弦函数的声音完全被模函数给盖住了,因为模函数的振幅远大于前者。于是,只要把正弦函数的振幅调大(乘以60),就够了:Play[60*Sin[5000 t] + Mod[5000 t, 50], {t, 0, 2}]

Mathematica的应用——处理声音

4、 Sound函数,可以发出不同音符的声音,每一个音符持续一秒:Sound[{SoundNote["A"], SoundNote["B&鳎溻趄酃quot;], SoundNote["C"],SoundNote["D"]}] 用前 15个 MIDI 乐器(请自行百度相关概念)演奏,每一个时长为 0.1 秒:Sound[Table[SoundNote[0, 0.1, i], {i, 15}]]

Mathematica的应用——处理声音

5、 播放不同乐器(大提琴、钢琴、大号)的音符的随机序列,每个音符播放的时间长度也是随机的:Sound[SoundNote[#, 1, RandomChoice[{"Piano", "Cello", "Tuba"}]] & /@ RandomInteger[12, 30], 4] 这段代码,每次运行,都有可能产生不同的结果。

Mathematica的应用——处理声音

6、 Beep函数,可以发出提示音。 下面的代码,在Mathematica进行每一次计算之前,都有一次提示音:Table[Beep[]; FactorInteger[2^(50 i) - 1], {i, 10}] 不过,这个提示音实在是小点,“叮、叮、叮……”,一定要很仔细的听才行。

Mathematica的应用——处理声音

7、 Mathematica可以识别flac格式的音频文件,这里导入一个Mathematica官方的演示文件“ExampleData/sample.flac”,在点击“开始”按钮后,不仅能听到声音,还能看到声音的波动:data = Import["ExampleData/sample.flac"]ByteCount[data]/1024.^2

Mathematica的应用——处理声音

8、 Mathematica10.0以前的版本是不支持MP3格式的,所以,低版本的Mathematica是不能导入MP3文件的。好在,10.0版本以后,Mathematica可以处理MP3格式了:Import["ExampleData/car.mp3"]

Mathematica的应用——处理声音

9、 把函数的声音导出为MP3格式的文件,并且放到电脑桌面上。 两个函数为例:sy = Play[Sin[100 t Sin[2 t]], {t, 3, 30魈胺闹臣}, SampleRate -> 44100]shengyin = Play[(2 + Cos[50 t])*Sin[2000*(1 + Round[2 t])*t], {t, 0, 20}]Export["C:\\Users\\Administrator\\Desktop\\声音.mp3", sy]Export["C:\\Users\\Administrator\\Desktop\\声音0.mp3", shengyin] 然后,你就可以在电脑上听“歌”了。

Mathematica的应用——处理声音
  • Mathematica基础——关于坐标轴
  • Matlab 空间图形修饰教程
  • mathematica 如何画图
  • Mathematica基础——各种标签的用法
  • Origin如何绘制二点线段图?
  • 热门搜索
    朝花夕拾手抄报 初一 安全手抄报内容资料 清明节手抄报全国第一 英语早餐手抄报 关于新型冠状病毒的手抄报 国学手抄报 安全小报手抄报 讲普通话手抄报 圣诞节的手抄报 低碳生活我先行手抄报