From 1a0546ed53bd0c05fbc5d3a65c8f0f229d29e88a Mon Sep 17 00:00:00 2001 From: Dave Griffiths Date: Sat, 17 Sep 2022 13:28:20 +0100 Subject: [PATCH] removed some old code --- cooking/python/features/__init__.py | 1 - cooking/python/features/__init__.pyc | Bin 177 -> 0 bytes cooking/python/features/base.py | 173 --------------------------- cooking/python/features/base.pyc | Bin 9726 -> 0 bytes cooking/python/features/sigproc.py | 113 ----------------- cooking/python/features/sigproc.pyc | Bin 5732 -> 0 bytes 6 files changed, 287 deletions(-) delete mode 100644 cooking/python/features/__init__.py delete mode 100644 cooking/python/features/__init__.pyc delete mode 100644 cooking/python/features/base.py delete mode 100644 cooking/python/features/base.pyc delete mode 100644 cooking/python/features/sigproc.py delete mode 100644 cooking/python/features/sigproc.pyc diff --git a/cooking/python/features/__init__.py b/cooking/python/features/__init__.py deleted file mode 100644 index 9b5ed21..0000000 --- a/cooking/python/features/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .base import * diff --git a/cooking/python/features/__init__.pyc b/cooking/python/features/__init__.pyc deleted file mode 100644 index b773fc6712be53d85f7b6301a4e4c0697ad647be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmZSn%**w= oYGO%gQEIV%e0*kJW=VX!9#Db 0: - nframes,ncoeff = numpy.shape(cepstra) - n = numpy.arange(ncoeff) - lift = 1+ (L/2)*numpy.sin(numpy.pi*n/L) - return lift*cepstra - else: - # values of L <= 0, do nothing - return cepstra - diff --git a/cooking/python/features/base.pyc b/cooking/python/features/base.pyc deleted file mode 100644 index fe944968fb23840f1ccecaec592f452263175f41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9726 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 diff --git a/cooking/python/features/sigproc.py b/cooking/python/features/sigproc.py deleted file mode 100644 index ea16ad0..0000000 --- a/cooking/python/features/sigproc.py +++ /dev/null @@ -1,113 +0,0 @@ -# This file includes routines for basic signal processing including framing and computing power spectra. -# Author: James Lyons 2012 - -import numpy -import math - -def framesig(sig,frame_len,frame_step,winfunc=lambda x:numpy.ones((1,x))): - """Frame a signal into overlapping frames. - - :param sig: the audio signal to frame. - :param frame_len: length of each frame measured in samples. - :param frame_step: number of samples after the start of the previous frame that the next frame should begin. - :param winfunc: the analysis window to apply to each frame. By default no window is applied. - :returns: an array of frames. Size is NUMFRAMES by frame_len. - """ - slen = len(sig) - frame_len = int(round(frame_len)) - frame_step = int(round(frame_step)) - if slen <= frame_len: - numframes = 1 - else: - numframes = 1 + int(math.ceil((1.0*slen - frame_len)/frame_step)) - - padlen = int((numframes-1)*frame_step + frame_len) - - zeros = numpy.zeros((padlen - slen,)) - padsignal = numpy.concatenate((sig,zeros)) - - indices = numpy.tile(numpy.arange(0,frame_len),(numframes,1)) + numpy.tile(numpy.arange(0,numframes*frame_step,frame_step),(frame_len,1)).T - indices = numpy.array(indices,dtype=numpy.int32) - frames = padsignal[indices] - win = numpy.tile(winfunc(frame_len),(numframes,1)) - return frames*win - - -def deframesig(frames,siglen,frame_len,frame_step,winfunc=lambda x:numpy.ones((1,x))): - """Does overlap-add procedure to undo the action of framesig. - - :param frames: the array of frames. - :param siglen: the length of the desired signal, use 0 if unknown. Output will be truncated to siglen samples. - :param frame_len: length of each frame measured in samples. - :param frame_step: number of samples after the start of the previous frame that the next frame should begin. - :param winfunc: the analysis window to apply to each frame. By default no window is applied. - :returns: a 1-D signal. - """ - frame_len = round(frame_len) - frame_step = round(frame_step) - numframes = numpy.shape(frames)[0] - assert numpy.shape(frames)[1] == frame_len, '"frames" matrix is wrong size, 2nd dim is not equal to frame_len' - - indices = numpy.tile(numpy.arange(0,frame_len),(numframes,1)) + numpy.tile(numpy.arange(0,numframes*frame_step,frame_step),(frame_len,1)).T - indices = numpy.array(indices,dtype=numpy.int32) - padlen = (numframes-1)*frame_step + frame_len - - if siglen <= 0: siglen = padlen - - rec_signal = numpy.zeros((1,padlen)) - window_correction = numpy.zeros((1,padlen)) - win = winfunc(frame_len) - - for i in range(0,numframes): - window_correction[indices[i,:]] = window_correction[indices[i,:]] + win + 1e-15 #add a little bit so it is never zero - rec_signal[indices[i,:]] = rec_signal[indices[i,:]] + frames[i,:] - - rec_signal = rec_signal/window_correction - return rec_signal[0:siglen] - -def magspec(frames,NFFT): - """Compute the magnitude spectrum of each frame in frames. If frames is an NxD matrix, output will be NxNFFT. - - :param frames: the array of frames. Each row is a frame. - :param NFFT: the FFT length to use. If NFFT > frame_len, the frames are zero-padded. - :returns: If frames is an NxD matrix, output will be NxNFFT. Each row will be the magnitude spectrum of the corresponding frame. - """ - complex_spec = numpy.fft.rfft(frames,NFFT) - return numpy.absolute(complex_spec) - -def powspec(frames,NFFT): - """Compute the power spectrum of each frame in frames. If frames is an NxD matrix, output will be NxNFFT. - - :param frames: the array of frames. Each row is a frame. - :param NFFT: the FFT length to use. If NFFT > frame_len, the frames are zero-padded. - :returns: If frames is an NxD matrix, output will be NxNFFT. Each row will be the power spectrum of the corresponding frame. - """ - return 1.0/NFFT * numpy.square(magspec(frames,NFFT)) - -def logpowspec(frames,NFFT,norm=1): - """Compute the log power spectrum of each frame in frames. If frames is an NxD matrix, output will be NxNFFT. - - :param frames: the array of frames. Each row is a frame. - :param NFFT: the FFT length to use. If NFFT > frame_len, the frames are zero-padded. - :param norm: If norm=1, the log power spectrum is normalised so that the max value (across all frames) is 1. - :returns: If frames is an NxD matrix, output will be NxNFFT. Each row will be the log power spectrum of the corresponding frame. - """ - ps = powspec(frames,NFFT); - ps[ps<=1e-30] = 1e-30 - lps = 10*numpy.log10(ps) - if norm: - return lps - numpy.max(lps) - else: - return lps - -def preemphasis(signal,coeff=0.95): - """perform preemphasis on the input signal. - - :param signal: The signal to filter. - :param coeff: The preemphasis coefficient. 0 is no filter, default is 0.95. - :returns: the filtered signal. - """ - return numpy.append(signal[0],signal[1:]-coeff*signal[:-1]) - - - diff --git a/cooking/python/features/sigproc.pyc b/cooking/python/features/sigproc.pyc deleted file mode 100644 index fbf3dbcbbcb2bc9ecf6065bf86ff5c3b7364a4d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5732 zcmeHLUvDHw5$~Dxzg;`rD?XQ z?966*_H0LM9?0bp@eL5)03LYci4VX7Uw}s*P*5Zuk&^s=)wAnA=b!+7BYQXF>h9{U zs_v>^RZs1oFEsx3?BjPMRsDSYeFKk;@xl{(Dpl&yg!a@UPsP4^hMt;whNiFLDQQki zv!>!1HXlu?cvgsM70;=-E~7IlZm4)(=vgkl+gyO47x zQzNB1zWR`JsAW4LtB~b1sBG9D9FCJ<4OV zZo~c{HG4&vWb0UT#o5aO7l-4RC85V`f8* z=GEeElV@swkL}zk!oJa=#$jY(s*|kDb^g>8X*d`pSyy*BZd;9p#&2T~qDkHjUG^|- z7$^C7DkchZ>olwMJWfrvq4DaLJ)L*738S9l)qN9MI71A<+W87(of75d+tLg+G<kPA~ zvJYEwWD~2=8|McaCSqICBN8V@wDb>;bZk1|FfDbKkC`!z%!!FxG{{+182El>H*}ck zuqeVK>Rj!y-c3F*8q?bEzP%H?`S$j%-aB%G+(Di;R#)`}?;8Fscy<4#zv5r_mi%|T6|dpF;zisV zK2+lYo-Yfratr}y3bF=7;7hR~peC^t;1z#HK4mjbLnRn8WimylFIQ87<_d$%cmc@6%ul^Z(-?pt9T0|fKP#K2a96@ou^h#i$l zo}GYB(rxK8*zO#@g1>VBbsCrvhX_r_2cklDqHk<$LPU3wx~7NL=-WE!K#3<=evq~F zPln}SSOO>06bP)#0)Pv&iK(eucZ~3-kkh3eQSYmKazQ@PcW!M}dtPM<1i6xQVc!6C z!=3C6jRa66hs-kvMUD(_k#*Me-7MB|(r0&;m)g8PL^Xi(m~42!YOLM8{K~LK*io6JjIRSH1z`@`OUsw4OWG5;~YLNsId>u`} zbmt1eH8QeR4Ho&j&etkm%Xmp*DNOX(d0Y7+`dqSp9OVTDs6_A$auQyXOF>l;ii9tv zQPLHBy@AzLV*z>LCGVzWglqnSs{2dclDB{?@tU{eH@t|*PE6(_2+VmvT@>LCSzU?f zpm<;K5U9E5go*e8Vviz=sNOTRTPGkC%% zKH7&{l_#v}{A@h758FFC5B~#P(AzBN3KU3O+lf3=RB=5A6(GiiAYsWG(TwBz-ifcR ziFr-Dnb%}YIREE?b~>e0 zGX)7=X~I35r#P)9N1bC!6v5n*F%jV~Q*-#3$9FlN$$*4gaKSB*mg3axl5;#dAA?OC z?-dX(jVw9;<4p=FNvYUvefRuW4@zotjg&BUvI3W7!C*pZG= z7@}4IkO_g>Y!jszYchD7RE&$b$D`~j-eUd50q{<-lw8@x-(8fIyAo#h({qlP=3V{# z7XF{0pR0zlyy$Nb+DZK2j)Tn$_C=C<(GSzavM^&QSY3(x;h}ySrbDBfVT2nX@Eb*$ zL*DPuzwcB)KDoGF7TjK-W_5l4Lb&bz_D_HR^v6H?!|Ms_hPFfBHIOGI2v)swTkfE+ zOullQgo9u+cM3?S)W8Z`I{&4Cj!a*hd