Segmente ohne bzw. mit Stimme erkennen
Stellen Sie fest, welche Segmente eines Audioobjekts Stimme bzw. keine Stimme enthalten und dämpfen Sie diese.
In[1]:=
a = ExampleData[{"Audio", "NoisyTalk"}, "Audio"]
Suchen Sie mit AudioIntervals nach Segmenten mit niedriger RMS-Amplitude und hoher spektraler Flachheit.
In[2]:=
nonVoicedIntervals =
AudioIntervals[
a, #RMSAmplitude < .02 && #SpectralFlatness > .0001 &, .1,
PartitionGranularity -> {.06, .01}]
Out[2]=
Visualisieren Sie die gefundenen Intervalle.
In[3]:=
AudioPlot[a,
Epilog -> {RGBColor[1, 0, 0, .3],
Rectangle[{#[[1]], -1}, {#[[2]], 1}] & /@ nonVoicedIntervals},
ImageSize -> Medium]
Out[3]=
Dämpfen Sie die gefundenen Intervalle.
In[4]:=
AudioJoin[
Riffle[AudioFade /@ AudioTrim[a, Except@nonVoicedIntervals],
0.3*AudioTrim[a, nonVoicedIntervals]]]