msicpe.ssl package

msicpe.ssl.FilTel(x, fs)

Filtrage d’un signal dans la bande téléphonique (300-3400 Hz).

Paramètres:
  • x (array_like) – Vecteur contenant le signal d’entrée.

  • fs (float) – Fréquence d’échantillonnage du signal en Hz.

Renvoie:

y – Signal filtré dans la bande 300-3400 Hz.

Type renvoyé:

numpy.ndarray

Lève:

ValueError – Si les fréquences de coupure ne sont pas dans la plage valide.

msicpe.ssl.PasseBas(z, Fe, Fc, ordre=9)

Applique un filtre passe-bas Butterworth d’ordre spécifié à un signal.

Paramètres:
  • z (array_like) – Vecteur contenant les échantillons du signal à filtrer.

  • Fe (float) – Fréquence d’échantillonnage du signal en Hz.

  • Fc (float) – Fréquence de coupure du filtre passe-bas en Hz.

  • ordre (int, optional) – Ordre du filtre Butterworth. Par défaut, ordre=9.

Renvoie:

s – Signal filtré.

Type renvoyé:

numpy.ndarray

Lève:

ValueError – Si les fréquences de coupure ne sont pas dans la plage valide.

msicpe.ssl.RecordModulation(Fe, T=5)

Enregistre un message audio, le visualise et permet de le sauvegarder au format .wav.

Paramètres:
  • Fe (int) – Fréquence d’échantillonnage (doit être un multiple de 8000 Hz et ≤ 96000 Hz).

  • T (float, optional) – Durée de l’enregistrement en secondes. Par défaut, T=5.

Renvoie:

  • nomfic (str or None) – Nom du fichier .wav dans lequel le message a été enregistré. Retourne None si non sauvegardé.

  • Signal (numpy.ndarray) – Tableau contenant les échantillons du message enregistré.

  • t (numpy.ndarray) – Vecteur temporel correspondant au tableau Signal.

msicpe.ssl.TransFourier(s, t=None)

Calcul de la transformée de Fourier d’un signal s.

Paramètres:
  • s (array_like) – Vecteur de taille N contenant les N échantillons s[n] du signal à analyser.

  • t (array_like, optional) – Vecteur de taille N contenant les instants d’échantillonnage de s. Par défaut, t = [0, 1, 2, …, N-1].

Renvoie:

  • S (numpy.ndarray) – Vecteur de taille N contenant les coefficients de la transformée de Fourier du signal s.

  • f (numpy.ndarray) – Vecteur de taille N contenant les fréquences correspondant aux coefficients de S : S[n] = S(f[n]).

Lève:

ValueError – Si les vecteurs s et t n’ont pas la même longueur. Si t n’est pas linéairement croissant avec un pas constant.

msicpe.ssl.TransFourier2(s, t=None, fmax=None)

Calcul de la transformée de Fourier d’un signal s sur un intervalle de fréquences spécifié.

Paramètres:
  • s (array_like) – Vecteur de taille N contenant les N échantillons s[n] du signal à analyser.

  • t (array_like, optional) – Vecteur de taille N contenant les instants d’échantillonnage de s. Par défaut, t = [0, 1, 2, …, N-1].

  • fmax (float, optional) – Fréquence maximale pour la transformée de Fourier. Peut être supérieure à Fe/2.

Renvoie:

  • S (numpy.ndarray) – Vecteur de taille N contenant les coefficients de la transformée de Fourier du signal s sur l’intervalle spécifié.

  • f (numpy.ndarray) – Vecteur de taille N contenant les fréquences correspondant aux coefficients de S : S[n] = S(f[n]).

Lève:

ValueError – Si t n’est pas linéairement croissant avec un pas constant.

msicpe.ssl.TransFourierInv(S, f=None)

Transformée de Fourier inverse d’un signal S.

Paramètres:
  • S (array_like) – Vecteur de taille N contenant les coefficients de la transformée de Fourier S.

  • f (array_like, optional) – Vecteur de taille N contenant les fréquences correspondant aux coefficients de S : S[n] = S(f[n]). Le vecteur f doit être symétrique autour de f=0: f = [-fmax, -fmax+df, …, 0, …, fmax-df].

Renvoie:

  • s (numpy.ndarray) – Vecteur de taille N contenant les N échantillons s[n] de la transformée de Fourier inverse de S.

  • t (numpy.ndarray) – Vecteur de taille N contenant les instants d’échantillonnage de s. s[n] = s(t[n]).

Lève:

ValueError – Si les vecteurs S et f n’ont pas la même longueur. Si f n’est pas linéairement croissant avec un pas constant. Si le vecteur f n’est pas symétrique autour de 0.

msicpe.ssl.ansignal()

Affichage pour comprendre les effets de la décimation

Paramètres:

timeout (float) – Délai avant la fin d’exécution de la fonction

msicpe.ssl.audioread(file_path, play_audio=False)

Lit un fichier audio et retourne les échantillons ainsi que la fréquence d’échantillonnage, avec une option pour lire l’audio.

Paramètres:
  • file_path (str) – Le chemin d’accès au fichier audio à lire (par exemple “votre_audio.wav”).

  • play_audio (bool, optional) – Si True, le fichier audio sera joué après sa lecture (par défaut False).

Renvoie:

  • data (numpy.ndarray) – Tableau contenant les échantillons audio. Chaque colonne représente un canal (mono ou stéréo).

  • sample_rate (int) – Fréquence d’échantillonnage du fichier audio (en Hertz).

Exemple

>>> audio_file_path = 'votre_audio.wav'
>>> data, fs = audioread_equivalent(audio_file_path, play_audio=True)
>>> print(f"Sample Rate: {fs} Hz")
>>> print(f"Audio Data Shape: {data.shape}")

Notes

  • Cette fonction utilise les bibliothèques soundfile et sounddevice pour lire et éventuellement jouer le fichier audio.

  • Assurez-vous que les bibliothèques soundfile et sounddevice sont installées: pip install soundfile sounddevice