Wolfram Audio | Zum Ausprobieren

Nehmen Sie Änderungen vor und führen Sie jeden Code aus, indem Sie in den Code klicken und die Tastenkombination
+
drücken.
Audioverarbeitung & -analyse. Wolfram Audio bietet hochoptimierte Verarbeitung und High-Level-Analyse von Sprache, Musik und anderen Audiosignalen. Die enge Integration mit maschinellem Lernen und neuronalen Netzen ermöglicht Lösungen in automatisierten Systemen, Sicherheit, Medizin und mehr.

Audio importieren, verarbeiten und exportieren

Importieren Sie eine Audiodatei mit hochfrequentem Hintergrundrauschen:
Ausführen
In[]:=
music=Import["ExampleData/sample.flac"]
Stellen Sie das Audiospektrogramm dar:
Ausführen
In[]:=
Spectrogram[music]
Entfernen Sie das hochfrequente Hintergrundrauschen:
Ausführen
In[]:=
filteredmusic=LowpassFilter[music,
800
Hz
]
Zeigen Sie das Spektrogramm des gefilterten Tons an:
Ausführen
In[]:=
Spectrogram[filteredmusic]
Exportieren Sie das Ergebnis in einem Format Ihrer Wahl:
Ausführen
In[]:=
Export["filteredexample.mp3",filteredmusic]

Audiosignale visualisieren

Audiosignale aus verschiedenen Arten von Quellen:
Ausführen
In[]:=
sources=ExampleData[{"Audio",#}]&/@{"Cat","Cello","FemaleVoice"}
Audiowellenformen zeigen die Audioamplitude im Zeitverlauf:
Ausführen
In[]:=
AudioPlot[#,PlotLayout->"Averaged"]&/@sources
Spektrogramme zeigen die Frequenz im Zeitverlauf:
Ausführen
In[]:=
Spectrogram/@sources
Periodogramme zeigen dominante Frequenzen:
Ausführen
In[]:=
Periodogram[#,256]&/@sources

Rauschen entfernen oder Effekte hinzufügen

Beginnen Sie mit einem verrauschten Audioclip:
Ausführen
In[]:=
apollo=ExampleData[{"Audio","Apollo11SmallStep"}]
Entrauschen Sie den Ton:
Ausführen
In[]:=
filteredapollo=WienerFilter[apollo,30]
Führen Sie eine Tonhöhenverschiebung auf der ersten Hälfte des Audiomaterials durch:
Ausführen
In[]:=
{beginning,end}=AudioSplit[filteredapollo,4];​​AudioJoinAudioPitchShiftbeginning,
1
octaves
,end

Merkmale aus Audio extrahieren

Beginnen Sie mit einem Datensatz von gesprochenen Ziffern:
Ausführen
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
;
Definieren Sie einen Merkmalsextraktor unter Verwendung eines vorab trainierten Modells:
Ausführen
In[]:=
extractor=NetAppend[NetTake[NetModel["Wav2Vec2 Trained on LibriSpeech Data"],"FeatureExtractor"],"Mean"->AggregationLayer[Mean,1]]
Zeigen Sie extrahierte Merkmale in einem 3D-Diagramm an:
Ausführen
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]]​​]​​

Audioquellen identifizieren

IdentifizierenSie,wasineinemAudiosignalenthaltenist:
AudioIdentify

Beginnen Sie mit Audiosignalen aus gemischten Quellen:
Ausführen
In[]:=
mixedsources=
;
Identifizieren Sie die dominante Quelle anhand von Halbsekundensegmenten:
Ausführen
In[]:=
segmentIds=AudioBlockMapAudioIdentify
&,mixedsources,{1,.5}//Normal
Setzen Sie die Segmente zu Intervallen zusammen:
Ausführen
In[]:=
intervals=GroupBysegmentIds,Last,
Function[
]

Visualisieren Sie die Ergebnisse:
Ausführen
In[]:=
LegendedAudioPlotmixedsources,

,SwatchLegend
