Changeset b4b0324
- Timestamp:
- Aug 9, 2005, 10:58:47 AM (20 years ago)
- Branches:
- feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, pitchshift, sampler, timestretch, yinfft+
- Children:
- 32669d9
- Parents:
- 876c5e7
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
examples/tests/test-fft.c
r876c5e7 rb4b0324 20 20 spec[i] = AUBIO_ARRAY(fft_data_t,win_s); 21 21 /* initialize the window (see mathutils.c) */ 22 window(w,win_s, hanningz);22 window(w,win_s,aubio_win_hanningz); 23 23 24 24 /* fill input with some data */ -
src/mathutils.c
r876c5e7 rb4b0324 24 24 #include "mathutils.h" 25 25 26 void window(smpl_t *w, uint_t size, window_type_t wintype) {26 void window(smpl_t *w, uint_t size, aubio_window_type_t wintype) { 27 27 uint_t i; 28 28 switch(wintype) { 29 case rectangle:29 case aubio_win_rectangle: 30 30 for (i=0;i<size;i++) 31 31 w[i] = 0.5; 32 32 break; 33 case hamming:33 case aubio_win_hamming: 34 34 for (i=0;i<size;i++) 35 35 w[i] = 0.54 - 0.46 * COS(TWO_PI * i / (size)); 36 36 break; 37 case hanning:37 case aubio_win_hanning: 38 38 for (i=0;i<size;i++) 39 39 w[i] = 0.5 - (0.5 * COS(TWO_PI * i / (size))); 40 40 break; 41 case hanningz:41 case aubio_win_hanningz: 42 42 for (i=0;i<size;i++) 43 43 w[i] = 0.5 * (1.0 - COS(TWO_PI * i / (size))); 44 44 break; 45 case blackman:45 case aubio_win_blackman: 46 46 for (i=0;i<size;i++) 47 47 w[i] = 0.42 … … 49 49 + 0.08 * COS(2.0*TWO_PI*i/(size-1.0)); 50 50 break; 51 case blackman_harris:51 case aubio_win_blackman_harris: 52 52 for (i=0;i<size;i++) 53 53 w[i] = 0.35875 … … 56 56 - 0.01168 * COS(3.0*TWO_PI*i/(size-1.0)); 57 57 break; 58 case gaussian:58 case aubio_win_gaussian: 59 59 for (i=0;i<size;i++) 60 60 w[i] = EXP(- 1.0 / SQR(size) * SQR(2.0*i-size)); 61 61 break; 62 case welch:62 case aubio_win_welch: 63 63 for (i=0;i<size;i++) 64 64 w[i] = 1.0 - SQR((2*i-size)/(size+1.0)); 65 65 break; 66 case parzen:66 case aubio_win_parzen: 67 67 for (i=0;i<size;i++) 68 68 w[i] = 1.0 - fabsf((2*i-size)/(size+1.0)); -
src/mathutils.h
r876c5e7 rb4b0324 95 95 96 96 typedef enum { 97 rectangle,98 hamming,99 hanning,100 hanningz,101 blackman,102 blackman_harris,103 gaussian,104 welch,105 parzen106 } window_type_t;97 aubio_win_rectangle, 98 aubio_win_hamming, 99 aubio_win_hanning, 100 aubio_win_hanningz, 101 aubio_win_blackman, 102 aubio_win_blackman_harris, 103 aubio_win_gaussian, 104 aubio_win_welch, 105 aubio_win_parzen 106 } aubio_window_type_t; 107 107 108 108 /** create window */ 109 void window(smpl_t *w, uint_t size, window_type_t wintype);109 void window(smpl_t *w, uint_t size, aubio_window_type_t wintype); 110 110 111 111 /** principal argument -
src/phasevoc.c
r876c5e7 rb4b0324 114 114 pv->synthold = new_fvec (win_s-hop_s, channels); 115 115 pv->w = AUBIO_ARRAY(smpl_t,win_s); 116 window(pv->w,win_s, hanningz);116 window(pv->w,win_s,aubio_win_hanningz); 117 117 118 118 pv->channels = channels; -
swig/aubio.i
r876c5e7 rb4b0324 89 89 /* mathutils */ 90 90 typedef enum { 91 rectangle,92 hamming,93 hanning,94 hanningz,95 blackman,96 blackman_harris,97 gaussian,98 welch,99 parzen100 } window_type_t;101 102 void window(smpl_t *w, uint_t size, window_type_t wintype);91 aubio_win_rectangle, 92 aubio_win_hamming, 93 aubio_win_hanning, 94 aubio_win_hanningz, 95 aubio_win_blackman, 96 aubio_win_blackman_harris, 97 aubio_win_gaussian, 98 aubio_win_welch, 99 aubio_win_parzen 100 } aubio_window_type_t; 101 102 void window(smpl_t *w, uint_t size, aubio_window_type_t wintype); 103 103 smpl_t unwrap2pi (smpl_t phase); 104 104 smpl_t vec_mean(fvec_t *s);
Note: See TracChangeset
for help on using the changeset viewer.