Je tente de transformer un code R en un code équivalent Julia, mais voilà :
Pour un code R :
Code:fft_w=512 samplingrate = fs wave <- readWave( "....wav", from = 1, to = Inf, units = c("samples"), header = FALSE, toWaveMC = NULL ) spec_left <- spectro(wave, f = samplingrate, wl = fft_w, plot = FALSE, dB = "max0")$amp
j'ai codé en Julia :
Et pourtant impossible de retrouver les mêmes valeurs de sorties, je ne comprends pas pourquoi. Quelqu'un aurait-il une idée à suggérer ?Code:fft_w=512 wave, fs = wavread("....wav", format="native") #Obtention du spectre d'amplitude en dB de l'enregistrement sonore spectrog = spectrogram(wave, fft_w, 0;fs=fs) #obtention du spectre : avec des fenêtres de fft de fft_w, pas de chevauchement et une fréquence d'échantillonnage fs A = zeros(length(spectrog.power[:,1]),length(spectrog.power[1,:])) #initialisation for j in 1:length(spectrog.power[1,:]) #détermination de la valeur absolue des puissances du spectre for i in 1:length(spectrog.power[:,1]) A[i,j] = sqrt(spectrog.power[i,j]) end end spectroAdB = 20 * log10.(abs.(A/maximum(A))) #transformation de l'amplitude en dB
Merci d'avance.
-----