Wolfram 音频 | 应用示例

在代码中点击并按下
+
,即可编辑并运行任何代码。
音频处理与分析。Wolfram 音频为语音、音乐及其他音频信号提供高度优化的处理和深度分析功能。通过与机器学习和神经网络的紧密集成,为自动化系统、安全、医疗等众多领域提供解决方案。

导入、处理和导出音频

导入带有高频背景噪音的音频文件:
Run
In[]:=
music=Import["ExampleData/sample.flac"]
显示音频频谱图:
Run
In[]:=
Spectrogram[music]
消除高频背景噪音:
Run
In[]:=
filteredmusic=LowpassFilter[music,
800
Hz
]
查看滤波后音频的频谱图:
Run
In[]:=
Spectrogram[filteredmusic]
以您选择的格式导出结果:
Run
In[]:=
Export["filteredexample.mp3",filteredmusic]

可视化音频信号

不同类型来源的音频:
Run
In[]:=
sources=ExampleData[{"Audio",#}]&/@{"Cat","Cello","FemaleVoice"}
音频波形显示音频振幅随时间的变化:
Run
In[]:=
AudioPlot[#,PlotLayout->"Averaged"]&/@sources
频谱图显示频率随时间的变化:
Run
In[]:=
Spectrogram/@sources
周期图显示主导频率:
Run
In[]:=
Periodogram[#,256]&/@sources

消除噪音或添加效果

从嘈杂的音频片段开始:
Run
In[]:=
apollo=ExampleData[{"Audio","Apollo11SmallStep"}]
对音频进行去噪:
Run
In[]:=
filteredapollo=WienerFilter[apollo,30]
对音频的前半部分进行变调:
Run
In[]:=
{beginning,end}=AudioSplit[filteredapollo,4];​​AudioJoinAudioPitchShiftbeginning,
1
octaves
,end

从音频中提取特征

从口述数字数据集开始:
Run
In[]:=
digitspeech=
Input
SpeakerID
Output
Speaker A
1
Speaker A
2
Speaker A
3
Speaker B
1
Speaker B
2
Speaker B
3
Speaker C
1
Speaker C
2
Speaker C
3
;
使用预训练模型定义特征提取器:
Run
In[]:=
extractor=NetAppend[NetTake[NetModel["Wav2Vec2 Trained on LibriSpeech Data"],"FeatureExtractor"],"Mean"->AggregationLayer[Mean,1]]
在三维图中显示提取的特征:
Run
In[]:=
Module{colors,styling},​​colors="Speaker A"->
,"Speaker B"->
,"Speaker C"->
;​​styling=
Function[
]
;​​Legended[​​FeatureSpacePlot3D[Normal[digitspeech[All,styling]],FeatureExtractor->extractor,LabelingFunction->None],​​PointLegend[Values[colors],Keys[colors]]​​]​​

识别音频源

识别音频信号中的内容:
Run
In[]:=
AudioIdentify

从混合音源的音频开始:
Run
mixedsources=
;
根据半秒片段识别主要音源:
Run
In[]:=
segmentIds=AudioBlockMapAudioIdentify
&,mixedsources,{1,.5}//Normal
将音频片段组合成一段:
Run
In[]:=
intervals=GroupBysegmentIds,Last,
Function[
]

绘制结果:
Run
In[]:=
LegendedAudioPlotmixedsources,

,SwatchLegend
