 Hey, it's Anfa and you're watching Anfa Vlog. Today we're gonna take a look at the ZenatsubFX Formant Filter. Bear with me. So you might wonder, what are Formants? I tend to think about Formants as fixed EQ curves that are applied onto a sound. For example, our voice operates on Formants to convey vowels. They all are built on the same saw-to-fly wave oscillator, but there is a bunch of filters happening in my mouth that change positions and they resonate in different parts of the spectrum creating a sonic imprint that is then recognizable independent of the note. You can sing an E on and on and you can still hear it's an E letter, it's an E vowel. Even so the underlying sound, the underlying tone, is it something completely different. So that is a Formant in real life. Every real life occurrence of Formants are acoustic instruments because every resonating body has a formant which is a static resonance independent of the played notes. For example, an acoustic guitar, let me get an acoustic guitar. For example, an acoustic guitar has a resonating body and this body has some shape and proportions that make it resonate at certain frequencies more and less at certain others. So it has a sonic imprint, it has an EQ curve that is applied just because of this box. Same applies to wind instruments and any other real instrument. For example, when I was synthesizing and trying to get a sound of a double bass, I researched the resonance of the double bass body and I used an EQ to put these resonances in to make the illusion better. Anyway, let's now take a look at Zenith SubFX because it has a Formant filter built in that you can use to get some quite interesting results, actually a lot of very different things that are hard to do otherwise or require some sophisticated external processing. So it's a valuable tool to know about, it's a little bit hard to use. If you ever use the Yamaha DX7, well that's probably the level of the interface. I hope that the Zenfusion project will enhance on that because it's a very powerful feature. So I have my arduous session set up here and let's just enable the first part, let's make it louder. Okay, and I will dial in a simple sawtooth wave oscillator so we have some basic signal to just listen to and assess the changes the filters are making. So you might not have noticed but Zenith SubFX has a few categories of filters. The basic one is analog and by default AdSynth comes with this one and the Lopez filter 2 which is resonating. The Lopez filter 1 is non-resonating, you can see this doesn't do anything. So it's almost, so it's also very gentle as you can see and hear. The LPF 2, sorry, it has a resonance which is engaged by the Q which is the quality, the higher the quality, the narrower the filter and the more resonance you get. I hate these bugs. So these are the analog filters, there's a bunch of them, I'm not gonna cover everything because it's not about this. There's the state variable filters which are the same type of basic filters but they are different implementations so they sound different, they behave different, they react different to different inputs and we have the formant filter which is like the separate category on its own. How does it sound? Right now it reacts to the velocity of my playing so to disable this I'm gonna do velocity sensing amount 0. Now every keystroke has the same filter cutoff, so the same formant applied to it. So you can see we can adjust the Q of the whole thing, it also responds to the stages, it gets louder as we go, I'm gonna shift this whole thing two octaves down so we also have more harmonics to look at in the broad line window because this scale is linear, it's not logarithmic so it's more scientific than musical but it gets the job done and I actually I couldn't find a better spectrogram for real-time operation. If you know of any good spectrograms for real-time usage with Jack in Linux that are open source let me know, well this one isn't fully open source either, like it's dual licensed and you can't really, that's why it's not, botline is not in repositories because of the licensing. That's something lacking. If you're a Linux audio developer please code a real-time audio spectrograph. Let me know so I'll make a shout out about it and test it. So the basic thing that this formant filter does right now is apply aesthetic resonance to our signal. Let's bring it back to one stage and make it louder because right now it's very quiet and hit the edit button and now we can see the main formant filter window and there is a ton of options here. On the left we have the graph that shows what resonances we have, how they are positioned and what we're editing right now. You see we can have up to six vowels which is every vowel is a different set of formants. Here a single formant is a single resonance so you can have any number of formants, you can have two, you can have one, so it's just a single peak filter. If we increase this we have two and we have three, four, five, etc. So we have the formants which is the amount of filters that every vowel has. We have the vowels and each vowel is a predetermined set of locations for every formant, so every peak and we have a sequence which is a set of vowels in a predefined order that we can use and that we can choose using the BS position and that we can choose using the envelope and the LFO. If we change the sequence size to one we are essentially using just one vowel no matter what so now I cannot change this and an LFO or envelope or LFO won't have any effect if I make the sequence size of two we have two vowels to alternate between and now everything works. It is very very sensitive to LFO and envelope changes and to any changes in general so I'm going to increase the depth of this, return to the basic value so our envelope isn't doing anything and now it's still very fast so I'm going to decrease the frequency. You can see that our LFO is basically starting out in the peak then it's going here to the second vowel and then it's going back and then it's going back because the sequence is looping so when our LFO got here it was still going low but the sequence was over so it looped back and then the LFO was over so it was started getting back and it was looping looped back to the sequence and then it got back to the reset. It's a little bit complicated. We can change this by decreasing the depth. I hope we can get a simple two states. It looks like it's not that easy. So I may talk about the slow form and slowness and vowel clearness. So slowness is basically if you tried calf filter it has a control named inertia and that simply smooths out the input that you give it. So if we increase the slowness. The slowness refreshes with every note hit so I have to hit another note to hear the effect. So it's basically like a lopus filter or a slew limiter actually more like a lopus filter because it creates these very smooth curves like when normally you go from A to B and it's a straight line with no slowness. You can look at this. If we enable a triangle or a ramp up. Oh no I'm changing settings of not what I wanted. Not the frequency LFO. I wanted the filter LFO. Let's make it a ramp. So with no slowness it can jump from two positions immediately. As I increase the slowness it smooths out all this motion. The clearness of the vowels is something else is something different. It's clamping onto the values. It's like if we normally have like vowel one and vowel two and our LFO is slowly morphing between the two. The clearness if I make it very high it's gonna the LFO wants to give to the other but it's gonna it will be forced to stay on that first vowel and then when it crosses the line and it's not and it's closer to the other one it's gonna jump immediately. So it's avoiding mixing the vowels but to hear this we need to disable the firm and slowness because that is applied afterwards. I'm gonna make it a sine wave again. Let's also maybe shift this and make it wider and shift it up. Oh now we can hear it very clearly and see. With zero vowel clearness, clearness, with zero vowel clearness we get everything in between the vowels. So the individual formants are interpolating between different vowels on the whole spectrum and as I increase the clearness they stay longer in the in the target in the predefined values and then jump quicker between different vowels. Maximum clearness and then I can smooth it out with the formant slowness. Well that's interesting. So we have two vowels in the sequence but there are six total because there is from zero to five and we have different formants. We can select different peaks. We can have up to 12 and as you increase the number of the peaks it's gonna get louder. So I'm gonna play a note be ready it's gonna be loud. Louder at least. If I decrease it's much quieter. Also if we go with the Q very low Q this is 12 formants and this is one much quieter and we can see that this on this graph like the resonances build up and they increase the loudness even though with the lowest quality the Q so the highest bandwidth we don't actually create any recognizable shapes in the spectrum. Here's a spot where the saw wave is audible but it's speaking so it's kind of working like a vocoder or it's producing a vocoder like sounds or it can produce some growling talking bass lines if you wish. It can also produce some other things. Right now we have just two vowels in the sequence. What if we increase to three? Well that's super fast. I'm gonna decrease the vowel cleanliness and slowness so we have like the raw LFO output. I'm gonna actually disable the LFO. Oh funny it it was muted in one channel for for some reason. Oh I think I found a bug. By the way as you're playing with this keep in mind that resonating filters can be dangerous if you change the cutoff frequencies quickly and this is something I got from Mark D Curry who is the current developer of Xenon sub effects. I had some problems when the filters produced some screaming sounds extremely loud sounds and he explained me that a digital filter when you change the cutoff frequency so you move around the the cutoff knob or you apply a quick LFO or envelope and if you increase the quality so bump up the resonance it's gonna get unstable and it's gonna produce some extremely loud sounds and it's natural it's just the way digital implementations of these filters work. All of them have this problem so I thought this is a bug in the software and like you can you can approach this by trying to limit the amount of motion that the user can introduce or the amount of resonance he can get but then it limits the creative freedom so I think it's better to leave it on but warn the user that he might do something that's gonna hurt. So for an experiment let's try it. I'm gonna use a quick LFO and I'm gonna make it super quiet and then I'm gonna bump up the Q slightly slowly it's getting louder you can see yeah I left the note because it was beginning louder and louder and louder into distortion so now I'm gonna decrease the Q to same levels or safe levels and I'm gonna give back the loudness. Yeah so be careful with quickly moving highly resonant filters they can get loud. I figured out that she can create some interesting metallic ringing sounds when you just play with the range of the formants in the frequency spectrum so two controls we didn't talk about yet and are very like interesting is that center frequency in the octave span so center frequency is it's displayed here in the left upper corner right now it's at 200 Hertz. This line here is 20,000 Hertz this one is 10,000 so we are just shifting the whole thing in spectrum up and down and the octave span is the amount of octaves that the whole spectrum covers so right now we can get up to 10 octaves which is basically the whole range of human hearing from 20 Hertz to 20,000 Hertz it's just 10 octaves but if we decrease this we get something extremely narrow and if I increase the Q we can hear and see the individual resonances and in my idea that sounds that sounds super cool. The funny thing you see right now transitions are all straight lines you can increase the formant slowness to smooth them out to make that more organic interesting. I don't know what happens if we increase the stages it also decreases the Q and it is reflected right here on this graph by the way the filters in Zones of FX have a gain control so we can compensate with here and it is also reflected in this graph but this is generally very quiet right now if we increase the velocity sensitivity we can get a different resonance for every note or if we use the LFO in a random start mode nice wandering resonances by the way you can see that at the high resonance between the peaks there are also notches so it's not just it doesn't look the same like you can see that this frequency spectrum here on the bottom line display is actually quite different from this approximation here and there are also notch filters added in between the resonating peaks so that's very interesting because you get even more filtering applied than these 12 peaks and 12 peaks is already a lot. Not to mention that you can have two of these stacked because you can have a formant filter applied on a voice directly here so we can have actually 24 peaks let's give it an LFO yeah so right now we have two formant filters one after another and we need to be careful because if they start to resonate one on top of each other they're gonna get very loud oh sorry that was a high note uh no i'm not doing this again so yeah uh i think i would like to try making some simple composition or maybe maybe just dialing in a few sounds to make use practice show more in practice how this filter works and what it can do disable this let's make a hi-hat out of this sound so i'm gonna switch the oscillator to white noise so it's just noise i'm gonna decrease the loudness because it's gonna it might get loud i'm gonna increase the resonance and i will make this narrower so octaves less quarter an octave maybe half hmm i think i should be able to get something higher it looks like no i'm just gonna make a hi-hat sound out of this we have okay we have the LFO starting with random phase every hi-hat hit is gonna be different i think i would like to in to do some low pass filter to tame the filter the frequency content a little bit more well we clipped this really hard at some point okay so let's call this one hi-hat i'm not sure if we will be able to make a kick drum with formant filters this is actually quite loud i think all right let's make a base i will be talking so enable the keyboard let's give us a new patch and let's make this a sawtooth wave of course because sawtooth waves are great for exposing the quality of the filter because they contain all the harmonics odd and even so they are very harmonically rich okay we have the oscillator by default we have the lupus filter resonating slightly to turn down and you can see that even turning it up all the way still gives us some loss in high frequency content even at 16 kilohertz an 18 yeah oh maybe because i had the velocity sensing ah yeah okay it was just because of the velocity sensing so i disabled the velocity sensing let's change this to formant let's try program a a format sequence with just two formats let's make this more resonant let's turn this down i'm going to yeah we have vowel number zero vowel number one that is probably vowel number zero because they are very close together but we can verify this i'm going to change the b position let's make the sequence size of one yeah and this is the vowel number zero we can change the sequence and we can set up the sequence size and we can set up the sequence step so sequence position zero this is the first item in the sequence and we can assign a vowel number if we change this to a two this is going to be vowel number sorry vowel number one because the first one is the zero so right now this is the vowel this is what we have next the fourth and the fifth which is the six so yeah if we make this sequence size okay we can have up to seven in the sequence size but we have only six vowels so then we would have to repeat some vowel in the sequence so i'm going to make it six so let's go to vowel number zero now which vowel do we have right here and i would like to find the position where we have the vowel number zero this is not it i think this is it yeah so this is vowel number zero in the sequence which is assigned to vowel number zero in the bank of vowels somebody can mess with this we can add some more formants let's try to make a classic roll with just two positions and two formants so an extremely simple example let's just make one vowel up sorry one formant low other formant high you can also change their amplitude i guess we're not cleanly on this first vowel and let's make the second one just both formants in the middle or very close together oh yeah i don't want them crossing so i'm gonna make the zero the first one lower and the second one you see this is very clunky it's hard to manipulate let's now add an LFO yeah this is what i wanted let's make it slower so we can verify if it works okay the problem is our LFO depth is like clipped with reflection onto this smaller sequence so we need to decrease the depth of our LFO okay just a little bit let's try size five depth okay this looks good because we have the whole sequence from vowel zero to vowel one and back and no bouncing around now we can play with the frequency i'm gonna make sure we don't move the depth that's cool i'm gonna decrease the two so we can hear more of the note no it's it's very quiet so the funny thing is right now we can automate this because Zenith sub effects exposes the global filter cutoff which is applied to these filters so if i disable the LFO completely and we have no motion whatsoever i can just get back to ardor and let's just okay i guess the note is a little bit too low let's record some extremely simple example i'm gonna make ardor full screen for a while okay let's give ourselves a metronome right let's cut off yeah the last two bars are what i want to use okay i was a little bit early on that note and you can see it's it starts before the bar line so it was it was silenced okay so this is actually a beat let's duplicate this seven times yeah awesome hey we need a kick and we need a snap just kick will do but first let's play around with the automation for the filter cutoff you can also automate the filter resonance and let's just use the touch function loop over this okay the cool thing about touch is you can see if i don't touch it it doesn't record but if i do it does so so it's very nice for this kind of stuff because you can like write in record the automation moves one by one without destroying your other work uh i think i'm gonna increase the clean clean no the cleanness the slowness because okay uh let's just find our yeah here it is let's play it yeah so this is cool because we can actually build a longer sequence and a more complicated formant and we have a few filters in one with a single automation control that we can also smooth out this is this is really cool i want to i don't know make a kick drum just to um i'm gonna i'm holding control and middle mouse button and dragging this to duplicate the region and move it vertically because control duplicates and mid the middle mouse button drags between tracks without shifting in time i'm gonna delete these notes leave just one and i'm going to make a kick drum and we'll try to make it with a formant filter for the exercise okay we have our MIDI notes i'm gonna try make it out of white noise let's see what we can do so uh not sound but white right now we have the default resonating lobe as filter and let us use a single formant let's make it highly resonant and make a sequence of two and the first vowel we have it high in the second we want to have it low yeah we can have it even higher in the first now we can shift this all thing down and we can use an envelope i'm gonna disable a cleanness and slowness so we can easier see what what's coming okay well that's oh because i'm having the velocity sensing okay now we have consistent notes okay i managed to tune the envelope and the base position maybe this is the bs base position now we can slow this or smooth it out with the slowness but we need to make it lower oh i'm afraid it's not going to go low enough will it oh dear yeah yeah no the stretch is not doing anything for us here well i messed something up what do we have oh we have some low frequency maybe it is usable this is about 50 hertz that should be usable but how do we get there maybe i had so much trouble because i have this sequence stretch and it makes all the controls very sensitive oh that is usable as a kick drum uh at least regarding the spectrum oh yeah that's deep let's make it more resonant i actually i think i need headphones to verify if the bass is there let's listen yeah it's very low it's definitely a deep kick drum uh i think i need to decrease the slowness make this actually is very very quiet i'm afraid you might not hear it very well whoa that's distorting so let's add an envelope this doesn't do anything right now okay there's our kick drum our kick drum made with a formant filter let's distort it slightly for taste it's fine it's funny how unstable it is because we are making it out of white noise so it's random so some notes start with a peak yeah we managed to make a kick drum i have company okay uh let's duplicate this kick drum seven times and listen to our sequence okay i think that's it um i hope i've covered the formant filter thoroughly it is a little bit of a mystery it's hard to use the custom program but you can see it's not impossible and you can wrap your head around and make some cool sounds so give it a shot and if you have any questions or suggestions about this episode or the future ones if you have any ideas what i should do next what do you have problems with what would you want to learn about and the linux and open source audio world let me know leave that in the comments and i will see you in the next video bye okay that's for b-roll