Wolfram 언어

계산 음성

스펙트럼 기능에 근거한 음성 클러스터링

스펙트럼 기능을 사용하여 음성 오브젝트의 목록 클러스터를 구합니다.

In[1]:=
Click for copyable input
a = ExampleData[{"Audio", "Drums"}, "Audio"]
Out[1]=

과도 현상이 일어나는 곳에서 녹음을 분할합니다.

In[2]:=
Click for copyable input
samples = Select[AudioSplit[a, FindPeaks[AudioLocalMeasurements[a, "Novelty"]]["Times"]], Duration@# > Quantity[50, "ms"] &]; samples = Audio[#, Appearance -> "Minimal"] & /@ samples
Out[2]=

스펙트럼 중심 및 스펙트럼 확산에 의해 정의된 위치에서의 결과 샘플을 플롯합니다.

In[3]:=
Click for copyable input
ListPlot[Partition[ AudioMeasurements[#, {"SpectralCentroid", "SpectralSpread"}, "List"] & /@ samples, 1], PlotMarkers -> (Audio[#, Appearance -> "Minimal"] & /@ samples), AxesLabel -> {Style["Centroid", Italic], Style["Spread", Italic]}, ImageSize -> Medium]
Out[3]=

"SpectralCentroid""SpectralSpread"의 측정값을 사용하여 유사한 사운드를 구합니다.

In[4]:=
Click for copyable input
FindClusters[ AudioMeasurements[#, {"SpectralCentroid", "SpectralSpread"}, "List"] & /@ samples -> samples]
Out[4]=

관련 예제

de en es fr ja pt-br ru zh