podhoward's Space http://podhoward.posterous.com Most recent posts at podhoward's Space posterous.com Wed, 27 Feb 2013 12:18:00 -0800 Building My Patch #7: The Looping Delay. http://podhoward.posterous.com/building-my-patch-7-the-looping-delay http://podhoward.posterous.com/building-my-patch-7-the-looping-delay

The next aspect of my patch that I decided to start work on was the Looping delay unit. Similarly to the phasor, in order to start this piece of my project I imported a 'loop_handler' sub patch from the cycling 74 examples folder.

Once this was imported, I uploaded a tap tempo sub patch from the cycling 74 examples folder too, along with a button and 'flonum' object, so that my users would be able to control the tempo and time at which their audio was delayed.

After connecting this to the loop handler, I created three dial objects, which would give the user control over the Delay mix, amplitude and filter levels of the audio's delay. All of these had a minimum value of 0 and a step multiplier of 1. Next I created 4 on/off toggles that would control the 'freeze', 'on and off', 'input active' and 'bypass' aspects of my looping delay. I felt that this gave my users a great deal of control over the level of delay on their audio.

Finally I created another dial that would control the click level, and connected all of the different aspects of my looping delay unit. Once everything was correctly labelled and I was sure that this unit worked, I was ready to move onto the next piece of my project.  

Looping_delay

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard
Wed, 27 Feb 2013 04:06:00 -0800 Creating my Patch #6: The Compression Unit. http://podhoward.posterous.com/creating-my-patch-6-the-compression-unit http://podhoward.posterous.com/creating-my-patch-6-the-compression-unit

I next began work on my compression unit, as I wanted my users to have the ability to compress their audio, and therefore manipulate it in that way. Firstly, I imported a template of a 'comp_handler' from the cycling 74 example folder, so that I was certain that the subpatch would work correctly inside of my compression unit. 

I then created 2 dials, giving my user control over the threshold and ratio that their audio would be compressed. The threshold dial had 270 degrees, with 128 steps and a minumum value of -8. I felt as though this gave my user a helpful amount of control, thus improving usability. Similarly, the ratio dial used the same degree and step number, but had a minumum value of 1, with a step mulitplier of 64.

I then created three 'flonum' objects which would control the attack, release and makeup gain of my compression unit. All three of these 'flonum' objects had a minimum value of 0 and no maximum value, therefore giving my user no limitations, allowing them to have complete control over the degree to which their audio would be compressed.

As with many of my other effect units, I wanted my users to have the option of bypassing this particular effect altogether. In order to do this, once agin I created an on/off toggle, and then labelled this with a bright blue comment object, so that it would be easily to notice for my users.

I then wanted to make it easy for my users to see the effects of my compression unit, and to be able to make sure that it was working, and so added a level meter so that the level of audio would be indicated clearly. In order to make this level meter even more clear, I changed the colouring of it to Green, Yellow, Orange and Red; making it obvious when the audio was peaking.

Finally, once all of the dials and flonum objects were correctly connected to the 'comp_handler', I labelled each of the different aspects, and placed a comment box in the top left corner of the unit, making it clear which effect unit my users were using.

Compressor

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard
Wed, 20 Feb 2013 12:52:17 -0800 Creating my patch #5: The Phasor. http://podhoward.posterous.com/creating-my-patch-5-the-phasor http://podhoward.posterous.com/creating-my-patch-5-the-phasor

The next aspect of my patch that I began working on was the phasor effect unit. I started this unit by importing a 'phasor handler' with a core subpatch inside it. I then create 5 dial objects, which would represent each of the individual effects that my users could manipulate in my phasor. These were rate, depth, centre frequency, spread and reactive power or 'Q'. Once all of the dials were connected correctly to the phasor handler, I the created a 'number display' and a value 'incdec' object that would range from 1 to 8, so that my users could decide the degree in which their audio would be manipulated by this phasor unit. 

I then, as I did in the spectral delay effect unit, created a bypass on/off 'toggle', thus allowing my users to have the option of making this individual effect unit inactive. Once again, once all of these aspects of this unit were in-place and connected properly I labelled each of the individual aspects of the patch with 'comment' objects, therefore improving usability and making my patch clearer to the user. 

Phasor

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard
Wed, 20 Feb 2013 12:06:18 -0800 Creating my patch #4: My spectral delay unit. http://podhoward.posterous.com/creating-my-patch-4-my-spectral-delay-unit http://podhoward.posterous.com/creating-my-patch-4-my-spectral-delay-unit

The next piece of my patch that I wanted to begin work on was an effect unit that I did not originally plan on using in my final project; a spectral delay unit. After looking through a number of the forums on the cycling 74 website, I saw that this was not a commonly used aspect of many of the guitar processing rigs, therefore I felt that this piece of my project would make it stand out from the crowd and would therefore make my project more original. 

I began by importing a template of a 'spectral processing manager' from the example patches in MAX's database. This would ensure that the dealy unit would work correctly and would save me time in creating the subpatches inside. I then created two 'filter' and 'delay' buffers, and connected them up to a loadbang object. I then imported two waveform viewers for each of the buffers, so that my users would be able to manipulate and edit the way in which the filter and delay effects worked on my spectral delay unit. 

Once the buffers were set up correctly, I connected m spectral processing manager up to a live gain slider, which ranged from -70 decibels to 6. This would allow my users to choose how loudly the effects of this dealy unit would affect their audio. I then decided that I wanted my users to have the option of bypassing this effect unit entirely, thus giving them more control over the processing rig. In order to do this, I connected my live gain slider to a 'selector~ 2 1' object, and then onto a '+1' object. I then linked that onto an on/off toggle object, thus making it simple for users to make this particular effect unit active or inactive.

As this was all set up and I had tested that it worked sufficiently, I clearly labelled all of the aspects such as the live gain and delay/filter shape editors, so as to make it clear to my users what each aspect of my unit was. I then felt suitably pleased with this piece of my patch and so was ready to move onto the next effect unit.  

Spectral_delay

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard
Wed, 06 Feb 2013 03:51:35 -0800 Building my Patch #3: My Reverb Unit http://podhoward.posterous.com/building-my-patch-3-my-reverb-unit http://podhoward.posterous.com/building-my-patch-3-my-reverb-unit

The next piece of my patch that I began work on was the reverb unit. As this effect is so commonly used on guitar processing rigs, I felt that it was the natural selection to come after the EQ unit.

I started by using a template from the max 'examples' folder for a reverb handler, and then connected it to a dial with a minimum value of 0, and a step multiplier of 1. I then connected a 'flownum' object to the reverb handler so that I could manipulate the decay time of my reverb unit. I set the parameters of the 'flownum' to a minimum of 1 and a maximum of 10,000. I felt this would give my users a sufficient amount of control over the level of reverb they used on their audio.

Seeing as users of my processing rig may not want to use any reverb at all on their audio I next created an on/off 'toggle' object which would act as a bypass switch for my reverb unit. Again, I connected this to the reverb handler and felt that my reverb unit was more or less finished.

Finally I focused on the aesthetics and, to improve usability, created three 'comment' objects and clearly labelled the 'decay time', 'reverb mix' and 'bypass' aspects of my reverb unit. I decided to make the 'bypass' comment box an obvious and eye catching colour of blue with white lettering, so that users would easily be able to identify and use it.  

As with the Filtering/EQ unit, I then placed a final comment box, simply stating the title of this particular unit, 'Reverb', and placed it in the top left corner of the panel. I was pleased with the aesthetics of this unit and so was ready to move on to my next effect.   

Reverb

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard
Wed, 06 Feb 2013 03:29:44 -0800 Building My Patch Continued: Filtering/EQ. http://podhoward.posterous.com/building-my-patch-continued-filteringeq http://podhoward.posterous.com/building-my-patch-continued-filteringeq

Following the Input handling unit, the next piece of my patch that I began work on was the Filtering and EQ unit. I felt that this was essential to my guitar processing rig as it would help the user to control the overall gain and levels of the low, high and middle frequencies, therefore it was the naturual selection to be placed after my input handling unit.

I began by copying the template from the max help files for a 'filter handler patch', that would control the many scalers and filters that would be used. Similarly, I used a template 'filter clearer' from the help files so that I could set the preset levels of the frequency and gain dials when the 'clear filters' message was applied. As both the 'filter clearer' and the 'filter handler' were already in sub-patches I simply needed to connect the seven dials into the inputs and outputs for them both. These seven dials represented 'Low Frequency', 'Low Gain', 'High Gain', 'High Frequency', 'Mid Frequency', 'Mid Gain' and finally 'Mid Q', and to make them easy to identify, I numbered them and placed comment boxes at the side of the unit with each number and its corresponding dail noted.  

Once the 'filter clearer' and 'filter handler' were connected to the dials correctly, I connected the 'filter handler' to the 'clear filters' message and a filtergraph, so that the effects of the filters could be cleary seen by the user. I also connected a noise level meter to the handler, so that it would be easy for any user to see whether or not the unit was working. 

I decided that, as this was such a crucial piece of my patch, there should be no 'bypass' toggle. Finally, I simply placed a comment box with the title 'Filtering/EQ' at the top of my unit so that it would be easy to identify, and I was done. 

Eq

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard
Mon, 28 Jan 2013 05:44:14 -0800 Building my patch: The input handling unit. http://podhoward.posterous.com/building-my-patch-the-input-handling-unit http://podhoward.posterous.com/building-my-patch-the-input-handling-unit

Naturally, the starting point for my final project was the input handling unit. I therefore began my project by creating the object 'loadbang' which I connected to an 'adstatus driver', an 'adstatus option 0' and an 'adstatus input 1'. These represented the audio driver, audio option and the audio input, which would be connected to the Core Audio, Built-in microphone and 'input 1', thus allowing for playout, mic input as well as an optional additional input. 

Given that I was relatively unfamiliar with the use of the 'adstatus' object and its uses, I used the template from the help patches so as to ensure that my patch worked correctly. 

Once I'd connected the loadbang to the 'driver', 'option 0' and 'input 1', I created a sub-patch for them to be placed in so as to avoid clutter on my patch and therefore improve usability. In this sub-patch, I also placed an 'adc~' object so that I could monitor the audio status within my patch. 

In my input handling unit, as well as controlling the digital sound processing, I also wanted to control the gain level of my audio input. I therefore connected my 'input handler' to a '*~' object and then to a scale object, allowing me to not only use the normal gain levels of 0-127, but also to a scale that goes from 0-2, i.e.from silent to double the volume. Using a 'loadmess' object with a 64ms reaction time and a Gain dial, gave me a suitable level of control over my top-end gain. I made the gain dial green, with a white needle, so that it would be easy to identify and therefore simply to use. At this point I felt as though my interface looked very tidy, and though I may change it once my project was completed, I felt satisfied with the layout. 

I finally connected my '*~' object to a 'recieve~ test' object and a level meter, so that the audio could easily be tested, and that any auio output that peaked would be displayed by the level indicator, once again improving usability. 

I felt suitably pleased with my input handling unit and so was ready to start work on the individual effect units that I would make up the rest of my processing rig.  

Input_handler_screenshot

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard
Thu, 29 Nov 2012 06:43:00 -0800 Session 7: Beginning work on my final project. http://podhoward.posterous.com/session-7-beginning-work-on-my-final-project http://podhoward.posterous.com/session-7-beginning-work-on-my-final-project

This we began working on our final projects. The session began with Pere coming round to each of us indivdually, to find out what are plan was and to see our first design outline. 

I explained to him my concept and decribed how I planned to accomplish it. I started my processing rig with an input handler, naturally, and then gave the list of effects I planned on using in my project. These included a compressor, EQ/filter, reverb unit and a phasor. I explained that these were not necessarily in any set order just yet, as I imagine I will chop and change them as I progress. Nevertheless, he was pleased with the high number of different effects I would be using. 

I then moved onto my presets. Here I planned on having a Modulating Digital Delay unit, so as to control the level of delay coming through after all of the other effects have changed the sound as much as the user likes. I then wanted the whole thing to come through an Overdrive/gain modulator. I decided to do this as I overall wanted my effects pedal to produce an overdriven or gain heavy sound, but for the user to have control over what other effects they had on it. The sound would then go out through the output handler and play out.    

I was very pleased with this session and feel fully confident that Pere is happy with my project. Therefore, in our next session I will begin working on my patch and start to create the indivdual elements. 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard
Thu, 08 Nov 2012 08:25:03 -0800 Session 6: Planning my final project. http://podhoward.posterous.com/session-6-planning-my-final-project http://podhoward.posterous.com/session-6-planning-my-final-project

This week we were encouraged to think about our final project in greater detail and, ideally, to finalise our idea.

I decided that for my final project I am going to create a guitar effects processing rig. This will follow all the usual conventions of an effects rig but will be, in my opinion, enhanced to suit the users needs and therefore improve usability. 

I have not yet entirely decided on the layout and processing chain of my rig, but am considering using an overdrive function as the last element of my rig, so that any sound that goes through, will be effected by it.

After discussing my idea with Pere, I felt confident in my plan and was excited to begin shaping my Max 6 patch. This week I will be researching the methods and conventions used when building a guitar effects processing rig so that next week I can think about starting work on my own.    

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard
Wed, 31 Oct 2012 08:58:00 -0700 Session 5: Output Sliders. http://podhoward.posterous.com/session-5-output-sliders http://podhoward.posterous.com/session-5-output-sliders

This week we were learning about the use of output sliders in our Max 6 patches.

We began by learning that a gain slider is both a multiplier and a slider combined, and that we can use a VU level meter to gauge the level at which the sound stars to become distorted. This allows us to limit and scale our levels. We were told that the output for audio levels needs to always be scaled to 0-1, and for midi controlling audio, it needs to be between 0 and 127. 

Alternatively, we can remove the gain slider, and simply use a multiplier and a slider seperately. However, again these need to both be scaled to 0-1. Similarly we could place a 'scale' object in between two 'flo.number' boxes. We found that often the reason that a Max patch isn't working is due to an integer and a decimal number box being used together. These two forms of number box can not work together and therefore must never be matched. 

We then began learning about the object 'multislider'. This is the same principal as a single slider, except that, as the name suggests, it can have as many individual sliders as the user requires. In order to keep track of these multiple sliders, we can use the 'slider style' setting to change the colour of each slider and make our patch tidier.

We then learnt about 'pack' and 'unpack' objects. Unpack objects are very powerful and useful in a patch as they send whatever information comes in, out in all its individual parts. We use the unpack object with the multislider to define each sliders level and output. If we are using integers rather than flo.numbers, then we have to change the unpack object from 'f's' to 'i's'. This can also work the opposite way with the 'pack' object. However, with the pack function, we need to use a button control so that the sliders are able to move seperately from one another. 

The 'Umenu' object allows the user to put text or numbers into a box on their patch. Each object in a patch can have an individual name by changing the scripting name in the Inspector. This allows the user to keep on track of their patch, especially if there are multiple mulitsliders being used. Another key technique used for tidying patches and making them look more professional, is the use of the 'Encapsulate' feature. This basically creates a sub patch of anything selected which you can then name.

This week's session was very useful and I look forward to starting work on my own individual project, as I start to create my own guitar effects patch. 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard
Wed, 17 Oct 2012 08:12:00 -0700 Session 4: Effects Units. http://podhoward.posterous.com/session-4-effects-units http://podhoward.posterous.com/session-4-effects-units

Today in EMP we were learning how to construct our very own effects unit, starting with the fact that at the heart of every one, is compression and distortion. I also learnt about our 'threshold of perception', and how for humans this is between 5 and 10 miliseconds per second. Anything below 10, begins to fuzz and sound distorted. In these cases,we must use delays so as to phase the sound and make it clearer. this technique is commonly known as the 'All pass filter'. 

Wwe also developed our knowledge of waveforms, by learning that we perceive the 'Sine' wave as pure, because it has a continuity that, for instance, the sawtooth wave does not. The peaks in the Sawtooth disturb its continuity and cause it to sound more disjointed. With Sine waves, the closer the waves are to one another, the brighter or 'purer' the sound.

We then began looking at the Lexicon plate reverb unit, a simple piece of software, but technically one of the best sounding in the business. We then examined the steps needed to create a guitar effects unit. We begin by sending the signal into a compressor. Then once we had our signal as loud as possible, we have to feed it into the distortion or degrading unit. 

We then filter the signal, as the distortion creates a lot of harmonics and we need to be able to control the sound. Pere told us that it was always useful to create a bypass for each aspect of the effects unit, thus giving the user the choice for each individual effect. 

Once the first filter is put in place, we create the all pass filter, or 'phaser', then the modulating delay, or 'flanger'. I discovered that the 'groovebox delay' gives the user the ability to mess around with the wave form, making it longer or shorter. 

Finally, we send the signal through to the output system. We learnt another little trick that would tidy up our patches and make them more professional looking. We were told that switches create discontinuation, and so to avoid this, rather than a switch we should have a slider that goes from 0-10. 

I felt very happy with todays session and am confident that my own project will be based around the creation of an effects unit. This is something that I have an interest in and can not wait to get started with.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard
Fri, 12 Oct 2012 10:13:43 -0700 Session 3: Looping http://podhoward.posterous.com/session-3-looping http://podhoward.posterous.com/session-3-looping

This week we learnt how to loop samples using Max 6.

However, we started the session by learning some more little tricks to help us use the software. Firstly, we learn how to track a cable, in case our patch is not producing sound. We were told that if the patch is not working, the probe will display a 0. Pere also stressed that we should never change the signal vector on our patch, as this would most likely stop it from working. 

We then began importing our samples into the patch so that we could begin looping. We did this by adding objects called 'groove~'. Once we had our samples in our patch, we began looping them and manipulating the speed at which the sample was played. I found that if the speed is below 0, then the sample will be played in reverse. 

As I am relatively inexperienced in the field of Music Programming, I also improved my knowledge of Bit and Sample rates, as well as waveforms. I learnt that the Sample rate is the number of times a second the sotware takes a sample of your track, and that the bit rate is the number of bits you put in to be samped a second. I therefore found that the lower your bit rate, the more edged your wave is, thus making it sound more distorted. Similarly, the higher the bit rate on a track, the clearer and cleaner it sounds. 

Gradually, I am becoming more and more comfortable using the software Max 6 and am growing accustomed to the various keyboard short-cuts and tricks.  

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard
Mon, 08 Oct 2012 10:38:00 -0700 Experimental Music Programming : Session 2. http://podhoward.posterous.com/experimental-music-programming-session-2 http://podhoward.posterous.com/experimental-music-programming-session-2

This week in Experimental Music Programming, we were learning about Analog Sounds and the waveforms that they produce, as well as improving our knowledge of the software 'Max 6'.

We began by learning that Analog Sounds often appear dirtier and rougher, as they are susceptible to outside noise. This means that they sound slightly distorted and gritty.

We also learnt about the various oscilators that are used in 'Max 6', 'triangular', 'square' and 'sawtooth'. Although technically 'Sawtooth' is not an oscilator, it is a processor. The difference between the three is that the 'Triangular' and 'Square' oscialtors can not work independently, they must use 'Sawtooth' as a reference.

The waveforms are named so due to the shapes they resemble when produced, caused by the differentiating deviations from 0. The sawtooth and square waves are commonly used in music that use subtractive analog and virtual analog music synthesizers.

Once we opened up 'Max 6', we learnt how to turn a pre-existing patch into a sub-patch, which would prove to be very helpful once we'd started creating our final projects, as it would allow us to keep our work tidy and professional looking.

Finally, we learnt how to import a sample into our patch, and how to see that sample in waveform, which would ensure that we had imported the correct one.

Though at this time I have not decided on a final project, I was assured by Pere that this was not neccessary just yet, as we are still in the preliminary stages of Experimental Music Programming and are still getting used to the software. 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard
Mon, 01 Oct 2012 09:22:58 -0700 Introductory Lesson. http://podhoward.posterous.com/introductory-lesson http://podhoward.posterous.com/introductory-lesson

On Wednesday the 26th of September, we had our first taste of Experimental Music Programming. We were introduced to 'Max 6', a piece of visual programming software that I had never previously used. 

However, after getting accustomed to the layout and short-cut buttons, I found that there were numerous similarities between 'Max 6' and another visual programming language, 'Pure Data'. Having used Pure Data for one of my modules last year, I instantly felt far more comfortable using the new software and felt confident in being able to accomplish the required tasks in Experimental Music Programming.

As this was only the first session, we were not required to create anything extravagent. We set up a simple patch involving an on/off button, keyboard, oscilator and audio input/output. We were also taught how to add comments, change colours and gererally tidy up our patches. 

Although I do not have a set idea yet as to what my final project for this unit will be, I am very confident that I will be able to produce an exciting and professional piece of work.

Pod Howard. 01/10/2012 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/2261000/majestic.jpg http://posterous.com/users/n42jshARPeFAe Pod Howard podhoward Pod Howard