# -*- coding: utf-8 -*-
"""
Created on Thu Feb 13 21:26:29 2025

@author: nadin
"""

import scipy.io.wavfile as sci_wav
import numpy as np

 
fe, signal = sci_wav.read("C:/Users/nadin/OneDrive/Documents/Enseignements/PCSI_prog2021/4-TP/14-filtrage_son/TP_filtrage_son.wav") 

# fe : fréquence d'échantillonnage


entree = signal[:,0] # niveau de tension en colonne de rang 0 du tableau signal



def convert(entree):
	sortie = np.zeros(entree.shape)
	sortie[0] = 0.0
	for i in range(1, len(entree)):
		sortie[i] = (entree[i-1] - sortie[i-1])*2*np.pi*10/fe + sortie[i-1]
	return sortie.astype('int16')



sortie = convert(entree)
# sortie est une liste "int16", fs est la fréquence d’échantillonnage
sci_wav.write("C:/Users/nadin/OneDrive/Documents/Enseignements/PCSI_prog2021/4-TP/14-filtrage_son/son_filtre.wav", fe, sortie)