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