summaryrefslogtreecommitdiffstats
path: root/alsa-utils/speaker-test/pink.h
diff options
context:
space:
mode:
Diffstat (limited to 'alsa-utils/speaker-test/pink.h')
-rw-r--r--alsa-utils/speaker-test/pink.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/alsa-utils/speaker-test/pink.h b/alsa-utils/speaker-test/pink.h
new file mode 100644
index 0000000..0d17f7a
--- /dev/null
+++ b/alsa-utils/speaker-test/pink.h
@@ -0,0 +1,15 @@
+#define PINK_MAX_RANDOM_ROWS (30)
+#define PINK_RANDOM_BITS (24)
+#define PINK_RANDOM_SHIFT ((sizeof(long)*8)-PINK_RANDOM_BITS)
+
+typedef struct
+{
+ long pink_rows[PINK_MAX_RANDOM_ROWS];
+ long pink_running_sum; /* Used to optimize summing of generators. */
+ int pink_index; /* Incremented each sample. */
+ int pink_index_mask; /* Index wrapped by ANDing with this mask. */
+ float pink_scalar; /* Used to scale within range of -1.0 to +1.0 */
+} pink_noise_t;
+
+void initialize_pink_noise( pink_noise_t *pink, int num_rows );
+float generate_pink_noise_sample( pink_noise_t *pink );