Wolfram 音頻 | 值得嘗試的事情

透過點擊程式碼內部並按下
+
可以編輯並執行任何程式碼.
音頻處理與分析. Wolfram 音頻可以對語音、音樂和其他音頻訊號進行高度最佳化處理和高水準分析。鑒於與機器學習和神經網路的緊密整合提供在自動化系統、安全、醫學等領域的解決方案。

輸入、處理和輸出音頻

輸入具有高頻率背景噪音的音頻檔案:
執行
In[]:=
music=Import["ExampleData/sample.flac"]
顯示音頻頻譜圖:
執行
In[]:=
Spectrogram[music]
移除高頻率背景噪音:
執行
In[]:=
filteredmusic=LowpassFilter[music,
800
Hz
]
查看過濾後的音頻頻譜圖:
執行
In[]:=
Spectrogram[filteredmusic]
以您選擇的格式輸出結果:
執行
In[]:=
Export["filteredexample.mp3",filteredmusic]

視覺化音頻訊號

來自不同類型來源的音頻:
執行
In[]:=
sources=ExampleData[{"Audio",#}]&/@{"Cat","Cello","FemaleVoice"}
音頻波形顯示隨時間變化的音頻幅度:
執行
In[]:=
AudioPlot[#,PlotLayout->"Averaged"]&/@sources
頻譜圖顯示隨時間變化的頻率:
執行
In[]:=
Spectrogram/@sources
週期圖顯示主要頻率:
執行
In[]:=
Periodogram[#,256]&/@sources

移除噪音或加入效果

從一段吵雜的音頻片段開始:
執行
In[]:=
apollo=ExampleData[{"Audio","Apollo11SmallStep"}]
消除噪音:
執行
In[]:=
filteredapollo=WienerFilter[apollo,30]
對音頻的前半部執行音調轉換:
執行
In[]:=
{beginning,end}=AudioSplit[filteredapollo,4];​​AudioJoinAudioPitchShiftbeginning,
1
octaves
,end

從音頻中提取特徵

從語音數字的資料集開始:
執行
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
;
使用預先訓練的模型定義特徵提取器:
執行
In[]:=
extractor=NetAppend[NetTake[NetModel["Wav2Vec2 Trained on LibriSpeech Data"],"FeatureExtractor"],"Mean"->AggregationLayer[Mean,1]]
在三維圖中顯示提取的特徵:
執行
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]]​​]​​

辨識音頻來源

辨識音頻訊號中的內容:
執行
AudioIdentify

從混音源的音頻開始:
執行
In[]:=
mixedsources=
;
透過半秒片段辨識主要來源:
執行
In[]:=
segmentIds=AudioBlockMapAudioIdentify
&,mixedsources,{1,.5}//Normal
將各片段組成間隔:
執行
In[]:=
intervals=GroupBysegmentIds,Last,
Function[
]

繪製結果:
執行
In[]:=
LegendedAudioPlotmixedsources,

,SwatchLegend
