Wolfram Language

Reconnaissance de la hauteur tonale pour recréer un signal

La hauteur tonale principale d'un signal audio peut être détectée ou suivie à l'aide d'algorithmes classiques de traitement du signal ou de réseaux neuronaux. La hauteur tonale principale peut être utilisée pour l'analyse, la classification ou la reconstitution d'un signal. Dans cet exemple, la fonction PitchRecognize intégrée est utilisée pour créer une approximation d'un signal en fonction de la hauteur tonale détectée.

Commencez par l'enregistrement d'une fugue de Bach.

Suivez la hauteur tonale du signal en utilisant une méthode basée sur un réseau neuronal.

Définissez une fonction qui effectue la reconnaissance à l'aide de la propriété "SoundNotePitch" dans PitchRecognize, qui supprime les valeurs manquantes, sépare correctement les notes séparées et qui génère à sa sortie un objet Sound contenant la reconstitution.

Utilisez la fonction pour reconstituer un objet Sound à partir de l'enregistrement original.

Comme l'information de hauteur tonale, calculée par PitchRecognize, est entièrement symbolique, vous pouvez reconstituer la mélodie avec n'importe quel instrument disponible sur SoundNote.

Obligez PitchRecognize à renvoyer un ensemble de fréquences discrétisées.

Attribuez la série temporelle à AudioGenerator pour contrôler la fréquence de l'oscillateur.

Améliorez l'approximation en incorporant les données d'amplitude du signal d'origine, en utilisant AudioLocalMeasurements pour suivre les valeurs maximales des échantillons.

Comparez le spectrogramme avec l'original.

Pour le plaisir, générez la réponse tonale du premier énoncé du thème. Modifiez la séquence jusqu'à ce qu'elle soit augmentée cinq fois, à l'exception de la première note qui sera augmentée quatre fois.

Répétez la génération.

Exemples connexes

de en es ja ko pt-br zh