Ejemplo n.º 1
0
void aubio_pvoc_rdo(aubio_pvoc_t *pv,cvec_t * fftgrain, fvec_t * synthnew) {
	uint_t i,j;
	/* calculate rfft */
        aubio_mfft_rdo(pv->fft,fftgrain,pv->synth);
        /* unshift */
        vec_shift(pv->synth);
	for (i=0; i<pv->channels; i++) {
		for (j=0; j<pv->win_s; j++) pv->synth->data[i][j] *= pv->w[j];
		aubio_pvoc_addsynth(pv->synth->data[i],pv->synthold->data[i],
				synthnew->data[i],pv->win_s,pv->hop_s);
	}
}
Ejemplo n.º 2
0
void aubio_pvoc_do(aubio_pvoc_t *pv, fvec_t * datanew, cvec_t *fftgrain) {
	uint_t i,j;
	for (i=0; i<pv->channels; i++) {
		/* slide  */
		aubio_pvoc_swapbuffers(pv->data->data[i],pv->dataold->data[i],
				datanew->data[i],pv->win_s,pv->hop_s);
		/* windowing */
		for (j=0; j<pv->win_s; j++) pv->data->data[i][j] *= pv->w[j];
        }
        /* shift */
        vec_shift(pv->data);
	/* calculate fft */
        aubio_mfft_do (pv->fft,pv->data,fftgrain);
}
Ejemplo n.º 3
0
mat_ZZ  iLLL(ZZ det, ZZ alpha, int dim, int k)
{
    mat_ZZ          M;
    ZZ_mat<mpz_t>   M_fp;
    vec_ZZ          v;

    M.SetDims(2,dim);
    M[0][0] =   det;
    M[1][0] =   alpha;
    M[1][1] =   1;
    v       =   vec_shift(M[1],dim);
    M_fp    =   convert<ZZ_mat<mpz_t> ,mat_ZZ >(M);
    lllReduction(M_fp, 0.99,0.51, LM_WRAPPER,FT_DEFAULT, 0, LLL_EARLY_RED);
    M       =   convert<mat_ZZ,ZZ_mat<mpz_t> >(M_fp);
    v       =   GS_reduce_iLLL(M, v, det, 3);

    for (int i=3;i<k;i++)
    {
        M.SetDims(i,dim);
        M[i-1]  =   v;
//        cout<<"before:"<<endl<<M<<endl;
//        cout<<"v:"<<endl<<v<<endl;
        M_fp    =   convert<ZZ_mat<mpz_t> ,mat_ZZ >(M);
        lllReduction(M_fp, 0.99,0.51, LM_WRAPPER,FT_DEFAULT, 0, LLL_EARLY_RED);
        M       =   convert<mat_ZZ,ZZ_mat<mpz_t> >(M_fp);
        v       =   vec_shift(v, dim);
        v       =   GS_reduce_iLLL(M, v, det, i+1);
//        cout<<"after"<<endl<<M<<endl<<"v after"<<v<<endl;
    }
    M.SetDims(k,dim);
    M[k-1]  =   v;
    M_fp    =   convert<ZZ_mat<mpz_t> ,mat_ZZ >(M);
    lllReduction(M_fp, 0.99,0.51, LM_WRAPPER,FT_DEFAULT, 0, LLL_EARLY_RED);
    M       =   convert<mat_ZZ,ZZ_mat<mpz_t> >(M_fp);

    return M;
}