def test_from_matrix(self): world = World(self.samplingrate) _, spec, _ = world.analyze(self.signal) mcepmat = spec2mcep_from_matrix(spec, 20, self.alpha) mcep = spec2mcep(spec[300], 20, self.alpha) assert (mcep == mcepmat[300]).all() specmat = mcep2spec_from_matrix(mcepmat, self.alpha, self.windowsize) spec = mcep2spec(mcep, self.alpha, self.windowsize) assert (spec == specmat[300]).all()
def get_mcep_from_spec_mats(fname): # signal, samplingrate, _ = waveread(fname) samplingrate, signal = wavfile.read(fname) # print(signal.dtype) world = World(samplingrate, float(hop_length) / samplingrate * 1000) f0, spec_mat, aperiod_mat = world.analyze(np.float64(signal)) mcep_mat = spec2mcep_from_matrix(spec_mat, order, alpha) return f0, mcep_mat, aperiod_mat
def test_synthesis_filter(self): excite = self.ep.gen(self.f0) mcep_mat = spec2mcep_from_matrix(self.spec_mat, self.order, self.alpha) coef_mat = [] for i in range(mcep_mat.shape[0]): coef_mat.append(mcep2coef(mcep_mat[i], 0.41)) coef_mat = np.array(coef_mat) mlsa = MLSAFilter(self.order, self.alpha, 5) syn = Synthesis(80, mlsa) synth = syn.synthesis(excite, coef_mat)
def get_all_coefs(signal, sr): world = World(sr, float(hop_length) / sr * 1000) f0, spec_mat, aperiod_mat = world.analyze(np.float64(signal)) mcep_mat = spec2mcep_from_matrix(spec_mat, order, alpha) return f0, mcep_mat, aperiod_mat