Groupez l'audio en utilisant des caractéristiques spectrales
Utilisez des caractéristiques spectrales pour trouver des groupements dans une liste d'objets audio.
In[1]:=
![Click for copyable input](assets.fr/audio-clustering-based-on-spectral-features/In_65.png)
a = ExampleData[{"Audio", "Drums"}, "Audio"]
Divisez l'enregistrement où les transitoires se produisent.
In[2]:=
![Click for copyable input](assets.fr/audio-clustering-based-on-spectral-features/In_66.png)
samples =
Select[AudioSplit[a,
FindPeaks[AudioLocalMeasurements[a, "Novelty"]]["Times"]],
Duration@# > Quantity[50, "ms"] &];
samples = Audio[#, Appearance -> "Minimal"] & /@ samples
Out[2]=
![](assets.fr/audio-clustering-based-on-spectral-features/O_30.png)
Tracez les échantillons obtenus dans des positions définies par leur barycentre et leur propagation spectrale.
In[3]:=
![Click for copyable input](assets.fr/audio-clustering-based-on-spectral-features/In_67.png)
ListPlot[Partition[
AudioMeasurements[#, {"SpectralCentroid", "SpectralSpread"},
"List"] & /@ samples, 1],
PlotMarkers -> (Audio[#, Appearance -> "Minimal"] & /@ samples),
AxesLabel -> {Style["Centroid", Italic], Style["Spread", Italic]},
ImageSize -> Medium]
Out[3]=
![](assets.fr/audio-clustering-based-on-spectral-features/O_31.png)
Trouvez des sons similaires en utilisant les mesures "SpectralCentroid" et "SpectralSpread".
In[4]:=
![Click for copyable input](assets.fr/audio-clustering-based-on-spectral-features/In_68.png)
FindClusters[
AudioMeasurements[#, {"SpectralCentroid", "SpectralSpread"},
"List"] & /@ samples -> samples]
Out[4]=
![](assets.fr/audio-clustering-based-on-spectral-features/O_32.png)