patest_pink.c File Reference

Generate Pink Noise using Gardner method. More...

#include <stdio.h>
#include <math.h>
#include "portaudio.h"

Data Structures

struct  PinkNoise
struct  paTestData

Defines

#define PINK_MAX_RANDOM_ROWS   (30)
#define PINK_RANDOM_BITS   (24)
#define PINK_RANDOM_SHIFT   ((sizeof(long)*8)-PINK_RANDOM_BITS)
#define PINK_MEASURE
#define PINK_TEST

Functions

void InitializePinkNoise (PinkNoise *pink, int numRows)
float GeneratePinkNoise (PinkNoise *pink)
int main (void)

Variables

float pinkMax = -999.0
float pinkMin = 999.0

Detailed Description

Generate Pink Noise using Gardner method.

Optimization suggested by James McCartney uses a tree to select which random value to replace.

	x x x x x x x x x x x x x x x x 
	x   x   x   x   x   x   x   x   
	x       x       x       x       
	 x               x               
	   x   

Tree is generated by counting trailing zeros in an increasing index. When the index is zero, no random number is selected.

Author:
Phil Burk http://www.softsynth.com

Define Documentation

#define PINK_MAX_RANDOM_ROWS   (30)
#define PINK_MEASURE
#define PINK_RANDOM_BITS   (24)

Referenced by InitializePinkNoise().

#define PINK_RANDOM_SHIFT   ((sizeof(long)*8)-PINK_RANDOM_BITS)

Referenced by GeneratePinkNoise().

#define PINK_TEST

Function Documentation

float GeneratePinkNoise ( PinkNoise pink  ) 
void InitializePinkNoise ( PinkNoise pink,
int  numRows 
)
int main ( void   ) 

Variable Documentation

float pinkMax = -999.0

Referenced by GeneratePinkNoise(), and main().

float pinkMin = 999.0

Referenced by GeneratePinkNoise(), and main().


Generated for PortAudio by  doxygen1.6.1