Audio avec Wolfram | Choses à essayer

Effectuez des modifications et exécutez n’importe quel morceau de code en cliquant à l’intérieur du code et en appuyant sur
+
.
Traitement et analyse audio. L’audio avec Wolfram offre un traitement hautement optimisé et une analyse de haut niveau de la parole, de la musique et d’autres signaux audio. L’intégration rigoureuse avec l’apprentissage automatique et les réseaux neuronaux permet de trouver des solutions pour les systèmes automatisés, la sécurité, la médecine et bien d’autres domaines.

Importez, traitez et exportez de l’audio

Importez un fichier audio avec un bruit de fond à haute fréquence :
Exécuter
In[]:=
music=Import["ExampleData/sample.flac"]
Affichez le spectrogramme audio :
Exécuter
In[]:=
Spectrogram[music]
Supprimez le bruit de fond à haute fréquence :
Exécuter
In[]:=
filteredmusic=LowpassFilter[music,
800
Hz
]
Visualisez le spectrogramme de l’audio filtré :
Exécuter
In[]:=
Spectrogram[filteredmusic]
Exportez le résultat dans le format de votre choix :
Exécuter
In[]:=
Export["filteredexample.mp3",filteredmusic]

Visualisez les signaux audio

Audio provenant de différents types de sources :
Exécuter
In[]:=
sources=ExampleData[{"Audio",#}]&/@{"Cat","Cello","FemaleVoice"}
Les formes d’onde de l’audio montrent l’amplitude du son dans le temps :
Exécuter
In[]:=
AudioPlot[#,PlotLayout->"Averaged"]&/@sources
Les spectrogrammes montrent la fréquence dans le temps :
Exécuter
In[]:=
Spectrogram/@sources
Les périodogrammes montrent les fréquences dominantes :
Exécuter
In[]:=
Periodogram[#,256]&/@sources

Supprimez le bruit ou ajoutez des effets

Commencez par un clip audio bruyant :
Exécuter
In[]:=
apollo=ExampleData[{"Audio","Apollo11SmallStep"}]
Débruitez l’audio :
Exécuter
In[]:=
filteredapollo=WienerFilter[apollo,30]
Effectuez un décalage de hauteur sur la première moitié de l’audio :
Exécuter
In[]:=
{beginning,end}=AudioSplit[filteredapollo,4];​​AudioJoinAudioPitchShiftbeginning,
1
octaves
,end

Extrayez les caractéristiques de l’audio

Commencez par un ensemble de données de chiffres prononcés :
Exécuter
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
;
Définissez un extracteur de caractéristiques à l’aide d’un modèle pré-entraîné :
Exécuter
In[]:=
extractor=NetAppend[NetTake[NetModel["Wav2Vec2 Trained on LibriSpeech Data"],"FeatureExtractor"],"Mean"->AggregationLayer[Mean,1]]
Affichez les caractéristiques extraites sur un tracé en 3D :
Exécuter
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]]​​]​​

Identifiez les sources audio

Identifiez le contenu d’un signal audio :
Exécuter
AudioIdentify

Commencez par des sons provenant de sources mixtes :
Exécuter
In[]:=
mixedsources=
;
Identifiez la source dominante par segments d’une demi-seconde :
Exécuter
In[]:=
segmentIds=AudioBlockMapAudioIdentify
&,mixedsources,{1,.5}//Normal
Assemblez les segments en intervalles :
Exécuter
In[]:=
intervals=GroupBysegmentIds,Last,
Function[
]

Tracez les résultats :
Exécuter
In[]:=
LegendedAudioPlotmixedsources,

,SwatchLegend
