As you know, GuitarSharp is primarily a music composing, arrangement and practice package. However, did you know you can also use it as a fun and easy way to explore the magical world of VST Effects? In this article I will give you an introduction to VST Effects and how you can add them to GuitarSharp as an extremely cost effective way of getting an endless range of sound effects for your guitar playing.
Briefly, VST (or Virtual Studio Technology) Effects are shareable code modules that people have written that apply calculations to audio signals! Well – what does that all mean? Basically they are files (usually .DLL files) which can be passed the audio data that comes from your guitar (or any audio source really), and then they perform mathematical calculations on this data to alter it in some way. This altered data can then be sent to an audio output device and listened to. The mathematical calculations performed have specific implications. For example, they could be made to give a distortion type of effect or an echo to your sound. They could also be used to give your sound the appearance of being played through that classic Marshall amp you have always dreamed of! All of this can be done at a fraction of the cost (and often free) that the equivalent hardware kit would cost you. Bargain!
Where do you get them from I hear you ask. Well these VST Effects are readily available on the web, such as here: VST4Free.com. Also a great range can be found each month on the cover of computermusic magazine – this has the advantage of you knowing they are safe to use. The great thing is though, is that this means you effectively have an unlimited range of VST Effects to use and play around with. You are not tied to the effects that come with GuitarSharp as you can easily add your own. This is similar to how DAW (Digital Audio Workstation) work too, in that you can build a library of your favourite VST Effects modules that you commonly use.
So, lets get started. The first thing we will need is some way of getting your guitar’s audio into your computer. How you do this kind of depends on your computer setup. A quick search on Amazon will usually offer you a range of guitar leads that will connect your guitar to the audio input connections on your soundcard (check the connections fit). Or, you can use a lead that connects your guitar to the USB port of your computer – like this one:
Next you need some of these VST Effects. You can either Google for some to download, or pickup a copy computermusic magazine which has instructions in the back on how to install them from the DVD that came with it. Make sure you note where it was installed – this will usually be shown to you at the end of the installation process. Its likely to be below your C:\Program Files (x86) or C:\Program Files folder in a folder named after the company which created it. Also, if you are offered a choice, you want to choose the x86 (also called 32bit) version of the VST Effect.
To use these VST Effects in GuitarSharp, we first need to tell GuitarSharp where they are on your computer. To do this, we need to go to the Options tab in the main toolbar and click Settings:
Then go to the VST tab and click Add:
You now need to go and find the VST Effect’s .DLL file. This will be in the folder that you noted down above after it was installed. If multiple versions of the VST Effect were installed, you need to select the x86 (also referred to as 32bit) version of the VST Effect. If all goes well, you should now see the VST Effect as being available for use within GuitarSharp:
Whilst we are in the Settings screen, we need to check one more thing – and I’ll explain why later. In the Audio Input and Audio Output tabs of this Settings screen, make sure you have a WaveIn device selected which corresponds to your connected guitar (this should be obvious from the displayed name – a USB device connected device in my setup), and a WaveOut device selected which corresponds to your computer’s speakers or headphones.
Now we are all setup and ready to start playing with our configured VST Effect.
Make sure the Explorer window is visible at the bottom of your screen by clicking on the Explorer button on the View menu:
This will allow us to access the VST Effect properties for a Part. Even though we aren’t actually going to compose any music in this tutorial, we still access the VST Effect’s properties via the Part’s entry in the Explorer. The Explorer is the place where you can define a whole range of audio properties for a Part and each Part can have individual settings. So click on the VST button for the Part:
This will display the VST Selection screen which shows us the available VST Effects that GuitarSharp knows about (the ones we added via the Settings screen above) and then which you have got selected for the Part. So select your VST Effect from the left list and click the >> button to move it to the right list. Now also check the Direct Input checkbox. This will tell the screen we want to feed audio signals from your guitar into the VST Effect.
Now when you play your connected guitar, you should hear the sound from your speakers/headphones. If you now double click on the VST Effect item in the Selected VST Effects list, it will open up the VST Effect’s editor, which in my case is this:
From here you can play with all the knobs, switches and sliders that your VST Effect’s editor supports. You will find the VST Effect will provide a software emulation of the sounds that the equivalent hardware would produce. You can now play around to find the specific sound you are looking for. When you close the VST, your selections will also be saved by GuitarSharp as part of saving the Music Book. So you could create a new Music Book which has a range of different Parts in it that each contain a different VST Effect or ones with different settings. You can then easily open the VST screen for each Part via the Explorer and play the effects that you had previously configured.
For example, if you have a VST Effect that does distortion and one that emulates different amplifiers, you can create a Part called Distortion and add and configure the distortion VST Effect in it. Then create a Part called Amplifiers and add and configure the other VST Effect in that. Depending on which effects one you want to play with, you can simply click on the Part’s VST button in the Explorer and pickup from where you left off.
Now, this is all great fun and allows you to have an endless range of effects and sounds to use, but this can come at a cost – and I don’t mean price wise. Depending on your computer spec, you may have noticed a lag between you strumming the guitar and you hearing the playback through the speakers. This is called latency and can make it very disconcerting when you are playing the guitar as the notes you hear are slightly behind the notes you are playing. This latency is due to the slight time delay between your computer receiving the audio data from your guitar, and it being able to send it to your speakers. This can be caused by a number of reasons:
- Slow hardware / system. If you have a slow processor or you have a lot of other processes running on your computer, there will be less processing power available for it to process the audio data. The better your hardware, and the less number of other applications you have running (especially background tasks like anti-virus or Windows Update in particular) then the more efficient your audio processing will be and so lower the latency is likely to be.
- Badly written / configured / performing VSTs. Some VSTs may be having to do an awful lot of number crunching to give you the audio effect you require. This can sometimes be due to inefficiencies in the VST, or just down to the particular settings you have selected in the VST‘s editor. Sometimes changing these settings can make a difference so you should experiment with different settings in the VST’s Editor screen.
- Audio buffering. When your computer receives audio data, it collects it in a memory buffer. When this buffer has a certain amount of data in it, then it will be passed to your application (like GuitarSharp) to process. Once it has been processed it is passed to another memory buffer ready for your speakers to play it when they are ready. This buffering during input and output of the audio signals causes a perceived delay. So why is there this buffering? Well, to reduce the workload on your CPU it is generally more efficient to process audio in regularly sized chunks. The bigger the chunk size though, the longer it takes for the buffer to get full with sufficient audio samples to process. This adds a latency delay but does mean the CPU doesn’t need to keep asking the audio hardware for audio samples all the time as it has a good sized batch of data to process each time. A lower buffer size means that the receive buffer gets full quicker and can be passed to the CPU for processing far more often. This would reduce latency here, but does put more stress on your CPU as it is having to process audio packets far more regularly so a latency impact can be seen here. So there is a balancing game between picking the optimum buffer size. You want a buffer size that is as small as possible but puts as little stress on the CPU as possible. In GuitarSharp, in the Settings screens of Audio Input and Audio Output that we saw above when we selected our audio devices, you can configure different buffer sizes via the Desired Latency setting, though we often find the default setting of 100ms is generally best.
- Slow audio hardware. This is a key point and one we will expand on below. If your computer’s sound card / audio drivers are not efficient, then you will get latency in processing the input (guitar) and output (speakers) audio signals. So having the best sound card hardware can be the differentiating factor in latency.
Above, in the GuitarSharp Settings screen we selected WaveIn and WaveOut devices for our Audio Input and Audio Output. This is a convenient selection and is the standard way of interfacing with audio in Windows. However, one size doesn’t fit all, and sometimes a different type of audio interface is better to use for some situations. Enter ASIO.
ASIO is a different standard of audio interfacing and allows Windows to connect directly to a sound card rather than having to go through layers of software to reach it. This direct connection gives a good reduction in latency. If your computer setup already has an ASIO compatible sound card then this is the option you should be using. However if you don’t, all is not lost as the ASIO4ALL web site provides a software ASIO driver which can turn your sound card into an ASIO compatible device allowing you to benefit from the efficiencies of using ASIO in Windows.
So lets see if you need to use ASIO4ALL or whether your system already has a hardware ASIO device available. Like we did above, we need to go to the Options tab in the main toolbar and click Settings. Then look in the Audio Input screen and see if the ASIO option is enabled for you.
In the above screen we can see this is available for me as I already have ASIO4ALL installed, but if you are unable to select the ASIO button as its greyed out, then your system does not have an ASIO compatible device, and you should head over to the ASIO4ALL web site and install it. Before you install it, you should close GuitarSharp.
Once you have an ASIO device available (either as hardware from your sound card or from installing ASIO4ALL as detailed above), then you can go back to the Options tab in the main toolbar and click Settings. In the Audio Input and Audio Output tabs you are now able to select ASIO as your audio devices like below:
Make sure you have ASIO selected in both the Audio Input and Audio Output screens and then click OK.
If you had previously saved the Music Book from earlier when we were using WaveIn and WaveOut devices, then reload it from the File menu. If not, make sure the Explorer is visible at the bottom of your screen by clicking on the Explorer button on the View menu and then click on the VST button for the Part:
This time when the VST Selection screen opens, you will see that the ASIO devices are now the selected Audio Input and Audio Output device like this:
Now when you select the Direct Input option in this screen you should find there is minimal latency between you playing a note on the guitar and hearing it through the speakers. When using ASIO4ALL, you will see its configuration applet appear in the Windows System Tray (bottom right hand corner of the Windows Task Bar at the bottom of the screen). From this applet you can tell ASIO4ALL which devices you want it to use.
One more great thing that can be done in GuitarSharp with VST Effects is around chaining them together. Just like you can chain effects pedals together, GuitarSharp also allows you to chain VST Effects together in any order. This allows the output of one VST Effect to become the input of another VST Effect. So for example you can have a VST Effect doing Distortion which is then fed into another VST Effect which is doing Reverb. This can be seen below where we have two VST Effects in the Selected VST Effects list. Both are checked so they are active, but you can uncheck them to listen to each in isolation. The Up and Down arrows at the bottom of the screen can also be used to change the order of the chaining of the VST Effects.
Double-clicking on each VST Effect will display its Editor screen and you can have both open at the same time so that you can alter the controls on both in parallel whilst you play your guitar like this:
I hope this article has shown you how much fun VST Effects are, and how they can be a cost effective and limitless way to change your guitar sound. Also you can see that GuitarSharp doesn’t just have to be used to write music or practice your playing, but can be used as an effects station for you to just play around with different sounds. Additionally, the benefits that ASIO can bring to your audio processing is important too as its lower latency can make a big improvement to how VST Effects operate on your system.