tag:blogger.com,1999:blog-54658679043105983642024-03-19T04:34:05.019+00:00Future Guitarist TechnologyDocumenting the digital modelling processAnthonyhttp://www.blogger.com/profile/01888414603760970103noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-5465867904310598364.post-71989327168718965142011-01-16T18:16:00.002+00:002011-01-16T18:16:31.048+00:00Official websiteTo view my official website please go to <a href="http://www.aevansdevelopment.co.uk/">www.aevansdevelopment.co.uk</a>, website for myself Anthony Evans Audio technologist and developer.Anthonyhttp://www.blogger.com/profile/01888414603760970103noreply@blogger.com0tag:blogger.com,1999:blog-5465867904310598364.post-61534333147534991822011-01-16T16:11:00.000+00:002011-01-16T16:11:11.944+00:00Analysis of results<div class="MsoNormal">Low E 82.4Hz</div><div class="MsoNormal">The following image shows the peak frequency content when the Low E string is played with the gain and volume settings at 10 and the tone at 5.<span style="mso-spacerun: yes;"> </span>The fundamental frequency is clearly visible at 82.4 Hz and the following peaks can be shown to be certain odd and even harmonics of the fundamental.<span style="mso-spacerun: yes;"> </span>The second harmonic at 164.8Hz can be seen clearly, however there is also a peak at around 230Hz and 300Hz which does not match to a specific harmonic of the low E.<span style="mso-spacerun: yes;"> </span></div><div class="MsoNormal"><span style="mso-spacerun: yes;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJaE6qaqC4MnPzXkAWe0ZjuuLCTLDmGdfrzvzxwAOXUKVVpK8CyKpZQfUOxCbtPzRYVngP4W1NO8tsxEOUvBFyjaiKIph-4KSUejy8hdULFr44iUAnxFqAP-j6Iynn8V1P8RmoxIbUQ7kM/s1600/g10v10lowE1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJaE6qaqC4MnPzXkAWe0ZjuuLCTLDmGdfrzvzxwAOXUKVVpK8CyKpZQfUOxCbtPzRYVngP4W1NO8tsxEOUvBFyjaiKIph-4KSUejy8hdULFr44iUAnxFqAP-j6Iynn8V1P8RmoxIbUQ7kM/s320/g10v10lowE1.png" width="320" /></a></div><div class="MsoNormal"><span style="mso-spacerun: yes;"> </span>The image below shows the same audio halfway through the audible period and it can clearly be seen that most of the high end content is dropped, and it is observed throughout the clip that the high end content lowers considerably quickly with the first five or so harmonics remaining consistent throughout the audio.<span style="mso-spacerun: yes;"> </span>It is also observed that during the audio the harmonics die off in an alternative cyclic manner, with peaks close to each other fluctuating alternatively producing the sustained cyclic period the amplifier produces.</div><div class="MsoNormal"><span style="mso-spacerun: yes;"><br />
</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgDEfDrNi1ASNkh1pqM_21Br-vSIYQepAnaPuhITdYwk8d1leVi9_TGJPCYMBWCqVoI_yRwO1lfhQR7KdJ1fiGrPicdAhy6nxuD6XR_MpYM-5rim4YCsyRnKrCRx8SNCQuZMKESOT3EQIH/s1600/G10V10lowe2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgDEfDrNi1ASNkh1pqM_21Br-vSIYQepAnaPuhITdYwk8d1leVi9_TGJPCYMBWCqVoI_yRwO1lfhQR7KdJ1fiGrPicdAhy6nxuD6XR_MpYM-5rim4YCsyRnKrCRx8SNCQuZMKESOT3EQIH/s320/G10V10lowe2.png" width="320" /></a></div><div class="MsoNormal"><span style="mso-spacerun: yes;"> </span></div><div class="MsoNormal"><span style="mso-spacerun: yes;"> The image below represents the DI guitar played at the low e (82.4 Hz) both peak and half way through the audio.<span style="mso-spacerun: yes;"> </span>Some of the odd harmonic content found in the previous amplifier output can also be found here, showing that the guitar itself produces harmonic content not related to the fundamental. The main difference in terms of frequency content is that the frequencies produced by the amplifier are much larger in amplitude and more exaggerated than the DI guitar.<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span></span></div><div class="MsoNormal"><span style="mso-spacerun: yes;"><span style="mso-spacerun: yes;"><br />
</span></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvSUtSZ33H6Nc35B1SuKBzKsrEq8dTwPMP3LNP-8mdA7YXJO21B-D6Dx2X1iLyZzJqcrH6-QX0feIEgZxRbViJipPzEuVaBSgLjNWXxdtrzOamPkQGG0YZZm3XMGOgU9Jmx0wOmIc7xdco/s1600/DIguitar1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvSUtSZ33H6Nc35B1SuKBzKsrEq8dTwPMP3LNP-8mdA7YXJO21B-D6Dx2X1iLyZzJqcrH6-QX0feIEgZxRbViJipPzEuVaBSgLjNWXxdtrzOamPkQGG0YZZm3XMGOgU9Jmx0wOmIc7xdco/s320/DIguitar1.png" width="320" /></a></div><div class="MsoNormal"><span style="mso-spacerun: yes;"><span style="mso-spacerun: yes;"></span></span></div><div class="MsoNormal">The image below shows the two waveforms next to each other (the amplifier output on top the DI below).<span style="mso-spacerun: yes;"> </span>Just from looking it can clearly be seen that the amplifier adds a great deal of sustain and gain to the input.<span style="mso-spacerun: yes;"> </span>From the odd shape of the waveform asymmetrical clipping can be observed as would be expected of tube applied overdrive.<span style="mso-spacerun: yes;"> </span>Reproducing this asymmetrical distortion is key in producing the cyclic sustain and ‘warmth’ that tube overdrive offers.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIDU_bl77WnP8S0X6L9Un8kKFepMRjNTdJPzKCrUx3a3iuzMCjTuIgf_G8RQl1xXHz0lgCC7HHfBEIh1OO1DC3py-FXeKTgYCXxYP3eAZnR2KLzApuWpAnUj2J9h34U2OSbZ7M0QGpki6F/s1600/waveDIGV10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="101" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIDU_bl77WnP8S0X6L9Un8kKFepMRjNTdJPzKCrUx3a3iuzMCjTuIgf_G8RQl1xXHz0lgCC7HHfBEIh1OO1DC3py-FXeKTgYCXxYP3eAZnR2KLzApuWpAnUj2J9h34U2OSbZ7M0QGpki6F/s320/waveDIGV10.png" width="320" /></a></div><div class="MsoNormal"><br />
</div>Anthonyhttp://www.blogger.com/profile/01888414603760970103noreply@blogger.com0tag:blogger.com,1999:blog-5465867904310598364.post-50607390793786043522011-01-16T16:08:00.000+00:002011-01-16T16:08:00.957+00:00Amplitude dependent wave shaping<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px;">One of the key characteristics of the amplifier even at peak distortion is the effect of input amplitude on the amount of distortion generated. When playing softly even at full volume, even though there is an increase in overall volume/loudness there is less distortion than when playing harder. It is important to incorporate this into my chebyshev waveshaping functions as the plug-in should only apply more distortion to higher input values. A test has been produced separating the input into above and below 0.5 && -0.5 only applying the distortion polynomials above these values. This works quite well however more subtlety is needed and is currently being developed. </span><br />
<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px;">UPDATE</span><br />
<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px;"><span class="Apple-style-span" style="font-size: 13px;"></span></span><br />
<div id="content-0" style="font-family: 'Lucida grande', Arial, verdana, sans-serif;"><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">After some experimentation I have now got a working amplitude dependant distortion waveshaper using chebyshev polynomials. The code looks at the amplitude level and depending on the number adds specific polynomials too the output variable. The only problem is that it is extremely computationally excessive and needs to be tested on another pc to establish what the problem is. I have a feeling as the amplitude changes so often there are too many process leading to too much distortion and sometimes crashing. I am currently in the process of updating this as well as including a control on the amount of distortion in general. </div></div><br style="font-family: 'Lucida grande', Arial, verdana, sans-serif;" />Anthonyhttp://www.blogger.com/profile/01888414603760970103noreply@blogger.com0tag:blogger.com,1999:blog-5465867904310598364.post-67943763462734406172010-12-20T16:17:00.002+00:002010-12-20T16:17:22.144+00:00Biquad notch filter<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 13px;"></span><br />
<div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">Following the last blog post more code has been written making a functioning biquad notch filter. Although there is some aliasing produced the filter acts a notch filter with the peak around the 8khz range. The filter works very well as a high pass filter as it cuts all low frequencies. Switch statements are used to make sure the correct samples for previous inputs and outputs are used. The code is as follows:</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">void Laneycub10::processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames)</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">{</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float* in = inputs[0];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float* out1 = outputs[0];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float* out2 = outputs[1];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float a0 = 1;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float a1 = 0;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float a2 = -1;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float b1 = 0.1;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float b2 = 0.9;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float xn0 = 0;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float xn1 = 0;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float xn2 = 0;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float yn1 = 0;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float yn2 = 0;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">while (--sampleFrames >= 0)</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">{</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float x = *in++;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">switch (xcursor) {</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">case 0:</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">xn0 = xbuffer[xcursor];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">xn1 = xbuffer[2];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">xn2 = xbuffer[1];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">break;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">case 1:</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">xn0 = xbuffer[xcursor];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">xn1 = xbuffer[0];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">xn2 = xbuffer[2];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">break;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">case 2:</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">xn0 = xbuffer[xcursor];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">xn1 = xbuffer[1];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">xn2 = xbuffer[0];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">break;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">}</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">switch (ycursor) {</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">case 0:</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">yn1 = ybuffer[2];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">yn2 = ybuffer[1];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">break;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">case 1:</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">yn1 = ybuffer[0];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">yn2 = ybuffer[2];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">break;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">}</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">float y = a0*xn0 + a1*xn1 + a2*xn2 - b1*yn1 - b2*yn2;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">xbuffer[xcursor++] = x;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">ybuffer[ycursor++] = y;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">if (xcursor == size)</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">xcursor = 0;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">if (ycursor == size) //failsafe W cursor should never reach size</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">ycursor = 0;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">*out1++ = y;</div>Anthonyhttp://www.blogger.com/profile/01888414603760970103noreply@blogger.com0tag:blogger.com,1999:blog-5465867904310598364.post-60130573244777722812010-12-11T18:33:00.000+00:002010-12-11T18:33:15.202+00:00Chebyshev polynomial soft clipper<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px;">After an intial set up with the VST template, the max/msp chebyshev experiment has been repeated adding the harmonics with the polynomials using the VST sdk. </span><span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px;">The code from the previous experiment has been modified to give each chebyshev polynomial its own variable which is calculated separately and then mixed (added) together at output. This seems to produce stronger harmonic content and reduces clipping. The nature of the chebsyhev polynomials are to scale the output values between 1 and -1. The first five (including the initial frequency) harmonics are produced and from the waveform the frequency difference can clearly be seen. The image below contains the effected output waveform above and the original source below.</span><br />
<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwWMYzh0wxfmzjrOzaapMB7F-pnFejJz1MbUGJzjDkogu4Ql5srA1wYrTWqRQv4_fzkEglgsByhWhp02a2NyK0mnS8W8IE2hWAUxRu0Exep8DMZIXD_Th-PlylhU1KnaHpglBosp_2Zvzl/s1600/C5F1B2C66022AE99.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwWMYzh0wxfmzjrOzaapMB7F-pnFejJz1MbUGJzjDkogu4Ql5srA1wYrTWqRQv4_fzkEglgsByhWhp02a2NyK0mnS8W8IE2hWAUxRu0Exep8DMZIXD_Th-PlylhU1KnaHpglBosp_2Zvzl/s320/C5F1B2C66022AE99.png" width="320" /></a></div><br />
<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif;"><span class="Apple-style-span" style="font-size: 12px;"><br />
</span></span><br />
<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px;">Code:</span><br />
<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px;"><span class="Apple-style-span" style="font-size: 13px;"></span></span><br />
<div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">void Laneycub10::processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames)</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">{</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"> float* in = inputs[0];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"> float* out1 = outputs[0];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"> float* out2 = outputs[1];</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"> while (--sampleFrames >= 0)</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"> {</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"> float x = *in++;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"> float y = ((2 * (x*x)) -1);</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"> float y2 = ((4*(x*x*x))-(3*x));</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"> float y3 = (8 * (x*x*x*x)) - (8 *(x*x)) + 1;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"> float y4 = ((16 * (x*x*x*x*x)) - (20 * (x*x*x)) + (5*x));</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"> *out1++ = y + y2 + y3 + y4 + x;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"> *out2++ = y + y2 + y3 + y4 + x;</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"> }</div>Anthonyhttp://www.blogger.com/profile/01888414603760970103noreply@blogger.com0tag:blogger.com,1999:blog-5465867904310598364.post-2060881070928056092010-12-11T18:24:00.001+00:002010-12-11T18:27:20.741+00:00Filter analysis<span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;">Part of the initial experiment was to analyse the tone stack output of the amplifier and how the controls (marked 0 – 10 under ‘tone’) varied the frequency response of the amplifier. To measure the response white noise consisting of a full band of frequencies were generated and used as an input source for the amplifier. The tone control was then moved from the 0 position to 10 and a recording of the output was made. To record the amplifier a Rode NT5 condenser microphone was used due to its flat frequency response, although as standard a shure sm57 may be used for a guitar recording, the microphones specific frequency response boosts certain guitar friendly frequencies, for the experiment however the aim was to reduce the colouring of the microphone by as much as possible(Fig1 Rode nt5 frequency response). An important aspect to take into consideration is the frequency response of the speaker in the amplifier as it also adds a great deal of colouration to the tone (Fig2 Celestion Tube 10 speaker frequency response). Although less important in the tone stack analysis as all frequencies are considered the speakers frequency response is a vital consideration for the waveshaping algorithm design. In Fig 3 (Frequency plot of amplifier with noise) the top line, representing the tone control at 10, almost identically represents the frequency plot of the speaker specification (for example the drop in dB around the 10kHz area). The bottom line in Fig 3 represents the tone control at 0 so the difference between the two lines can be seen as the response of the tone stack as its controls are adjusted from 0 to 10 (minimum to maximum). There is a huge boost of around 30dB in the low frequency spectrum and an average of around a 15dB boost in the mid and high range frequency spectrums. More detailed designs of the tone stack can now be completed based on these findings. </span><br />
<span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;"><br />
</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt0Tng2sQ7wDc7WrohwsfO1pw8yL0VZCEKJoaloGQ5lqQ7tGYfY0Wq5M405mBQYdAvwni9a8P9Xx_JdlulOZNd725rUnLTNpjJmwRegtauA4Y7IdcRsOP5rFRW133V_OI7Vwl9go29fYoO/s1600/rodent5response.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="127" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt0Tng2sQ7wDc7WrohwsfO1pw8yL0VZCEKJoaloGQ5lqQ7tGYfY0Wq5M405mBQYdAvwni9a8P9Xx_JdlulOZNd725rUnLTNpjJmwRegtauA4Y7IdcRsOP5rFRW133V_OI7Vwl9go29fYoO/s320/rodent5response.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Rode NT5 frequency plot</td></tr>
</tbody></table><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgv6_n2MAzrE564tyyL8-KB1SISV4mNvg_QJMx2uu8K7ZRxKdr0xa7q5iyvAjYa0KQEZrXwgVn1Pax_-sCkrS2MRPbVmsBBw162JR5hPMJQ8G1z2UmbmZvYCvmA4MSwL4zW0MIvbQfhtxI/s1600/Celestiontube10response.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgv6_n2MAzrE564tyyL8-KB1SISV4mNvg_QJMx2uu8K7ZRxKdr0xa7q5iyvAjYa0KQEZrXwgVn1Pax_-sCkrS2MRPbVmsBBw162JR5hPMJQ8G1z2UmbmZvYCvmA4MSwL4zW0MIvbQfhtxI/s320/Celestiontube10response.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Celestion Tube 10 frequency plot</td></tr>
</tbody></table><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1Zc239bcLchEUWwsjIFFEtMoIzDpOwRnF6pwvEapt9wBplNxTyB59YSWw1pzlFGWE3Gd9u1Md7XOU_BWKFJuWFXSotjuS0qdqAQo_4iUX_82q2vCXCMdwVFmhh7DrYJLvrxtnUOAGkJ4y/s1600/NoiseTonestackgraph0-10.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1Zc239bcLchEUWwsjIFFEtMoIzDpOwRnF6pwvEapt9wBplNxTyB59YSWw1pzlFGWE3Gd9u1Md7XOU_BWKFJuWFXSotjuS0qdqAQo_4iUX_82q2vCXCMdwVFmhh7DrYJLvrxtnUOAGkJ4y/s320/NoiseTonestackgraph0-10.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Laney Cub 10 tonestack plot with white noise</td></tr>
</tbody></table>The spectrum tool used is a great freeware plug-in from blue cat audio and can be downloaded from: <a href="http://www.bluecataudio.com/Products/Product_FreqAnalyst/">http://www.bluecataudio.com/Products/Product_FreqAnalyst/</a><br />
<span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;"><br />
</span>Anthonyhttp://www.blogger.com/profile/01888414603760970103noreply@blogger.com0tag:blogger.com,1999:blog-5465867904310598364.post-76105209072624342672010-12-11T17:59:00.000+00:002010-12-11T17:59:23.730+00:00Commercial constraintsIt has come to my attention during my initial specification that the research I am completing may well have some commercial relevance and hence I am going to have to restrict the information I post on the blog. I will however update with progress and provide the final plug-in however I will be unable to provide code or specific details on the code.Anthonyhttp://www.blogger.com/profile/01888414603760970103noreply@blogger.com0tag:blogger.com,1999:blog-5465867904310598364.post-5272705897802560482010-11-13T20:49:00.002+00:002010-11-13T20:49:52.649+00:00Project constraint considerations<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 13px;"></span><br />
<div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">Whilst writing the constraints section for the project proposal a number of considerations have been bought to attention.</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">Frequency range of modelling accuracy:</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">Time constraints mean that not all frequencies of a guitar will be recorded, analysed and modelled so how much will be? The first 12 frets of a guitar contain 31 unique frequencies (which some cross over beyond the 12th fret). </div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">Volume, Gain and Tone controls:</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">The amplifier has three settings controlling the pre amplifier level, the power amplifier level and the tone stack of the amplifier. Due to non linearity of analogue circuitry difference between 2 - 4 and 4 - 6 in terms of gain will not be the same however not all 1 - 10 values can be calculated. Tone stack should prove easier to model as it acts as a single band EQ. </div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">Speaker emulation:</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">A key aspect of guitar amplifier sounds are due to the speaker and speaker configuration of an amplifier. This project however does not include speaker emulation as one of its main aims and instead focuses on the pre and power amplifier valve sections. There are two key issues with this, first of all if the output of the amplifier is to be recorded then using a microphone to measure the speaker will colour the output with the frequency response of both the speaker and microphone. There is however a speaker output on the amplifier for connection to external cabinets with an 8/16 ohm resistance output. If this could be used as a line in then an uncoloured signal could be used to truly represent the output of the amplifier sections. The second issue is how to test the final model as a model of the amplifier, a similar speaker emulation (using convolution plug-ins) will need to be used to test the effectiveness of the model as a guitar amplifier.</div>Anthonyhttp://www.blogger.com/profile/01888414603760970103noreply@blogger.com0tag:blogger.com,1999:blog-5465867904310598364.post-23421827710000425022010-11-11T16:47:00.002+00:002010-11-11T16:47:52.265+00:00Final Rationale<div class="MsoNormal"><span style="font-family: "Arial","sans-serif"; mso-bidi-font-family: "Lohit Hindi";">There is a current trend amongst not only guitarists but general audiophiles to use older vacuum tube technology for amplifiers rather than more modern 'solid state' transistor amplifiers.<span style="mso-spacerun: yes;"> </span>Often their argument is that although more expensive and far less reliable than transistor amplifiers they supply a 'warmth' that only analogue circuitry can provide.<o:p></o:p></span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span style="font-family: "Arial","sans-serif"; mso-bidi-font-family: "Lohit Hindi";">Digital modelling of guitar amplifiers, an alternative to more traditional guitar amplification, has in the past decade become more realisable with advancements in DSP technology both on custom chip sets and on personal computers.<span style="mso-spacerun: yes;"> </span>The major advantage of using a modelling program for amplification is the range of different amplifiers, cabinets, effects and studio conditions that can be recreated from a click of a button.<span style="mso-spacerun: yes;"> </span>The other major advantage of using such software is also cost, with amplification modellers costing much less than a single tube amplifier it is no surprise that modelling programs are becoming so popular, especially with the newer generation of guitarists.<span style="mso-spacerun: yes;"> </span>Currently there are several major guitar amplifier modelling programs, major names worth mentioning include Native instruments Guitar rig, IK Multimedia Amplitube and Line 6's POD/Gear box range.<span style="mso-spacerun: yes;"> </span>With average prices of the major brands exceeding the £250 mark it is clear that the current range of amplifier modelling solutions is aimed at the professional end user.<span style="mso-spacerun: yes;"> </span>Although some ‘lighter’ options are available offering a small range of the full packages these are still a considerable cost especially at an entry level price point.<span style="mso-spacerun: yes;"> </span>It is proposed that there is a gap in the current market for a basic entry level vacuum tube amplifier emulator.<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span style="font-family: "Arial","sans-serif"; mso-bidi-font-family: "Lohit Hindi";">The argument against the current range of modelling options is that they do not reproduce the same 'warmth' that a physical tube circuit creates.<span style="mso-spacerun: yes;"> </span>This perception of 'warmth' cannot be scientifically calculated.<span style="mso-spacerun: yes;"> </span>In theory reproducing the exact output waveform of a tube amplifier should create an exact model of the physical amplification system.<span style="mso-spacerun: yes;"> </span></span><span style="font-family: "Arial","sans-serif";">It is proposed that a VST plug-in is to be created, digitally modelling a physical tube guitar amplifier.<span style="mso-spacerun: yes;"> </span>More specifically a Laney Cub 10, a small 10 watt class A/B tube amplifier.<span style="mso-spacerun: yes;"> </span>The project aims to gain a deeper insight into the characteristics of tube amplifiers and the different ways in which digital modelling can be achieved.</span></div><div class="MsoNormal"><span style="font-family: "Arial","sans-serif";"><span style="mso-spacerun: yes;"><br />
</span></span></div><div class="MsoNormal"><span style="font-family: "Arial","sans-serif";"><span style="mso-spacerun: yes;">Anthony Evans </span></span><span style="font-family: "Arial","sans-serif"; mso-bidi-font-family: "Lohit Hindi";"><o:p></o:p></span></div>Anthonyhttp://www.blogger.com/profile/01888414603760970103noreply@blogger.com0tag:blogger.com,1999:blog-5465867904310598364.post-12363083937644847582010-11-03T15:18:00.003+00:002010-11-03T17:03:28.783+00:00Max/MSP chebyshev polynomials<div id="content-1"><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">As an initial experiment using Chebyshev polynomials a basic max/msp patch has been created using the first 4 polynomials to create the first 4 harmonics of a sine wave. An output wave has been recorded and analysed showing the effects of the polynomials on the signal. The patch needs to be adapted to allow for individual amplitude control of each harmonic. <br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCzb2BlWD1cxiroTPxRGfqWS2cNP5gkdhujqsIbMSoVK3FL23c9zUL6mlOmVMN1JJy284j2b1lP323JOwnecqPuQvHtSD1AhEu2b6Fgt6R2lEGnRGEX9c8Ixosime2IGtLI6kbNxP3i6v5/s1600/chebymaxpatscreenprint.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCzb2BlWD1cxiroTPxRGfqWS2cNP5gkdhujqsIbMSoVK3FL23c9zUL6mlOmVMN1JJy284j2b1lP323JOwnecqPuQvHtSD1AhEu2b6Fgt6R2lEGnRGEX9c8Ixosime2IGtLI6kbNxP3i6v5/s400/chebymaxpatscreenprint.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Max/MSP patch</td></tr>
</tbody></table><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"></div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"></div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"></div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">Using Audacity to analyse the audio the frequency peaks can clearly be seen at integer multiples of the fundamental as expected. Also noted the 'hollow' sound when only odd harmonics added. Further polynomials are to be added to create a larger effect.</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"></div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLoHC_WQz-r-RzempQoGFw58gPFmLvqy_4XZf-Iny2zhj5jhP_bMyClmD0yTZ9XDyFcTDjCObGeUbTh2G2sdRB1plrESOThAaKaA7KTR5p3bzJtQBt3nd_byWEE5Nxrs5PWkN01Vyw53r2/s1600/window-Frequency+Analysis-002.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="264" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLoHC_WQz-r-RzempQoGFw58gPFmLvqy_4XZf-Iny2zhj5jhP_bMyClmD0yTZ9XDyFcTDjCObGeUbTh2G2sdRB1plrESOThAaKaA7KTR5p3bzJtQBt3nd_byWEE5Nxrs5PWkN01Vyw53r2/s320/window-Frequency+Analysis-002.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Frequency plot of max output</td></tr>
</tbody></table><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: small;"><span class="Apple-style-span" style="font-size: 12px;">This was designed as an initial experiment and shall be further adapted to allow for better amplitude control. The waveform was also analysed to show the effects of the harmonics on the input signal, as expected the wave changed and grew more square like with each additional odd harmonic added. The next stage is to analyse the harmonic output of the amplifier at various different settings and frequencies. A suspect limitation may be the frequency range that can be modelled accurately due to time constraints. Meaning a certain range of input frequencies will be defined in the modeller, at least for the current time anyway.</span></span></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: small;"><span class="Apple-style-span" style="font-size: 12px;"><br />
</span></span></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: small;"><span class="Apple-style-span" style="font-size: 12px;"><b>Anthony Evans</b></span></span></div></div>Anthonyhttp://www.blogger.com/profile/01888414603760970103noreply@blogger.com0tag:blogger.com,1999:blog-5465867904310598364.post-66134369810661791622010-11-03T15:09:00.001+00:002010-11-03T15:10:12.859+00:00Initial aims and objectivesThe following are the key aims and objectives for the project.<br />
Aims:<br />
<ul><li>To design, implement and fully test a wave-shaping model of a Laney Cub 10 vacuum tube guitar amplifier in VST plug-in format.</li>
</ul>Secondary aims:<br />
<ul><li>To critically evaluate wave-shaping techniques as a method of amplification modelling.</li>
<li>To show an insight into the alternative methods of amplification modelling.</li>
<li>To document the development process of the VST plug-in.</li>
</ul>Objectives<br />
<ul><li>Record and analyse output from the amplifier within a certain frequency band.</li>
<li>Produce initial designs using a high-level graphical audio programming language of wave-shaping functions to be used to emulate amplifier output.</li>
<li>Design and implement a functioning filter modelled on the behaviour of the tone stack of the amplifier.</li>
<li>Review literature in the area of guitar amplification modelling, wave-shaping techniques and vacuum tube amplification.</li>
<li>Perform experiments using wave-shaping polynomials to evaluate different techniques.</li>
<li>Produce C++ algorithms for wave-shaping/harmonic polynomial designs to be implemented using the VST SDK.</li>
</ul>Anthonyhttp://www.blogger.com/profile/01888414603760970103noreply@blogger.com0tag:blogger.com,1999:blog-5465867904310598364.post-4016618838496449142010-10-17T18:13:00.001+01:002010-10-17T18:35:04.888+01:00Digital guitar amplification modelling: Proposal<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 13px;"></span><br />
<span class="Apple-style-span" style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 13px;"><div id="content-0" style="font-family: 'Lucida grande', Arial, verdana, sans-serif;"><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
There is a current trend amongst not only guitarists but general audiophiles to use older vacuum tube technology for amplifiers rather than more modern 'solid state' transistor amplifiers. Often their argument is that although more expensive and far less reliable than transistor amplifiers they supply a 'warmth' that only analogue circuitry can provide.</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">Digital modelling of guitar amplifiers, an alternative to more traditional guitar amplification, has in the past decade become more realisable with advancements in DSP technology both on custom chip sets and on personal computers. The major advantage of using a modelling program for amplification is the range of different amplifiers, cabinets, effects and studio conditions that can be recreated from a click of a button. The other major advantage of using such software is also cost, with amplification modellers costing much less than a single tube amplifier it is no surprise that modelling programs are becoming so popular, especially with the newer generation of guitarists. Currently there are several major guitar amplifier modelling programs, major names worth mentioning include Native instruments Guitar rig, IK Multimedia Amplitube and Line 6's POD/Gear box range.</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">The argument against the current range of modelling options is that they do not reproduce the same 'warmth' that a physical tube circuit creates. This is all down to perception however as 'warmth' cannot be scientifically calculated. In theory reproducing the exact output waveform of a tube amplifier should create an exact model of the physical amplification system. It is proposed that a VST plug-in is to be created, digitally modelling a physical tube guitar amplifier. More specifically a Laney Cub 10, a small 10 watt class A/B tube amplifier. The project aims to gain a deeper insight into the characteristics of tube amplifiers and the different ways in which digital modelling of these charactersitics can be achieved. There is real market relevance in this area as the ideal end product would be a commercially viable piece of software. The current commercial market for the project will also be investigated as well as the theoretical research. </div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml">References</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><a href="http://www.native-instruments.com/#/en/products/guitar/guitar-rig-kontrol/" style="color: #003366; font-family: 'Lucida grande', Arial, verdana, sans-serif;">http://www.native-instruments.com/#/en/products/guitar/guitar-rig-kontrol/</a></div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><a href="http://uk.line6.com/podx3/" style="color: #003366; font-family: 'Lucida grande', Arial, verdana, sans-serif;">http://uk.line6.com/podx3/</a></div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><a href="http://www.ikmultimedia.com/amplitube/features/" style="color: #003366; font-family: 'Lucida grande', Arial, verdana, sans-serif;">http://www.ikmultimedia.com/amplitube/features/</a></div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><br />
</div><div style="font-family: 'Lucida grande', Arial, verdana, sans-serif; font-size: 12px; margin-bottom: 0cm; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" xmlns="http://www.w3.org/1999/xhtml"><a href="http://www.laney.co.uk/show_prod.php?prod=cub10" style="color: #003366; font-family: 'Lucida grande', Arial, verdana, sans-serif;">http://www.laney.co.uk/show_prod.php?prod=cub10</a></div><div><br />
</div></div></span>Anthonyhttp://www.blogger.com/profile/01888414603760970103noreply@blogger.com0