00001 #ifndef AUDIOPINK 00002 #define AUDIOPINK 00003 00004 #include "mythexp.h" 00005 00006 #define PINK_MAX_RANDOM_ROWS (30) 00007 #define PINK_RANDOM_BITS (24) 00008 #define PINK_RANDOM_SHIFT ((sizeof(long)*8)-PINK_RANDOM_BITS) 00009 00010 typedef struct 00011 { 00012 long pink_rows[PINK_MAX_RANDOM_ROWS]; 00013 long pink_running_sum; /* Used to optimize summing of generators. */ 00014 int pink_index; /* Incremented each sample. */ 00015 int pink_index_mask; /* Index wrapped by ANDing with this mask. */ 00016 float pink_scalar; /* Used to scale within range of -1.0 to +1.0 */ 00017 } pink_noise_t; 00018 00019 void initialize_pink_noise( pink_noise_t *pink, int num_rows ); 00020 float generate_pink_noise_sample( pink_noise_t *pink ); 00021 00022 #endif
1.6.3