Sunday, 9 February 2014

Bypass

A method of bypass that has taken ages to create, taking advantage of the selector~, + and radiogroup objects;

The output section now has a level meter as well;

Friday, 7 February 2014

4th Supervisor Meeting

Progress Report;
  • Got real-time control working for the time stretch using dial.
  • Investigated Granular element, done tutorial, but doesn't operate in prototype; the tutorial provided insight in objects and processes like function, preset and encapsulating.
  • Using 'Presentation Mode' to create prototype designs and help plan further features to be added.
  • Filtering needs tweaking.
  • Started case study.
Agreed action points;

  • Develop Granular component.
  • Develop filtering/filterbanks.
  • Add a noise generator.
  • Morphing control similar to Alchemy.
  • Develop case study addressing why it works, why it doesn't UI features etc.
  • Evaluate any DSP issues.
  • Master FX like EQ and limiting.
  • Scopes and graphs.

2.5.2 with a Filterbank, will be working on bypass features next;

UI Progress





UI V4 - Big Daddy

Having chosen to follow V4, I have mocked up a draft overall design for the prototype, following a very modular style, with a contrasting colour scheme.



Tweaked a little;

The modular layout aids in the allocation and planning of prospective into the prototype before their sound processing starts development. 

Thursday, 6 February 2014

More UI Iterations

Minor changes, mainly colour.

V1;

V2;

V3;

V4;

Latest UI Iteration


Minor Problems (Granular, Filtering,)

The filtering isn't working as I'd like, only triggering one filter at a time, will rectify this in a standalone test build using simple tone generators. 
The granular element is also needing work.

On the plus side, the UI is taking shape in Build 2.4;


Wednesday, 5 February 2014

Granular Debug

Routed the 'p Granulator' (center right) within the current prototype, but only operated for a brief window before cutting out. 
Some investigation and debugging will need to be carried out, but the safer bet will probably be with the creation of my own Granular patch, and initially without the randomisation feature as seen in the tutorial. 

Patcher View;

Granular Synthesis

Working from the tutorial;
http://www.cs.au.dk/~dsound/DigitalAudio.dir/Papers/IntroToGranSynth.pdf
Additional features utilised within this prototype is the preset object and the encapsulating function. 
Preset; "preset can store and recall the parameters of any specified user interface objects at the click of a mouse."
Encapsulate allows a selection to be encapsulated in a sub-patch tidying up the workspace. These features will be of great use within the prototype.

More on Encapsulation;
http://www.cycling74.com/docs/max5/tutorials/max-tut/basicchapter14.html

Tuesday, 4 February 2014

Knobs and Dials

Was a bit frustrating spending about two hours trying to get a dial that operated the time stretching, but it is now implemented. Difficulty arouse concerning the that the values required relied on the use of decimal points. E.g. from 0.1>0.5. 



The dial presents a more hands-on approach to operating the prototype. The dial has also been configured in reverse, where when the dial value progresses the playback ratio number becomes smaller, warping the sound significantly.
Using dials present a familiar way of operating the prototype and offering (the yet to be explored) automated control. Dial control will be considered for the Granular element(s). 
The next stage will be implementing the granular component operating in the Groove based prototype 2.3.

Change in Development Focus and Presentation Mode

Picking up from the discussion with my supervisor during the last meeting that questioned the potentially limited use of my project concerning producing realistic modelled animal sounds,  
a suggestion has been to develop the project in the form of a human vocalisation sound design tool that could provide a greater degree of usability and application, from producing animal like sounds, to fully fledged beasts. 
Still early days with the development though, but I'll keep it in mind.

A handy feature present since Max 5, allows for a separate view of the prototype that hides the routing and offers freedom over what necessary features are displayed.

Before;
After;

A great feature for reducing clutter for interacting with the prototype. This mode will be a great way to help showcase the standalone at the Exposition.

Friday, 31 January 2014

3rd Supervisor Meeting

Progress Report
  • Continued familiarisation with Max MSP using the objects Buffer~ and Groove~ to create a time stretching feature for samples, current optimum playback speed - 0.25% of the original sample.
  • Revisited the human sound source, influenced by a sound effects tutorial which uses time stretching on short coughs.
  • Submitted showcase proposal.
  • Haven't mastered Plot~ to generate time-based graphs against attributes like F0.
  • Integrated overlapping spectrum analysis in the Gizmo~ (1.0) and Groove~ (2.0) prototypes.
  • Sourced a Max MSP Granular tutorial to incorporate these synthesis features in future builds; http://www.cs.au.dk/~dsound/DigitalAudio.dir/Papers/IntroToGranSynth.pdf
Agreed Action Points
  • Start including the use of Record~ working with Buffer~ in future builds, working towards the prospective real-time driven elements of the prototype.
  • Build and test Granular sound synthesis components.
  • Revisit Plot~ to generate temporal analysis graphs. 
  • Investigate the inclusion of customizable master effects that can be automated.
  • Time stretching that can be editted during playback with the possible use of a fader.

*Found a really useful Max/MSP tutorial source aimed at beginners that discusses a variety of topics such as basic audio techniques, sequencing and synthesis. Also handy to get another resource to help increase object knowledge, and application.
http://www.paulschuette.com/wp-content/uploads/2013/01/DEMYSTIFYING-MAXMSP.pdf

Wednesday, 29 January 2014

Buffer~ and Groove~

Buffer~  "buffer~ works as a buffer of memory in which samples are stored to be saved, edited, or referenced in conjunction with many different objects, including play~ / groove~ (to play the buffer), record~(records into the buffer), info~ (to report information about the buffer), peek~ (to write into/read from the buffer like the table object), lookup~ (to use the buffer for waveshaping), cycle~ (to specify a 512-point waveform), and wave~ (to specify a waveform)."
Groove~ "groove~ is a variable-rate, looping, sample-playback object which references the audio information stored in a buffer~ object carrying the same name." 

I have incorporated these into prototype 2.0 allowing for the time stretching of a human sound source. The result is pretty impressive considering the use of coughs for the process input.
The design challenge will be incorporating this into something that almost works in real time, given the inherent delay for the time stretch.

The wave degeneration experienced with gizmo~;

Cough01 normal.
Cough 01 through gizmo set at minus one octave.



Cough 01 through gizmo set at minus two octaves.

Tuesday, 28 January 2014

Roaring

A biologically based roaring framework as provided by Weissengruber;

"We suggest that roaring (the low pitch vocalization seen in
prototypical form in lions and red deer) has two distinct
physiological and acoustic components:
1 a low fundamental frequency, made possible by long or
heavy vocal folds, which lead to the low pitch of the roar;
2 lowered formant frequencies, made possible by an
elongated vocal tract, which provide the impressive
baritone timbre of roars."

This highlights possible principles to inform the design to getting an 'accurate' roar sound.

Weissengruber, G. E. et al. 2002. Hyoid apparatus and pharynx in the lion (Panthera leo), jaguar (Panthera onca), tiger (Panthera tigris), cheetah (Acinonyx jubatus) and domestic cat (Felis silvestris f. catus). Journal of Anatomy. 201(3): pp.195-209. 

From Cough To Roar;

An interesting and amazingly short process that uses a short cough for the input sound and then time stretches it.
The result is very impressive. 
This just shows you have to experiment, and not go for the obvious "RRRRRRRRRRAAAAAAAWR!"
Will try and experiment with this in future prototypes. 



This use of pitch shifting may address altering the Source section within using the Source-Filter framework within this design. It also addresses the first condition outlined by Weissengruber's roaring framework, to produce a sound that features low fundamental frequency.
The next stage would be to do the filtering steps, looking at formants to suffice the Filter side of the theory.

In terms of utilising time stretching in MSP;

http://www.devinkerr.com/2008/10/30/free_elastic-independent-pitchspeed-control-in-max/

Another paper prototype detailing the analytical process;




David Farmer AMA


  • Amy Edwards So many dragons on screen seem to have similar voices and sounds and this dragon and Merlin's (John Hurt's voice) dragon are my top two favorites. Where did you get the inspiration for your dragon and where or what were you modeling his sound from?

  • David Farmer The FIRST thing I wanted was for the beast part of Smaug to be an alligator. I love the sound of an alligator growl, but have never heard it featured anywhere for a film beast. I didn't want him to just be a lion or tiger, or some pitched version of those and the alligator fit the bill. I'd heard alligators before but never had the chance to record them. I want to thanks Colin Hart for sharing his knowledge of Alligators which led me to get several days worth of recordings.




    Jackie Cooper What was the most complicated sound to perfect?

    • David Farmer IMO creature sounds are the single hardest to make, and make them interesting and also believable. There are only so many animals in the world to record, yet visually they can be anything you can imagine. So we're working with a finite source palette, to satisfy a limitless visual potential. We can also only twist them so far before they sound unrealistic.



      • James Henry Pendziszewski What did you do to make Benedict Cumberbatch's voice more dragon-like for Smaug?

      • David Farmer It helps to start with a great performance which Benedict gave us in droves. His voice is arguably the best I've been able to work with. The key was the right amount of pitching, with other low end enhancers, for the most part. But then there was the reverbs to make it sound like it excited the space, as well as vocoding alligator growls to add an extra layer of girth underneath. There were quite a few processes, some added quite subtley, but in the end the sum of the parts created something I hope sounds natural, but yet authentic.

Details the process and rationale David Farmer applied for processing Benedict Cumberbatch in The Hobbit: The Desolation of Smaug.




A short example from the 'Lion King' studio sessions featuring the human voice with the use of a hardware resonator in the form of metal bin to accentuate and attenuate certain frequency formants.


Monday, 27 January 2014

Max Isolated Analysis Update

Using ~plot  to create overlapping analysis views of the human and animal sounds that run simultaneously. 


Not the optimal analysis option, still working on the prospect to get a graph similar to WASP's that displays Fundamental Frequency against time.

Friday, 24 January 2014

2nd Supervisor Meeting

Meeting Agenda - Plan of action.

Progress Report;
  • Familiarisation with Max MSP, comparing frequency shifting against pitch shifting. Pitch shifting sounds cleaner and more appropriate
  • Using a sample in playback for more efficient tailoring to material  
  • Attempting in-house analysis and monitoring
Agreed Action Points

  • Different animal settings
  • Analysis inclusion to create measurable parameters and data
  • Usability features
  • Master Mix, Eq and Limiter

Monday, 20 January 2014

Using sfplay~

Sfplay~ "Use the sfplay~ object to play plays AIFF, NeXT/SUN(.au), WAVE, and Raw Data files of 1-32 tracks from disk."

Using the imitation sound file from the pre-production portfolio 'HumanRoar01' serves as the sound effect as the start of the chain using a loopable sound effect.  
Gizmo~ Has proven to be more challenging to implement when compared with Freqshift~ as it relies on the use of Fast-Fourier transform protocols. Using the unlock feature in the help window offers a quick implementation of the feature.    

Saturday, 18 January 2014

1st Supervisor Session

The 1st Supervisor Session went well addressing the viability of the proposed research and it's potential applications. The real-time feature whilst potentially challenging, would be a worthwhile practical pursuit as it is really useful tool and is engaging to practitioners.
The choice to use Max MSP as the core prototyping and design tool was supported given its range of uses and applications, along with its support in the forms of practical documentation, tutorials, patchs, etc.

Useful practical elements were advised and discussed for the prototypes development. Such as potentially using a procedural/ granular element to introduce variety and dynamic to the output stage. 

Useful tutorial documentation concerning Granular Synthesis:
http://cycling74.com/wiki/index.php?title=MSP_Polyphony_Tutorial_3:_Granular_Synthesis

Prototype Plan

For the Max prototypes, they will be broken down into the following parts;
  • Tackling and augmenting the Source signals
  • Constructing the filters to shape the sound 
  • Adding a Granular component
That will form the design approach of turning this human roar;
Analysed by Praat.
Into this tiger roar;
Analysed by Praat.