Vst Plugins Deactivated In Waveform 8

18.12.2020

After all this GUI stuff it’s time for some audio programming. First we’ll generate the classic Sine, Saw, Square and Triangle waveforms.
Let’s begin by running the duplicate script:

Let’s go from here: Taking absolute values (fabs) of the upwards saw wave means that all values below 0 will be inverted (flipped around the x axis). This means that the values will go up and down. Subtracting 0.5 centers the waveform around 0. Multiplying by 2.0 makes the values go between -1 to +1. We have a triangle wave. You can exclude VST plug-ins completely from WaveLab. VST plug-ins have their own preset handling. You can save or load effect programs (presets). This auto-pan effect provides several parameters to modulate the left/right stereo position. You can use presets or create individual curves for the modulation waveform. AutoPan also allows. This quick Tracktion Waveform 10 Tutorial looks at how to install VST plugins in Tracktion Waveform 10. Check out our Tracktion Waveform playlist here http.

Again, you’ll have to go to ProductSchemeEdit Scheme… and change “Run” so that it starts REAPER64.app with your reaper-project.RPP (as described earlier). If Reaper complains about the AU not being found, change the names and IDs in resource.h, or remove the DigitalDistortion.component.

Creating the Oscillator Class

All of this will be about DSP, but we will not just write our code into the ProcessDoubleReplacing function. Instead, we will create an Oscillator class. It will be called from ProcessDoubleReplacing and will fill buffers with double values for the current waveform. To generate the waveforms, we’ll first take the most intuitive approach. We will then see the disadvantages and find a better-sounding way.
Create a new Class by going to FileNewFile…:

Call it Oscillator.
Now make sure Oscillator.cpp gets compiled when we build. Go to your project settings, select a target (e.g. AU) and click Build Phases. Click the plus button below Compile Sources and add the .cpp file (you’ll have to do this for every target you need):

Let’s write the header first. Put this between the #define and #endif in Oscillator.h:

We are using an enum to indicate which waveform the oscillator is generating. Here it defaults to a sine wave, but this can be changed using the setMode member function. Calculating π this way is more portable than using the M_PI constant.
The Oscillator stores the frequency, phase and sample rate. Just to be clear, the phase is the value that will change all the time to indicate where in the waveform cycle the oscillator currently is. The phase increment is the amount that’s added to the phase every sample.
Finally, there’s more setter functions (for frequency and sample rate) and, most importantly, generate. This is the function that takes a buffer of doubles and fills it with sample values.

Let’s add the implementation of the setter functions (in Oscillator.cpp):

The mPhaseIncrement depends on both mFrequency and mSampleRate, so it has to be updated everytime one of the two is changed. We could calculate it every sample, but of course it’s far more efficient to do it here.
Add the implementation for generate:

This function will be called everytime ProcessDoubleReplacing is called. We’re using a switch to use the right code for whatever waveform is currently selected.

Generating Waveforms

The code for generating a sine wave is quite simple:

Note that we’re not working with mFrequency and mSampleRate here. We’re just incrementing mPhase and make sure it stays between 0 and twoPI. The only more complex operation is the call to the C sin() function, which on many systems will be calculated on a hardware level.

Here’s the code for the saw wave:

The interesting part is – again – the line of code that’s writing into the buffer. When I see formulas like these, I like to decompose them:

  • mPhase goes from 0 upwards, and jumps back to 0 when it reaches twoPI.
  • So (mPhase / twoPI) goes from 0 upwards and jumps back to 0 when it reaches 1.
  • This means that (2.0 * mPhase / twoPI) goes from 0 up and jumps back at 2.
  • When mPhase is 0, the expression 1.0 - (2.0 * mPhase / twoPI) is 1. While mPhase goes upwards, the expression goes downwards and jumps back to 1 when it reaches -1.

So we have a downwards saw wave!
The lower part that’s dealing with mPhase is duplication that could be avoided, but in that case we would have to take the switch statement into the loop. This would also prevent duplicating the for statement, but the code would switch more often than neccessary.
In most programming scenarios, we would prefer brevity and readability over performance. DSP code that’s executed 44100 or 96000 times per second can be an exception to this rule. But be aware that the compiler will optimize a lot behind the scenes and what feels like “a lot of work” to you (the programmer), may be very trivial compared to other areas you’re not thinking about.

Next is the square wave:

You’re already familiar with the lower part. Every cycle is twoPI long, so the if statement causes the first half of every cycle to have values of 1, and the second half to have values of -1. So there’s a very sudden jump when mPhase becomes greater than mPI. That’s a square wave.

The triangle wave is just a little more complex:

If you decompose -1.0 + (2.0 * mPhase / twoPI) like I did above, you’ll notice that it’s the inverse of the above saw wave: It’s an upwards saw wave.
Let’s go from here: Taking absolute values (fabs) of the upwards saw wave means that all values below 0 will be inverted (flipped around the x axis). This means that the values will go up and down. Subtracting 0.5 centers the waveform around 0. Multiplying by 2.0 makes the values go between -1 to +1. We have a triangle wave.

Let’s use our oscillator! Include Oscillator.h and add an Oscillator member to your Synthesis class:

We also renamed mThreshold to mFrequency.
In Synthesis.cpp, rename all instances of Threshold with Frequency. Now change the parameter initialization inside the constructor:

We’re re-using the knob for testing our class. We’ll be able to change the oscillator’s frequency between 50 Hz and 20 kHz (the default will be 440 Hz).
Change the createPresets member function:

Inside Reset, we have to tell the oscillator what sample rate is being used:

If we didn’t do this and the oscillator had the wrong sample rate, it would still generate the same waveforms, but at the wrong frequencies. GetSampleRate is a member function that’s inherited from the IPlugBase class.

We have to edit OnParamChange as well, so the oscillator’s frequency can be changed using the knob.

Finally, ProcessDoubleReplacing has to use the oscillator:

Basically we’re letting mOscillator fill the left channel buffer. Then we copy everything into the right channel buffer.
Let’s hear how it sounds! Run the VST2 or AU target. If you get linker errors, make sure you added Oscillator.cpp to the Compile Sources phase.
Once it’s running, you’ll hear a steady tone. Turn the knob and the frequency will change. Now change the initial value of mOscillatorMode in Oscillator.h, by modifying the constructor’s initializer list:

Run again and you’ll hear a sharper tone. Try OSCILLATOR_MODE_SQUARE and OSCILLATOR_MODE_TRIANGLE, too. Note the different timbres and turn the frequency knob. For all waveforms except the sine, you’ll hear that once you get into high frequencies, strange noises appear. There are additional tones, even below the base frequency. They sound inharmonic and when you turn the knob up and down, they move in the opposite direction!

Aliasing

If you look at the code for the square wave, you’ll notice that every time mPhase becomes greater than mPI, the waveform will jump from the positive max to the negative max, all from one sample to the next. The opposite jump happens when twoPI is subtracted from mPhase and it becomes less than mPI again. Generally, sudden jumps in a waveform mean that there’s a lot of high frequency content. Imagine somebody told you to construct this jump using as many sine waves as you like, but only sine waves. Given the generally round shape of sine waves, you can imagine how you’d need a lot of sine waves with a very high frequency. You actually need an infinite number of sine waves with frequencies going towards infinity to create a perfect square, saw or triangle wave.

In computers, everything is finite. You have a limited amount of disk space and RAM, so when you record one second of audio, your computer can only use a finite number of values to save it. This number (called the Sample Rate) can be any value, but is often 44100, 48000 or 96000 samples per second. An audio signal stored using a finite number of samples per second is called discrete.
To describe a signal that’s oscillating between +1 and -1, you need at the very least two samples per cycle: one with the value +1 and one with the value -1. So if you have 44100 samples per second, the maximum frequency you can describe is 22050 Hz (see Nyquist frequency).

So, it’s not possible to describe a perfect square, saw or triangle wave in a discrete time signal. If we try to do it (by generating the sharp jumps in the waveform), we will get aliasing effects. For more information, click here.

How can we generate the best, alias-free wave for a given sample rate? “Best” meaning “closest to the shape we calculated above”.
The Nyquist frequency is a constraint that’s expressed in the frequency domain. It doesn’t say “Your waveform shouldn’t have spikes that are steeper than X”. It says “Your signal shouldn’t have frequencies above X Hz”. So we need to shift our work to the frequency domain. We will do that in a future post, but in the next post we’ll look at how we can receive incoming MIDI data.

You can download the code we’ve created so far here.

Having the right Chiptune VST plugins can be of huge help when you're making chiptune!
However, finding the Chiptune VST best suited for you and your needs can sometimes be a tough task...
The internet is full of information, and, while that’s a good thing, it can also be a little overwhelming when you try to find an amazing chiptune VST.
What you’ll soon realize in this search is that there are many factors to consider.
What starts off as a simple task can turn into one that stretches for days or even weeks.
So, to save you from sorting through them all, we’ve crafted a list of the top 10 Chiptune VST plugins to help you find the perfect one for you.
But before we get into it, what exactly makes a VST ‘the right’ one?

Features To Consider


In this modern day and age, computers are much faster than ever before, but processing power continues to be an issue.
One important thing to consider before purchasing or committing to any VST is what the processing power needs are. Can your computer handle the software that you’re using?
If yes, great! But if it can’t, no worries! You may instead want to look for a more lightweight VST that can do as good of a job as a heavier one.
Aside from processing power requirements, simplicity is another important factor when choosing a great VST to suit your needs.
Do you want to hit the ground running and make chiptune music right away? Or do you prefer to get neck deep in the settings and customize each and every last detail of your sound design process?
Some VSTs will be simple enough to allow you to ‘plug n play,’ whereas others will require a lot more education on your part in order to master chiptune sound design.
When factoring in simplicity, it’s also important to consider the user interface (known as UI). Simple VSTs often have an easy-to-use interface, while the more complex VSTs might be a lot harder to grasp.
This is crucial to keep in mind, because UI can affect creativity, which is extremely important to music production. This is because creativity is influenced by everything you hear, feel, do, or see (UI). So, if you don’t like how your VST looks, it could slow down your efficiency when producing chiptune music.
Lastly, emulation specificity is another big feature to consider. Chiptune music originally was created from gaming systems, such as the NES or Gameboy, with each of those systems producing different types of sounds.
With that in mind, chiptune VST plugins have been created with the capacity to emulate sounds created by certain systems. Knowing what type of sound you want to create will greatly speed up the VST selection process and ensure you use something that you’re happy with.
With these features in mind, let’s get started.

Option 01: Magical 8Bit Chiptune VST


Main Features:
  • 5 waveforms - square, 2x pulse, pseudo-triangle, low-res noise

  • ASDR envelope settings

  • Pitch bend

  • Velocity control

  • Frequency sweeping

  • 32 Voices

Note: For full specifications and download, visit

Vst Plugins Deactivated In Waveform 80

YMCK.
Are you a fan of old, primitive 8 bit game consoles?
If you are, then the Magical 8bit Plug may be the perfect VST for you to make some old school electronic music!
This is because this VST allows for use of the pseudo-triangle or low-resolution noise, which are key when creating 8 bit or chiptune music.
Another important feature about the Magical 8bit Plug is that it focuses on simplicity, which makes creating great chiptune sounds quick and easy.
To top it off, the Magical 8bit Plug is lightweight and will work on both macOS as an audio unit and on Windows as a VSTi.
If you want to see what this VST can do for yourself, check out this awesome animated Youtube video featuring music made by Magical 8bit Plug. It’s set to what appears to be an old school video game.

Option 02: Chipsounds


Main features:
  • Hybrid synth/sampling synthesizer

  • Control/Modulation/Effects/Mixer tabs

  • Arpeggiator

  • Wave Sequencer

  • Pitch and Amplitude Modulation

  • Emulates 15 vintage 8-bit era sound chips

Note: For full specifications and download, visit Plogue.
Looking for something a little more robust than Magical 8bit Plug? Then Chipsounds may be the VST for you.
Chipsounds is one of the more popular chiptune VST plugins this year, and we can definitely see why.
The first reason is because it gives you a lot of control over your sound design process, which is huge when trying to set yourself apart from other producers.
Another cool feature is that Chipsounds can run on both Windows and macOS as a standalone application.
Additionally, it can also run as a VST, AU, RTAS, or AAX plug-in allowing for flexible usage with different systems.
To see this VST in action, check out Plogue’s introductory Chipsounds video.

Option 03: ymVST


Main features:
  • Polyphony support

  • 3 step arpeggiated chords

  • Knobless UI

  • Angel sync-buzzer effects

  • SID effect

Vst Plugins Deactivated In Waveform 8 Tutorial


Note: For full specifications and download, visit preromanbritain.
If you’re a fan of the authentic Atari sound, then ymVST is a blast to the past…almost.
To the casual observer, the UI may look complicated. But it was actually made to replicate a traditional non-software music production setting with a more ‘authentic interface.’
This means there’s no knobs or sliders. Yet it also comes with all of the great chiptune quality sounds that can be made by the other more complex VSTs available on the internet today.
So, if you’re used to a more traditional method of chiptune production, ymVST may be right up your alley.
Unfortunately for Mac owners, ymVST is only available for PC users.

Option 04: basic 65


Main features:
  • Monophonic synth

  • Double arpeggiator

Vst Plugins Deactivated In Waveform 88

  • Mod envelope

  • (2) LFOs

  • (3) Oscillators

Note: For full specifications and download, visit vst4free.
Inspired by the Commodore 64, basic 65 is a monophonic synth which takes the legendary SID chip from its hardware predecessor and adds more features to ‘take a step further’.
With a clean interface, this VST should be relatively quick to pick up and allow you to get started programming in your favorite chiptune sounds with ease.
Making it even simpler, there are over 128 presets available for you to choose from.
And with the basic 65 being an update to the already popular basic 64, you’ll know that you’re using a VST that has had a lot of prior problems solved.
However, similar to ymVST, the basic 65 is only available for use on Windows which makes that one key detraction in a production world heavily Mac reliant.

Option 05: Super Audio Cart


Main features:
  • 5,500+ samples

  • 1,200+ factory snapshots

  • ‘Hold’ arp steps

  • Modulate cutoff & pan with each step

  • Use arp steps to modulate other parameters

  • Free SNESVerb plugin

Note: For full specifications and download, visit impactsoundworks.
Super Audio Cart provides a revitalized take on an old-school chiptune production scene.
The interface looks modern which makes it similar to other software on the market today such as Omnisphere or iZotope Ozone. In other words, it’s easy to plug n play!
When purchasing, you’ll be capable of replicating sounds from the NES, FC, SNES, GB, 2600, C64, SMS, and GEN console systems. Add in the fact that you’ll receive over 6,000 samples and 630 unique sound sources and that makes purchasing the Super Audio Cart even more appealing.
However, it’s currently priced at $149 through impactsoundworksand also requires Kontakt to run, which can be a problem if you’re on a budget.
Not sure if this is right for you? Take a listen to some chiptune created by Super Audio Cart here to get an understanding of its capabilities.
Learn secret sound design techniques used by the Pros in our free Advanced Sound Design Guide.

Option 06: Retro Boy


Main features:
  • Subtractive emulator

  • Single oscillator

  • Vibrato & decimation effects

  • Polyphony: 1-4

Note: For full specifications and download, visit sbaud.
As you may be able to tell from the specs, Retro Boy brings you back to the past. For example, it’s extremely lightweight on the processor with only a single oscillator.
It’s a classic, subtractive chiptune VST synth with seven waveforms - 12.5% pulse, 25% pulse, square, saw, triangle, sine, and noise.
Because of its simplicity, most computers should be able to run Retro Boy easily enough making that one of the key highlights of this VST.

Vst Plugins Deactivated In Waveform 87

And although you could probably figure out Retro Boy’s capabilities quickly enough yourself…
You can also check out a demo before downloading by clicking here!

Option 07: ICECREAM


Main features:
  • Dual oscillators

  • 4 Octaves per oscillator

  • Amp/Filter ASDR

  • Harmonics switch

  • Glide and glide rate

Note: For full specifications and download, visit vstplanet.
Are you thinking what we’re thinking? If you are, you’ll understand how cool (pun intended) this VST looks.
It comes with a pretty standard set of features: two oscillators with volume and octave controls, filters, a sequencer, and EQ.

However, what makes this VST stand out is the colorful interface.The playfulness of this interface and color scheme will definitely take you back to the days of playing Super Nintendo as a child.
And even if you haven’t touched a Super Nintendo, you’ll still feel like a kid playing the newest gaming system.
This might jumpstart your creativity and bring your chiptune music to the next level.
To take a listen to all of the creative possibilities that can come about from using the ICECREAM VST, check out this Youtube video.

Option 08: Nintendo VST


Main features:
  • Simple UI

  • Nintendo emulation

  • Portamento

  • Pitch bend

Note: For full specifications and download, visit mattmontag
If you want to create chiptune music in the vein of Nintendo using something simple, Nintendo VST may be what’s right for you.
Created by Matthew Montag, the Nintendo VST is lightweight and can quickly be picked up by anyone.
That’s because the volume, duty cycle, pitch, and fine pitch adjustments are easily made with a max of three knobs for each setting (LFO steps, loop point, step time, and tempo sync).
And if you want to understand how the Nintendo VST works, Matthew has you covered! He’s meticulously detailed much of his VST development process on his website.
To see how the Nintendo VST was created, click here.

Option 09: AdLibXRom


Main features:
  • Replicates Adlib Music Synthesizer Card

  • Two oscillators

  • 40 Multi-sampled sounds

Have you ever heard of the AdLib soundcard? If you have, you may find yourself in love with this VST.
The AdLibXRom replicates the sound of the AdLib Music Synthesizer Card which was famous in the early nineties.
Featured within the soundcard was the YM3812 synthesizer chip which utilized FM and additive synthesis.
Today, the AdLibXRom brings things back with the option of using the main or noise oscillator.
Additionally, it features over 40 multi-sampled sounds making usage even more interesting.
Note: For full specifications and download, visit samplescience.

Option 10: 38911 Bytes


Main features:
  • Single oscillator

  • 4 Waveforms

  • 3 LFOs

  • 4x16 Step sequencers

To any producer not familiar with Chiptune production, this VST may look a little confusing.
However, if you’ve been around the Chiptune production scene, this may just make you feel at home.
The interface was designed to provide an old-school feel.
There is only a single oscillator, but it does come with multiple waveforms such as Saw, Triangle, Pulse, and Pitched Noise.
Another highlight is the 4x16 step sequencers which also come with 11 different BPM rates.
Has the visual design of 38911 Bytes caught your attention? If so, we’d recommend that you learn more here!

Conclusion


Finding the best chiptune VST to suit your needs depends on your situation and what you’re looking for.
We’ve highlighted some of the best chiptune VST plugins that we think you’ll find particularly useful, each with its own unique characteristics and features.
To reiterate, here are some of the most important features to be aware of when choosing the best chiptune VST for your music production needs:
  • Processing power requirements

  • Simplicity

  • UI (User Interface)

  • Emulation specificity

We’ve compiled some amazing VSTs for you to try out and now we want to hear your thoughts!
Have you had any experience using any of these chiptune VST plugins?
Are there any others that we should have mentioned or replaced?
Let us know in the comment section below!

Download our free Ultimate Serum Library and improve your sound library today.