Avatar

Please consider registering
Guest

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 sp_TopicIcon
Multiple Stream Processing
No permission to create posts
November 17, 2015
9:50 am
Avatar
AlexIam
Member
Members
Forum Posts: 6
Member Since:
June 29, 2015
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,

Alex

November 17, 2015
7:41 pm
Avatar
W Pirkle
Admin
Forum Posts: 143
Member Since:
January 28, 2017
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
Avatar
AlexIam
Member
Members
Forum Posts: 6
Member Since:
June 29, 2015
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,

Alex

Forum Timezone: America/New_York

Most Users Ever Online: 36

Currently Online:
2 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Skyler: 47

Peter: 41

Derek: 41

clau_ste: 39

Frodson: 38

Gwen: 32

EZB: 24

lppier: 23

Msaldaña: 18

Jorge: 17

Member Stats:

Guest Posters: 1

Members: 476

Moderators: 1

Admins: 4

Forum Stats:

Groups: 11

Forums: 30

Topics: 482

Posts: 1876

Newest Members:

sam, annaharris, Marie Weaver, kev, Steven, Mr Anderson, mguy, omelc

Moderators: W Pirkle: 143

Administrators: Tom: 65, JD Young: 80, Will Pirkle: 0, W Pirkle: 143