Skip to content

Max MSP audio external. Chaotic Triangle Wave Oscillator Bank with Waveshaping, FM, ++

Notifications You must be signed in to change notification settings

DanBennettDev/db.bounce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

db.bounce

One of the first things I programmed in C

A Max MSP audio external. Chaotic Triangle Wave Oscillator Bank with Waveshaping, FM, ++

AUTHOR:			Daniel Bennett (skjolbrot@gmail.com)
DATE:			24/01/2015
DESCRIPTION:	Multiple interacting Peter Blasser style "Bounds 	
  			and Bounce" triangle oscillators. 

  			Overview:
  			- Imaginary balls moving along vector (s,s) with s defined by user per ball
  			- Y component reverses sign when the cursor reaches bound.
  			- lower bound of ball n is location of ball n-1
  			  upper bound of ball n is location of ball n+1
  			- At fixed bounds (-1..1) behaviour for a single voice 
  			  instance is as normal, crude (non bandlimited ) triangle 
  			  oscillator. 
  			for want of a more meaningful value, rate input scaled as the frequency
  			of the fixed bounds (-1...1) case.

  			Extensions to Peter Blasser approach:
  			- voice-to-voice Frequency modulation
  			- variable slope on triangle
  			- waveshaping to pseudo-sinusoud and hyperbolic sine
		Variable slope has far more effect on character of the oscillator 
		than one might expect, impacting not only on timbre as per classical 
		subtractive synthesis methods, but also on pitch and microrhythmic signature. 

  			Works on Max 6 & higher, 32 and 64 bit.
	
Version:		0.3

DevNotes:		Having made the PTR calcs optional (mode), triangle symmetry calcs
				are probably the highest single overhead remaining. I tried
				moving these outside of the audio loop but found that the
				constantly changing width neccessitates checking that gradient
				is within limits & conditionally recalculating on a sample-by-sample
				basis; so the potential gains here are minimal (@ optimisation -O3),
				& cost in code complexity is considerable. However, if anyone
				finds an elegant solution to improving efficiency of the calcs
				I'd be really interested to see.
				Probably (for x86 processors) int truncation is worth optimising?

About

Max MSP audio external. Chaotic Triangle Wave Oscillator Bank with Waveshaping, FM, ++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published