Multiple Stream Processing | Synth Book Questions | Forum


Please consider registering

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —

— Match —

— Forum Options —

Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
Multiple Stream Processing
November 17, 2015 - 9:50 am
Member Since: June 29, 2015
Forum Posts: 6
sp_UserOfflineSmall Offline

Dear Forum,

Before preparing for my university finals I had just finished a prototype for a plugin I was working on through the FX plugin book; I had just added the synth book to my collection and remember reading a small snippit about multiple stream processing (needing an array of some sort).

For the second version of my plugin, I want to split my cascaded filters of various types, say 6, into two separate audio streams, 3 and 3, then combine them together, much like having two separate EQ plugins placed on a strip in a musical DAW.

I was wondering if anyone could point me to this part of either the Synth Book, or FX book that refers to this method, as I know I read it but can not seem to find it!

Kind Regards,


November 17, 2015 - 7:41 pm
Member Since: January 29, 2017
Forum Posts: 689
sp_UserOfflineSmall Offline

There is only one "true" audio stream that moves through your process( ) function. I am guessing you want parallel branches of cascaded filters. This is 2 filters per branch:

float xn = pInputBuffer[0];

// split xn, cascade through two filters each
float y1 = doFilterB( doFilterA( xn ) ); // xn -> A --> B, y1 = output of B
float y2 = doFilterD( doFilterC( xn ) ); // xn -> C --> D, y2 = output of D

// recombine
pOutputBuffer[0] = 0.5*y1 + 0.5*y2;

The 0.5 coefficients when summing the branches are used to try to minimize/prevent clipping. You can set them to 1 or play with other values, but the 0.5 split is most common.

- Will

November 23, 2015 - 1:54 pm
Member Since: June 29, 2015
Forum Posts: 6
sp_UserOfflineSmall Offline

Thanks Will!

I had something like that but am having phase issues with my BPF so thought that wasn't correct and remember that paragraph!

Thankyou for clearing that up, back to reading!

Much appreciation,


Forum Timezone: America/New_York

Most Users Ever Online: 152

Currently Online:
6 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Chaes: 56

Skyler: 48

StevieD: 46

Derek: 46

Frodson: 45

Peter: 43

TheSmile: 43

Nickolai: 43

clau_ste: 39

jeanlecode: 37

Member Stats:

Guest Posters: 1

Members: 768

Moderators: 1

Admins: 6

Forum Stats:

Groups: 13

Forums: 42

Topics: 842

Posts: 3347

Moderators: W Pirkle: 689