Thursday, 28 August 2014

Sound Design Toolbox pt1 - Random Container


I've been inspired by this excellent article at Designing Sound to create a small range of modules designed to replicate the functionality of sample players used by game audio engines/middleware. The idea is to create a modular toolkit within Max aimed at opening up some non-linear sound design techniques.


This could be useful for:
  • Prototyping elements before they are implemented in-game
  • Using in any games created with max itself (I do hear of the odd one on the forums)
  • Designing sounds in a real-time live way, with plenty of options for control within Max (Quneo, Leap, Kinect etc)
  • General sample playback where looping and/or randomisation are needed
  • Potentially discovering components which max already has that may be useful for use in other environments
  • Experimenting using live models to design sounds for linear media

 
First up, I’ve created a random container for use in max:


The general idea is that you dump a folder full of samples in it, then a bang in the left inlet triggers a random sample. You can choose to have the last X samples not play, so to avoid people noticing any repetition. Then there's randomisable pitch amounts, global tuning, randomised reverse playback and variable polyphony. The second inlet will take an int to play a specified sample. 

As with Endjinn, this will remember file locations and re-load your sample as long as you embed the patcher so do this in the inspector every time you use one.

Some looping containers are coming next. I might also re-design the interface a bit for this one when they are all finished.

Here it is:

Random Container 0.9

Load it into a Bpatcher 



Licensed under:



Attribution-NonCommercial-ShareAlike
CC BY-NC-SA 
 
This license lets others remix, tweak, and build upon your work non-commercially, as long as they credit you and license their new creations under the identical terms.



 

2 comments:

  1. Hi,
    opening it in Max 6.1.9 gives following errors:
    poly~: no patcher Random_Container
    polybuffer~: clear is not a Folder

    ...needs the Random_Container patch
    Best
    \ Klangschmied /

    ReplyDelete
    Replies
    1. Thanks for letting me know. I thought I'd solved that issue embedding the bpatcher containing the poly~. Curious if this is working for anyone else? (please comment!).

      Here is the poly~ patch:

      https://www.mediafire.com/?rkeup2kcmvi4vcw

      Delete