音频基础
Wolfram 语言为参数式和交互式音频处理提供内置支持,并完全与 Wolfram 语言强大的数学和算法能力相集成. 你可以创建和导入音频文件,并与内置函数一起操作,应用线性和非线性滤波器并以多种方式进行可视化.
Audio[data] | 由 data 给出的带有采样的核内音频 |
Audio[file] | 来自于 file 的核外音频 |
Audio[url] | 来自于 url 的核外音频 |
Import[file] | 从 file 中导入音频 |
AudioGenerator[model] | 产生各种振荡器和噪声 |
创建音频对象的最简单的方法是把 Audio 构建器封装于一个范围在 到 1 的实值向量.
以下是从 Wolfram 语言文档目录 ExampleData 中创建核外音频对象并显示由对象内部使用的字节数:
可以从文件或 URL 中 Import 来创建核内音频对象.
以下把由 SampledSoundFunction 表示的声音转换为音频:
可以使用 AudioGenerator 产生各种振荡器和噪声.
AudioLength[audio] | 给出 audio 对象的样本数 |
Duration[audio] | 给出 audio 的长度(以秒为单位) |
AudioChannels[audio] | 给出 audio 数据中出现的通道数 |
AudioSampleRate[audio] | 给出与 audio 相关的采样率 |
AudioType[audio] | 给出 audio 中每个样本元素使用的值的类型 |
AudioPlot[audio] | 绘制 audio 的波形 |
Periodogram[audio] | 绘制 audio 的离散傅立叶(功率谱)的平方幅度 |
Spectrogram[audio] | 绘制 audio 的声谱图 |
许多有用的音频处理任务只需要对两音频对象或一个音频对象和常量进行简单的算术运算. 例如,可以通过与音频对象乘上一个常数因子或在音频对象上增加或减去常量来改变音量. 因此,所有带有属性 NumericFunction 或 Listable 的 Wolfram 语言算子和函数会被重载以便处理音频对象.
audio1+audio2 | 相加两个音频对象 |
n*audio | 与音频对象乘一个标量 |
Mean[{a1,a2,…}] | 计算音频对象列表的均值 |
考虑音频的操纵运算,通过剪辑、删除或填充改变音频持续时间. 这些运算服务于各种有用的目的. 剪裁和删减允许从更大对象的选取部分创建一个新的音频对象,其中填充一般用在末尾以扩展音频对象,以保证在许多音频处理任务中统一对待末尾样本.
AudioTrim[audio,{t1,t2}] | 给出只包含介于 t1 和 t2 间样本的音频对象 |
AudioPad[audio,m] | 在两边填充音频,零的 m 秒 |
AudioDelete[audio,{t1,t2}] | 从时间 t1 至 t2 处删除 |
AudioSplit[audio,{t1,t2,…}] | 在时间 ti 处分割 audio |
AudioPartition[audio,dur,offset] | 把 audio 分成重叠的部分 |
AudioIntervals[audio,crit] | 当满足标准 crit,返回音频间隔 |
AudioResample[audio,sr] | 给出具有采样率 sr 的重采样的音频对象 |
AudioNormalize[audio] | 规范化 audio 使得其样本最大绝对值为 1 |
AudioAmplify[audio,s] | 用因子 s 乘以 audio 的所有样本 |
AudioJoin[list] | 相连音频对象的列表 |
AudioOverlay[list] | 重叠音频对象的列表 |
ConformAudio[list] | 使列表中的每个音频对象有一致的属性 |