top of page
Home: Blog2
Search
  • ahermes71

III.4 Analyse comparative voix humaine / sons Morse

Updated: Feb 10, 2019

Il est évident que la qualité des échantillons Morse influence directement la qualité de l'apprentissage par l'IA et donc le résultat final.


Nous rappelons que l'objectif de cette phase est de créer, pour chaque lettre de l'alphabet Morse:

- un fichier son et

- une image "spectrogramme" que nous allons soumettre à l'IA pour apprentissage de chaque lettre Morse


Voix et Morse

Nous avons enregistré le même message "Du côté de chez Swann" (Proust) avec la voix et aussi en Morse.


Voix - fichier Wav


L'aperçu de notre enregistrement (fichier wav), en utilisant la représentation temps - amplitude est le suivant:

Du côté de chez Swann

Notre son comporte clairement une partie utile (voix) ainsi que du silence en début et fin.


Regardons maintenant de plus près la partie 0.7s - 1.8s (celle comportant l'enregistrement de la voix).


La partie "utile" de l'enregistrement.

Nous extrayons maintenant le début de la phrase:


Du côté

Les différentes fréquences de la voix apparaissent, nous voyons aussi que la sinusoïde n'est pas constante ni symétrique, ce qui est normal, car notre voix est composée d'une multitude de fréquences.


Nous continuons à regarder de plus près, le mot "du":


"Du"

Ce mot est clairement composé de plusieurs fréquences, visibles dans l'image précédente.

Génération des sons Morse

Nous avons utilisé pour cette étape les fonctions de création de Cary Dreelan VK5CD, que nous avons rendues compatibles avec Python 3.

Nous partons du principe que les fichiers son Morse peuvent avoir les variables suivantes:

- la fréquence

- la vitesse (nombre de mots / minute, en utilisant le mot Paris comme référence)

- l'amplitude


Nous y avons ajouté également un espacement variable entre les lettres et les mots (silence) même si les règles du code morse sont strictes. Nous sommes dans l'obligation de mettre le silence en variable pour être capable dans le futur de déchiffrer un fichier son morse écrit par l'homme.


A la fin, nous avons utilisé les fonctions de génération de bruit de Tim Sainburg afin de rendre le son morse généré aussi proche que possible de la réalité.


Nous avons créé une librairie de sons sound_processing_lib.py qui regroupe des fonctions de cartographie d'amplitude / temps et de spectrogramme, avec


Amplitude / fréquence


Nous avons généré avec notre librairie son les graphiques amplitude / temps. Nous avons utilisé les fonctions de son du module scipy.io.


Regardons maintenant le même texte "Du côté de chez Swann", généré à l'aide du code Morse.

A noter la structure parfaitement régulière et symétrique du son, avec des espaces proportionnels entre les dots (point) - dahs (ligne), lettres et mots. Cette régularité est attendue quasi systématiquement chez les professionnels du Morse (militaires), avec des variations mineures de vitesse et de bruit.


Du côté de chez Swann

Cependant, nous souhaitons à ce que notre solution puisse accepter des fichiers Morse avec des variations importantes de fréquence, amplitude et nombre de mots par minute, tout en respectant les règles du Morse:


# Règles du Code Morse

# DAH = 3 DOTs.

# L'espace entre un DOT et un DAH est égal à un DOT

# L'espace entre deux lettres est égal à un DAH

# L'espace entre deux mots est égal à DOT DAH DAH


Regardons maintenant la première lettre du message: c'est un 'd'

Le code Morse pour "d"

... et maintenant encore de plus près.

Le "dah" le la lettre "d"

Spectrogramme


Nous avons utilisé les fonctions de création de spectrogramme Frank Zalkow.


Dans le graphique suivant, les éléments suivants apparaissent:


- la fréquence du son

- le temps

- intensité relative (couleurs). A noter qu'il ne s'agit pas de DB réellement, mais d'une échelle relative entre les différentes fréquences présentes dans le son.


Du côté de chez Swann - enregistrement voix - spectrogramme


Du côté de chez Swann - enregistrement Morse - spectrogramme

_______________________________________________________________________________


Regardons de plus prés la spectrogramme du son Morse correspondant à la lettre 'a'. Le spectrogramme si dessous est celui d'un son parfait. Autrement dit, le son étudié a une seule et unique fréquence et le silence représente du vide.


Spectrogramme pour 'a', sans bruit

Il s'agit dans ce cas d'un son généré par notre outil, avec une fréquence de 429 Hz. Les parties ' . ', pause (silence) et '-' apparaissent clairement.


Ajoutons maintenant du "bruit" à ce son.



Spectrogramme pour 'a' , avec du bruit

C'est déjà mieux ! Ce son généré ressemble déjà plus a un son que l'on peu trouver dans la nature autrement dit pas parfait.


Regardons de plus prêt ce que la variation des paramètres fréquence, vitesse et amplitude changent au spectrogramme de la lettre "a".



Spectrogramme 'a' vitesse 13, amplitude 20666, fréquence 505

Spectrogramme 'a' vitesse 23, amplitude 25464, fréquence 231

Première conclusion:


Il apparait clairement que les spectrogrammes générés se ressemblent beaucoup pour la même lettre de l'alphabet Morse. Ça devrait être plus facile à l'IA d'apprendre ces images que de reconnaitre par exemple des images d'animaux !

72 views

Recent Posts

See All

Contact

Thanks for your interest in Applied Artificial Intelligence. For more information, feel free to get in touch and I will get back to you soon!

Home: Contact
bottom of page