My name is Matt Fisher, you're probably tired of seeing me by now, this is my fourth talk. I really want to point out Clayton O'Neill did a lot of work on this, and so I wanted to call him out here. I'm here today to talk about upgrading OpenStack. This is a story of Ice House to Juno, it's a story of all the things we tested, all the things we found in testing, all the things we didn't find in testing. So last winter, after Christmas, we decided it was time to go to Juno, and some things went really well. A couple things didn't go well. Before I get started, has anyone here done an OpenStack upgrade before? All right, some of you. All right, the rest of everyone else will probably learn something here. First, our general philosophy on this, we don't like to get behind, plan on upgrading every six months, some services more often than that. I don't really trust jumping multiple releases, I know it's possible, but I think this path is more well tested, I to J, J to K. Keep up with it, or you're going to have problems. Automate everything, I'm going to go into that in a little bit more detail later. Test this process over and over, don't go to production and try it for the first time. Get the process down, figure out how you're going to do rollbacks, in case it goes horribly wrong. Also, this may impact your customers. It's probably going to impact the APIs, it may have worse impacts. Figure out what this is before you go to production. And try to do all your testing with production data if you can. I want to talk more about automation, this is a big thing for us. A lot of people have to do upgrades in the middle of the night during a typical outage window, and that's when you make mistakes. If you type something wrong, our team has rebooted a compute node and prod by accident. We've even installed the wrong version of Ceph on a box by accident. And just be careful. If you have automation also, I said test it over and over. If you have a 25 step checklist that you're doing by hand, it's a pain to test. If you have a script, it's a lot easier. Also, it takes a little pain to write these automated upgrades, but you're going to use it again. We've already started the process for Kilo, using the same tooling we used before with a few tweaks. Finally, our automation scripts are our documentation. I'm actually in the process of upgrading Keystone to Liberty and I sat down, I said, how exactly did this work again? And I read the scripts and it's right there and I can see the exact process. Okay, so prepping for Juno. These are some of the prep steps, this might be the wrong slide, but you do have to do prep work before you can go to do an upgrade. The first big thing for us was puppet modules. We were on the ice house branch. We moved to master, we used get upstream to do this. That just basically is a way to import changes from get on a regular basis and automatically merge them in. What we found during this time is that config options move.  And you'll find if something was in a default section before and now it's in another section, services won't work or you'll get deprecation warnings in best case. So a lot of the puppet changes we made were to fix these errors. The other thing we did was set something called insure latest, which I'll kind of explain on a later slide, but it's a puppetism that basically simplified this process. Clayton and I did have some unexpected benefits from fixing all these puppet issues when moving to master. Our number of contributions skyrocketed. We started participating in the meetings and on the mailing lists. And Clayton and I eventually got voted in to be core contributors for the puppet. So that was a good benefit. The other thing we did was a lot of planning. We actually wrote a blueprint and reviewed it against our own internal Garrett server. This lets service experts, so the neutron expert and the sender expert could weigh in and say, this is how I want you to handle this part of the process. We also dug deep into the database scheme of migrations. This is actually where it gives us the most significant outage issue. We have an active-active HA setup. So we have an issue of old code, new database, or new database, old code. When we had done Keystone before, we actually read through all the migrations. But in fact, it only takes one or two things in a migration path to make it have a problem. So at this point, we actually just decided, we're gonna take an API outage and just let's keep it short. We also tested deprecations. So we just did a basic upgrade without any automation and then dug in the log files and look to see what's deprecated and what's broken. We made a master list of these, four or five of which we fixed. The rest we decided we could fix later. And finally, actually there's two more things. Doc bugs, the docs are great, but there was bugs. I saw incorrect default values. I saw config values in the wrong places. Even things like the Nova Compact flag had the wrong name in the docs. So check the docs, but you may need to double check that the values are right. We submitted bugs for these. We tried to fix these if we had time. One more quick thing, our neutral database was not stamped rice house.  So we pushed out a stamp. Font is all messed up. So how do you test upgrades over and over? Because once you've done an upgrade, what else is there to do? We use what's called virtual open stack environments. They're disposable, easy to build, open stack environments. That you can stand up a keystone node and a control node and a compute node, run your automated upgrade, see what happens. Tear it down and start over. Even if you do this over and over, one thing you can't forget is to test a clean build. A node that had ice house packages with ice house Ubuntu config files and then is upgraded and new puppet code running on it might not have the same is resulting config as a Juno Ubuntu package and Juno Ubuntu config files. We actually found a couple problems with this. The Nova database connection piece wasn't being written properly by Puppet. And I think there was some neutron options also missing. Finally, this isn't a Ubuntu specific term, dist upgrade. But basically what I mean is do your upgrade and then we run essentially a dist upgrade to see what packages are missing, what was left behind. We found four or five things that were left behind, mostly Python libraries. So we ended up just managing them with our own puppet manifest. So you can't solve everything with testing, especially in a virtual environment. There's really no way to test the impact to the customer. And the lesson we learned about this is we need to figure out a way to do this. We need to figure out a way to see what the impact is gonna be on the API and on network outage possibly. Finally, we're big on using live migration for maintenance and we have no way to do this in virtual environment.  You can't simulate a large stuff cluster. You can't simulate a large Swift cluster. Just two quick background slides before I walk into the process. So I won't lose everybody. Earlier I talked about insure latest. And if you know Puppet, this sounds crazy, because this would mean anytime a new package dropped, you were gonna get the latest version. Which means upgrades would be uncontrolled and completely random. So the way we do this is we do a daily repo that's date stamped. And then our repo pointers have the date stamp in it. So if you boil down the upgrade for us, aside from all the automated scripts I'm gonna talk about, we move the repo pointer, say from January 1st to May 1st. And then we run Apgit upgrade, essentially, and pull in all the new packages for the node. Another quick overview of terms I'm gonna use. For node types, we call compute nodes, those are the hypervisors. Control nodes run the API services, the standard ones. And control nodes are gonna be the hard part of the upgrade, most likely for you, wherever you run Neutron, probably. The other thing, control nodes do host the database, so we don't have separate database nodes here for Cinder and Glantz, etc. Keystone and Horizon nodes, we're not gonna talk about today. And the reason is we run them on a separate set of nodes that are on a globally replicated cluster. Keystone's already upgraded, we're already halfway to having it on Liberty. It's on its own cycle, it has its own process, and I don't have time to go through it today. And Horizon is also special, and we're gonna cover that later at the end here. So let's go through the initial plan, how we're gonna do this. This is sort of a start point. This is an initial basic setup for a control cluster. Three control nodes, everyone's running Icehouse. On these nodes are virtual routers, and they're part of a shared MySQL cluster that's also stamped to Icehouse. All API, external API calls come in through a hardware load balancer. And now I'm gonna talk you through how we got this diagram to be a Juno diagram. The first step is to essentially shut down two of the nodes, shut down the database, shut down services, get everything on one node. Then migrate all the routers onto that first node, so that that node is now your cluster. It's a cluster of one, it's not great, but you're not in an outage yet. Basically now we're going to try to upgrade this cluster. When we do the upgrade, we've shut down the A10, because I don't want to deal with customers booting up instances when I'm in the middle of this. But because we do that, we need to remember to tell Puppet run against the internal endpoints, not against the A10, which it tries to do, because internal endpoints aren't working. We run Puppet now via Ansible. Puppet moves the repo pointer, as I mentioned. Downloads and installs packages, can reconfigure services, runs database migrations, and then restarts all the services. The other very important thing in here Puppet is doing for us, is setting the IceHouse compatibility flag. Because this diagram only shows one control node, and I still have a lot of compute nodes that are still on IceHouse. I basically need Nova to still talk IceHouse until I've upgraded everything. Once this completes, and this took about five minutes, we do a bunch of really quick validations, smoke tests. We're in and outage at this point from a customer point of view. They can't get to the API, so we have to be very fast.  And in total, the API outage we had for this was about seven minutes. Once we've completed the smoke test, we turn the A10 back on. And we're out of the outage, and everyone could use this cluster now. The next thing we do is we get the Galera cluster back up. So we start bringing nodes back into the cluster, the data replicates across. The cluster is now essentially a Juno stamped database cluster. Once that done is done, we simply run Puppet on the remaining two nodes until they're also Juno, and that's just a package upgrade. And each of those is about five minutes. Finally, in order to get back to the original diagram, we have to move these routers. We don't like having them all in one box, so we have a router balance script that basically takes and spreads them evenly across all the nodes. And so at this point, we're done, and the upgrade should be great. This was the plan, and this was what we wrote scripting to do. Now you're probably wondering, I only discovered control nodes. What about computes? Our original plan was, let's do compute nodes the next day. Let's not do in the middle of the night. Maybe we should live migrate instances off the box, and we'll just use Puppet to run the upgrades, but let's get instances off the box first. And that takes a while if you've done live migration, and we didn't want to be doing it at 3 o'clock in the morning. Once that was done, the compute nodes would be good. And we go back and remove the compact flag so that we could be speaking Juno, essentially between all the Nova components. So we sat down in a team room and went down to do this for a hardware dev environment. And our plan was great, and we tried it a whole bunch in these virtual environments. We probably tried it 30 or 40 times, so everything was going to work completely flawlessly. I'm going to lead into what happened next with a quote. This is a Prussian general, Helmuth von Mulkty, the elder. He was speaking about OpenStack when he said, no plan survives contact with the enemy. There's no Prussians here today, so I can probably get a way of saying that. So what happened? The very first thing we did, we take everything down to that single node. We start running the package upgrades. Puppet dies. Dig the logs. We find out that MySQL has died. And we find out it was during the Nova database migrations. So we did what any sane programmer would do. We just ran it again. And of course, it died again. MySQL kept crashing. The system was now half on Juno, half not. The database was in some weird state, and at this point, it's probably time to dig in and finalize that rollback plan. Previously, we had kind of talked through what a rollback plan was. We maybe spent 10 minutes talking about it. As it turns out, you really need to have a more detailed plan when this happens. You forget things, especially when you just draw stuff on a whiteboard. But we did get a chance to run through it in Dev, which is better than in Prod. So how do you get this system back to Icehouse? We pretend this is production, and it's three o'clock in the morning, and you're in an outage. Here's our current state. We have all the routers on this node, which is running some kind of pseudo Juno Icehouse mishmash. And we need to get back to a functional cluster. It doesn't matter if it's one box or two. This is not good.  OpenStack services, Rabbit, MySQL especially, because you do not want this data replicating a back. And especially, don't forget to turn Puppet off, because Puppet will come through and helpfully turn all these back on for you when you're in the middle of doing this. While we're shutting down the first node, we quickly merge or revert of what caused the upgrade back to our GitHub tree. Get that code onto the Puppet master, and then bootstrap the Galera cluster. Because we left Galera shut down, this node here is still running Icehouse in terms of, from a database point of view. We do have database backups, but this data was still okay, because we hadn't rejoined this into the cluster. Once it's in the cluster, we basically just let Puppet restart all the services for us. It handles that pretty well. Make sure everything's good, and then get all those routers off the bad node onto this one. Kind of in the background here, we get that other node back up, so we're not down to one node. The main goal was to get one node up, so this is kind of a background task. Having a second node gives us another target for routers, so we don't have everything on one node. The final part of this plan is to rebuild this box. DD the drive, run pixie boot on it.  We were in a panic that day, because we hadn't really written down the plan, so we immediately DD the hard drive and powered it off. And then 10 minutes later, we realized we probably wanted to get some logs and things off the node, so don't panic. Remember this in your plan, that if you have this weird problem, you're gonna need a way to maybe click this data. You just wanna be sure that it can't rejoin the cluster.  So we repixie boot the box, and we're back to my first slide. This took most of that afternoon, and then we set down to think about what are we gonna do about these database migrations? We basically took the database backup I told you about, put it in a virtual environment, and ran upgrades against it. We were able to track it down to actually one exact MySQL line that caused the problem. So we sent Percona, we worked with Percona on this, the config, the MySQL line, the database dumps, the versions of MySQL, et cetera, and we worked with them closely over the next couple weeks to get a new fixed version out, which has been general release since February at this point. Once we got the new package, we deployed it. So now we're good. MySQL's fixed, Clara's gonna be great, and we're never gonna have another problem. So we set down back in the room, got everyone together, everyone's excited, and we go do the upgrade. Now this time, the control nodes are fine. MySQL is fine, there's no database migration issues. Once we did the first set of control nodes, we go to do our test plan, and our test plan includes live migration. This is when we found out when you're running the compact flag, Nova will not let you my live migrate.  By the way, I think this may have been changed recently, but it did sort of affect our plans because we were gonna do live migration the next day and run the compute upgrade. So, second change of plans. Let's drop by migration. It can be impactful, it certainly takes a long time, and it wasn't gonna work anyways, so we didn't really have a choice. And let's just do compute nodes that night. With our new plan, we upgraded Dev, it actually worked. We upgraded both staging environments with no issue, and now we're ready to go to prod. We sent out an announcement to our customers, we told them about all the great features that we're gonna get, we told them there might be a slight blip during this maintenance window, and we were really ready to go. We got everyone together, it was like eight or nine o'clock at night, and we're ready to go. Now, production is the first environment that this has hit that actually had load on it. I'm sure that wouldn't possibly be a problem. What happened in production? Well, you remember how we put all the routers on one node. When you restart neutron and OBS-related services, the flows get dropped, and they time out. And when the flows time out, customers can't get to their VMs. And our customers' customers, meaning external people, can't get to those systems either. So alerts start blowing up, and this is every virtual router. So this is every customer in this region when this happened. The solution was essentially to wait and watch the flows come back. It wasn't a great solution. Also, some routers didn't come back right. This can sometimes happen. The solution is simply to migrate them, but at this point with one node, we have nowhere to put them. So the only next thing you can do is just try to get another control node back online as quickly as possible, and you're essentially racing the clock and seeing how many customers are going to call you within the next six to seven minutes. Also, remember I said tests with production data. We actually did that. We pulled database dumps from staging a production, and we ran the database migrations, and we were sure they were right, except I only pulled them from one region. When we ran the other region, the neutron database migrations failed. There was something about a missing key. The table was empty, so we dropped it, and then database migrations recreated it for us. That was done as spur-of-the-moment decision, completely unplanned. So test with database backups from both regions if you can. Or this will happen to you. So this all finally completed, and the upgrade was finally done. We did cause that network outage to customers with the OVS issue, but other than that, this actually went pretty smoothly. All the other issues I've told you about occurred during testing, in terms of the MySQL issue and whatnot. This wasn't too terrible, but there was things we would have liked to fix in the future. There should be a better way, we think, to do these upgrades. Most of our problem actually has to do with package installs. Of all the downtime we had, package installs were about five minutes. That was almost most of our downtime, was watching packages downloaded and install. The other thing we had is we had thought at the beginning, let's just upgrade one service at a time, and I keep this really minimally. But because of package dependencies and interdependencies, this is not doable for most packages. And so you end up with this massive upgrade of upgrading everything at once, at least within a box, and I think that's just inherently riskier. We'd like to be able to upgrade, say, Nova and Neutron, or maybe just Heat, without causing this problem. So we've actually spent time looking into Python virtual environments. We really like the advantages they give us here. You don't have to worry about conflicting versions of Python libraries. And this isn't just for upgrades either. We run Horizon against Master in a Python virtual environment all the time. The rest of the stuff on that box is not against Master, and there's no interference there. Also if you do this, instead of having a massive upgrade that the whole team has to be involved in, in this massive plan, people that own each individual piece can be responsible for what they do. If the team running Glance is happy with Glance on Kilo, leave it. I would like Heat to be on Liberty, so I can upgrade Heat, and verify that it's not going to break everybody else. The downside here is the open stack public modules don't support virtual environments. So we've written a patch, a proof of concept patch for Designate, and it's something that isn't really going to be accepted in the community in its current form. It needs a lot more discussion. It's about a thousand line patch right now. And so we're trying to figure out what the plan to go forward with that will be. As I mentioned, we're also using virtual environments for Horizon. With Horizon, we actually deploy them with Ansible, so we don't have the puppet issue. So if you have virtual environments, how do you do an upgrade? It's extremely simple. Ahead of time, you stage the code you want on the box. You can have 10 versions of the code if you want. Then when you're ready to do it, you move sim links, maybe upgrade a config file if you need to, restart the service. It takes less than a couple seconds. If it blows up, you undo it in a couple seconds back. No package downgrades, which I'm not a fan of. If you do this, though, you don't want to deploy directly from PyPy. Things move on you. PyPy is unreachable in the middle of your deploy. That wouldn't be cool. So what we do is we build mirrors on a per-service basis. So we take all the libraries Horizon wants, and we build a mirror just for that. We don't mirror all of PyPy. It's huge. Well, we need to have load in our dev and staging environments, and we've actually worked with our test teams to do this now. Now, anytime we do a major upgrade, a kernel upgrade, anything like that, we can tell, is this going to cause someone to lose networking for five seconds? The API is going to be down. What's the impact going to be? This was probably one of the bigger failures we have of not having this beforehand. We actually also have instances that are permanently running. We blast API calls against them constantly. We can tell that we had a two-minute API outage against this box. It's very simple, when I say API, it's a very simple discurl and response. I've already mentioned this. Do database backups of both regions if you can, if the file is not too big, and try to do the database migrations against it. But finally, one was really interesting. We chose to do this kind of in the late evening, mountain time. A lot of our customers are on the east coast, so we thought we'd be fine. We were actually looking at lowest API usage time, but it turns out that our customers care more about what their customers are doing. If you're running a website where people pay their cable bills, they come home from work, and they pay their cable bills in the evening, and that's one of your main customers. You don't want to be doing upgrades at that time. We've actually shifted upgrades to do early morning, early morning mountain time. You may want to look at that too. It'll be different for every company. Keylo, despite the issues we had, we think our process was actually pretty good. It was all completely automated, and we think we learned a lot, and have changed some of the processes to avoid some of the problems we had before. So we've already started with this. My colleague Clayton has already basically gone through most of the things here. We submitted puppet fixes. He's done automation refinements, and we're moving quicker. We want to be doing this three or four months later. We want to be doing this when we get back next week. Clayton just told me today that he ran through an upgrade, and it's not five minutes anymore. It's now two and a half minutes, so that's better. We do still need to do something to mitigate the network outage possibility, but if we can keep it short, that might be acceptable. So despite the automation and everything I mentioned, fundamentally there's only a few steps. Put a new package on the box, run the migrations, drop new config options, restart the service. There's four steps, but you're going to need a way to do those in a certain order, on a certain order of nodes happening before other nodes. In my opinion, this wasn't too horrible. I think this is a lot better than it was in the past, and as I said, Kee was already faster, and I think liberty is going to be even better. The painful process, the pre-work, was figuring out the order of what nodes would go first and how we might recover and coming up with that plan, and once we did that I think we can tweak it. So hopefully by sharing our fun and our pain today, you can think about your upgrade process, how it might be better than ours, or how it might have something in common or things you might want to share or gain from this. And I have some time for questions. Surely you have a question, Dave? Yeah, it's the Nova Upgrade Levels flag, and that was the one that was wrong in the docs. Yeah, the question was what was the compat flag I mentioned, the Nova Upgrade Levels flag? Yeah, that's an interesting topic that we talked about earlier this week about the status of master. I think they're waiting on a couple things in order to branch off what they call stable kilo. One of those is I think some Keystone V3 stuff and there was something else in there. We did our tests, or Clayton's doing his test right now against master. So it'll just be missing a few things. We try to stay on master because once you get a stable branch, if you want to do a fix, it's two commits, not one, and it's just slower. For the benefit of the recording, could we have the rest of the questions at the floor, Mike, if possible? Thank you. I can repeat it. I can explain it to the limit of my knowledge, which is essentially it's a stamp, right? And then when the migrations run, if they don't see the stamp, it was unstamped, right? So the migrations, I don't know what I'm starting with here, right? So I'm not going to go to Juno. So stamping, it's a simple operation. We just had an ansible script to go blast the stamp everywhere. It didn't have an impact or restart or anything like that. It was just to ensure migrations incurred when we went to Juno. And they're stamped now with Juno, because they've been migrated. They weren't stamped, I'm guessing, because Icehouse was our first install, and we had never upgraded before. But, yeah, so the question is, the initial... The initial DB sync must not have because we didn't have a stamp. Now, maybe that's something that's been fixed. You'll notice right away, because stuff's not going to work if the migrations don't run, right? And maybe that was an Icehouse issue that's been fixed. Maybe? So the comment was that this is likely fixed, the lack of a stamp or the stamping. There's a couple other things I probably didn't mention. We look at... That's how we start with Kilo. So we dive into the release notes. One of the decisions we need to make is, do we want to do this now or do we want to wait for .1? A lot of people wait for .1 because .0 is when people are trying to upgrade for the first time and finding these problems rather than gate checks finding them, right? We did .1 with this. We did .1 mainly probably because of the holidays and the break between the release and Christmas and all that. That's the other thing, and then to go look at bugs that have been filed since the release. To make sure that you can live with whatever bugs are out there.  You guys have some time left? Oh, we're done.


Okay so there's some breaking news and this is actually quite shocking so I remember a while back this guy Niko he's a huge YouTuber he's got like 4.4 million subscribers he was on a channel called Joe UK it was a paid advertisement basically where it's like KFC and Moy Park have contacted Niko's people and got Niko down to this chicken farm to like use Niko's popularity to kind of humane wash the chicken industry and KFC's farming practices it was a joke this video it turns out that VFC Matthew Glover and VFC the vegan chicken company have investigated the exact same farm Moy Park farm that Niko was in and just recently VFC have released their response video so I'm going to go through it and react to it this is what's really behind the bucket straight away you can see Matthew holding one of the dead birds part of KFC's behind the bucket commitment to better chicken welfare they invited Niko a YouTuber to come and visit one of the farms that supplies their restaurants hello my friends I'm Niko and I'm on a farm the video footage was shared extensively online as a paid promotion looks incredible you're very welcome paid for by KFC like they used Niko here they exploited Niko and his reputation here and his popularity to humane wash something that is incredibly cruel so Niko if you're watching you should be angry at this KFC chose to bring Niko down here when the birds were really small and cute they were maybe 15 to 20 days old we've come back when they're 33 days old wow it wasn't too long after Matthew and VFC went down there it's only a few weeks because few weeks with chickens makes all of the difference do you really do care about these chickens though yeah we do ah that's painful they really care about these chickens yeah they're doing this to these chickens because they care about them that's why they're mass breeding 50 000 chickens in a shed in these Frankenstein bodies that they can't even exist in without suffering because they care about these chickens or no do they care about getting a big paycheck from KFC which one is it Tony what about these chickens do you care about birds like these three here who they've got to the point where they can't stand up anymore because the skeletons are so immature they just can't handle the weight so they get to a position where they just can't walk anymore they can't feed all right Tony I want you to address their conspiracy theory that KFC pump chickens with steroids and make them huge nobody grows chicken like that see how they love no no we don't do anything like that but you should actually see what we do do nobody in the animal protection movement claims that farmers are using steroids antibiotics yes and what we do object to is the selective breeding of these birds over decades so that the birds take on so much weight that they can no longer stand up they're blowing these chickens up not necessarily using steroids but selective breeding techniques and that's why these little baby birds are in these overgrown bodies why do the chickens have a swing they don't at least not when they're not expecting the camera crews here aha the swing wasn't down but do you see what they do see what the propaganda you know that they just disseminate to the world you know the chickens have a swing like I was in a pig farm and the pig had a little bit of wood on a rope to nozzle with their nose you know the chickens they have a swing they've got water we feed them they're sheltered like don't act like you're a vet or like like a chicken sanctuary where you just love chickens it's insane fails the birds to pack out and all the enrichments that we put inside the shed we found one swing that they can reach and that's for 52,000 birds it's just nonsense they put little bits of enrichment around just to satisfy the welfare guidelines or something like this or to make themselves feel better or something but it does nothing for the chickens like the chickens are just in horrible condition by the time they're at slaughter weight it's just a little swing isn't going to change anything put 30 swings in there it's not going to change anything there's no cages here I thought there was like 4,000 chickens in one small cage well Nico there's 52,000 chickens in one cage actually just one really big cage there is no cages I'm afraid Nico's getting confused with the egg industry where even today they are still using cages for the hens but at the moment there's no such thing as a free range egg so they're all either in barns or in these enriched cages so because of bird flu they haven't even the free range hens haven't been let out how is it a lot different in the chicken industry they have no access to the outdoors they have no natural light they're just stuck in these horrible factory farms for the whole lives they're short lives they're short and horrible lives it's just this perpetual cycle of just growth and suffering and killing constantly so people can have chicken legs out of a bucket at kfc very proud of our animal welfare here we're very proud of the animal welfare here if you listen to a farmer about animal welfare you've been tricked in the first plenty of room to roam you tell me do these birds have plenty of room to roam each bird has about as much room as an ipad do you see when Nico was there they were so small but when they grow up boom they just feel they fill up the entire shed and it makes sense financially for them to maximize the amount of chickens in that space to maximize their profits of course and that's what they care about they don't care about oh we're so proud of our welfare we give the chickens a swing nonsense they care about making money from kfc and so do kfc will sprinkle fresh straw across the floor area for them to play with and sit on even if it was true like you just if when vfc went in there there was just like fresh straw on the ground like it would make no difference i don't care if you spread fresh straw on the ground when there's all these frankenstein chickens in these overgrown bodies dying on their faces and about to go to a gas chamber to be killed sprinkling some fresh straw ain't going to get you out of that moral problem it's not exactly straw it's a mixture of wood chip and feces yeah and that's what it looks like on the floor of a chicken farm it's like this caked you know poo and wee ammonia and like wood chips and it's like clay at the bottom and it will stick to your feet and that's what the birds have to walk around on and that's what they fall on and get ammonia burns on and they just because they're like at such a low level so the chickens are really close to it they're smelling that it's disgusting inside a chicken farm the stench sticks to you oh i was hoping we wouldn't find any dead birds but um look at this one so kfc thinks it's acceptable for around about four or five percent of all birds to die in the farm this one barn has 52 000 birds which means that roughly two two and a half thousand birds are going to die within 35 days of their life cycle is that acceptable and we worked it out like actually it was like i think now about 380000 birds on this particular farm i think it was about something like 16 000 birds will die and they don't just die they suffer and die they lay down and they start to slowly shut down over time lying on their own feces and then they die most likely in pain how the hell is that good chicken welfare yeah if there's a 4.37 percent mortality with like you know nearly half a million chickens that's fine there's thousands of birds dying on their faces before they even get to the slaughterhouse and people talk about humane slaughter like oh yeah no they get slaughtered humanely well what about the birds who suffer and die on their faces in the in the barns they're forgotten about we're very proud of our animal welfare here look at all the dead birds very proud of our animal welfare here look at that shocking you know what i mean this is what we found outside the barns and then there's bins out the front there you go 13 to 15 000 birds will suffer to death here every 42 days so that's not just so that's every cycle so they accept a 4.37 percent death rate mortality rate every flock and that's every 42 days they change the flocks that's just one chicken farm in the UK and the crazy part of it this is the chicken farm they're using as the gold standard this is the one they're promoting to everyone and brought nico there to exploit him and give him a script to read nico doesn't care about that i don't think nico to be honest with you cares about this they just used him his social media fame gave him a probably a bunch of money for this and he's just spouting words off of a script which is a shame because nico's got such a large following of young British teenagers who are just going to lap this all up and feel much better when they go in to buy a kfc with their friends kfc have been improving chicken welfare for years the reality is that over time intensive chicken farming is getting worse so tony's not really a chicken whisperer he's the farm manager of park farm north kettletop near lincoln now this is one of my park's flagship agricultural academies wow flagship agricultural academy tony's farm is one of the best that's why kfc came and filmed here so you can imagine what the rest are like wow that's such an impactful statement matthew just made this is one of their best and that's why kfc filmed here you know what i mean this is the model this is their this is their amazing farm that they use for advertising and that is what it looks like imagine the other farms you know and we've seen a bunch of the other farms actually but that's this is such an indictment on kfc and moey park like i don't think people realize how much of an indictment this is this was what they were promoting as their best kfc needs to commit to moving away from the intensive factory farming of chickens like this and work on a kinder more sustainable plant-based chicken commitments i like the idea of that commitment not better welfare commitments these welfare reforms have been around for so long like they just don't all they do is make the consumer feel more comfortable about buying the meat they still have to mass produce meat the better commitment would be a plant-based commitment and kfc know how to make plant-based chicken they can make a whole plant-based range they've got the food scientists to make the best plant-based chicken on earth right they really do if they focused their attention on that they have to shift away from this sooner or later so we might get sued by kfc for this or moey park who run the farm or even tony the chicken whisperer but we feel that people want to know where their food comes from and they deserve to know where their food comes from and we don't think they want to buy food from places like this they'll be interesting at kfc and that tried to sue because uh what these images show would be pretty hard to defend in court actually so you know you can still shop at kfc um they do a really good vegan filet uh vegan chicken burger it's a corn filet um and it just saves having to put thousands millions billions of birds through this type of suffering it's just so unfair yeah get the vegan burger from kfc you know what i mean made by corn and then when they replace that that vegan burger you know what they do they replace it with a corn patty and they support corn from making mushroom what is it micro protein patties boom boom boom but when you buy the chicken they replace it with these poor little birds boom boom boom so you want to create the demand for plant based products and kfc need to just get rid of growing their food off of sentient conscious beings i think there's around a billion chickens slaughtered in the uk each year usually it's about 95 percent are factory farmed this is what indoor intensive chicken farming looks like um you see this all the time i see this all the time it's just the standard and when are people gonna wake up these big companies are investing in these big propaganda campaigns because they're kind of worried about this progressive change and moving away from cruel products okay so that's why they're pumping money into this stuff and getting like people like nico to come and spout nonsense and humane wash their industry the guardian made an article on this it says kfc has been accused of a misleading portrayal of chicken farming yeah well misleading that's an understatement so then they quoted matthew glover so matthew glover actually co-founded veganuary and vfc he's a great activist and he's done some really great things continues to do great things matthew glover vfc's co-founder said this is the most disingenuous marketing campaign we have seen for a long time the portrayal of chicken farming is utterly misleading and seeks to reassure the public that all is well when nothing can be further from the truth well said matthew in response to the allegations let's see kfc's response we all know it's going to be nonsense we take the welfare of the chickens in our supply chain extremely seriously wherever i heard that before they must have the same pr agents all of these every time there's an expose a we take the welfare of our animals very seriously red tractor user every single company user whenever they're exposed or we take animal welfare very seriously no you don't no you don't you take financial gain extremely seriously and whatever's on the back end of that who cares why would you care about a chicken when you're making billions of dollars can't even get the average person to care about a chicken let alone a massive corporation we will continue to work with moi park to ensure these standards are being met and we will continue to drive transparency which is an important part which is an important part of our welfare work so they're not going to drop moi park because of this so that that says a lot i mean if they've cared about taking the welfare of the chickens extremely seriously they would drop moi park immediately they would stop actually selling chicken immediately you can't care for the welfare of chickens while you're chopping them up and frying them can you that's not very good welfare is it removing misconceptions and ensuring accountability across the industry look you are not going to drive transparency transparency would ruin your industry actually what you'll do with your transparency would be propaganda you'll control the narrative you won't investigate your own farms would you that would be transparency you go in there investigate it film film when the farmers aren't ready go in there get a kfc investigator and then to go film when the farmers aren't ready do that that's transparency but you won't because you don't care about that so don't don't lie with your nonsense your pr manager to make these nonsense quotes it's frustrating me right now it's making me angry actually a spokesperson for moi park oh here we go todd the guardian and we could imagine what the spokesperson said claims such as these are treated incredibly seriously and we will immediately review and we immediately reviewed the footage along with independent audits and veterinary reports this farm is managed god here we go here we go are you ready for the pr spiel like means nothing now this farm has managed to a very high standard and our preliminary findings show that it is meeting those standards the birds are displaying natural behaviors and the farm adheres to all stocking enrichment and welfare requirements if they're meeting all the welfare requirements you can see how low the bar actually is so that you're looking at the footage right it's horrible and the industry going now that's normal there's nothing wrong here crazy here we go the company said the staff visit sheds a minimum three times a day to access the health and welfare of the birds a small number of birds may die between those checks and are identified and removed during the next inspection so if you do any inspections three times a day and there's already all these birds dying on their faces and dead birds everywhere how many birds must be dying in there how often and you're saying you're removing them each time how many are dying like do the maths the spokesperson added that people in a shed at an irregular time could also affect the birds movements ah go on so they're blaming the activists now the audacity to blame the activists the audacity this is what they do they try to pass off responsibility of the activists weren't in debt in there the you know it wouldn't have affected the birds movements like come on mate and then stewart jones director of upload agency which represents nico said whilst we take these allegations very seriously and we'll speak with kfc about these claims the filming that our client took part in accurately reported the conditions he saw an experience on the day look i don't think this is nico's fault and i don't think anyone should think this is nico's fault i think he should be a little bit wiser to this in the future but they took him in and they tricked him but he should be careful next time promoting animal products so there you go kfc busted big time here nico should never have got involved moi park they just tortured chickens for kfc to get a big fat paycheck never listen to industry people when it comes to the welfare of these animals they don't care primarily about the welfare of the animals they're not animal sanctuaries they're making money off of their exploitation and killing okay kfc stop using chickens to grow food chickens are not food they are sentient conscious beings and this is a moral abomination kfc change your menu to plant based okay this is disgusting what's going on to these chickens just so you can make money and you can create plant based alternatives that taste the same and you know that you have the best food scientists in the world support vfc chicken go buy vfc chicken if you think what happens at kfc is disgusting you don't want to support the company at all and finally just don't fall for the propaganda ever don't fall for their propaganda okay if they truly cared about the interests of the animals they wouldn't be exploiting and killing them period everyone go to the vfc youtube channel share the video around share it far and wide protest moi park in kfc raise awareness get online and social media comment i'll leave the original joe video down below for you i'll leave the vfc video expose a down below as well share it far and wide do what you have to do i'm going to be doing a little action myself off the back of this because this is really really powerful stuff um they've been caught red-handed and we should expose them further so let's get together as a movement and get behind this help this expose a be shared to those who need to see it thanks vfc and i'll see you all in the next video


Well with the election less than two weeks away now candidates have been busy in their final days of their campaigns. Local candidates in the Brainerd Lakes area met last night to discuss how they view environmental issues. Candidates running for local state house districts, Crow and County Commissioner and Soil and Water supervisor seats were invited to attend the forum. The non-partisan debate was put on through a collaboration between the Brainerd Lakes Area Audubon Society, the Crowing County Lakes and Rivers Alliance and other lakes and environmental groups in the area. Here we are in the Brainerd Lakes area and the economy here depends on a healthy environment. We've got a big tourism economy and we need to have a healthy environment, healthy lakes, places to recreate. That's what this area is known for. It's what Minnesota is known for and so it's important that we protect our environment. The candidate forum was held at the Northland Arboretum in Brainerd and was free and open to the public. If you enjoyed this segment of Lakeland News, please consider making a tax-deductible contribution to Lakeland PBS.


Now if you're a running back, you might want to close your ears for this next couple of minutes because this whole offseason has been marred with the disparity between the positions and the money and the CBA and everything that's going on and the inflated salary cap that the RVs are not getting a pizza because they got to pay these quarterbacks and they are. This offseason has also been all about throwback jerseys and massive quarterback deals and this is what happened yesterday afternoon. Let's take a look. I was excited to see it. I love this kid. Justin Herbert and the Chargers, they agreed on a $5, yeah, a $262.5 million extension making him the highest paid quarterback in the league on a per year basis. It was his time. It's called the market people, micro econ, okay? Voo DOO, no, VOO economics. What are they saying fair spoiler? I can't remember the line now. What is it? Voo DOO, VOO DOO economics. All right, let me do the math for you on that number. That's $52.5 million per year. I didn't do the math, Hamilton did, but that's a big number and despite what some people might think or might want you to believe, I think it's worth every penny for Los Angeles and this Chargers organization. Yeah, we've seen plenty. Show it to me. Give it to me. Take it, Justin. Herbie, Herbie, let's go. I've seen this highlighted a million times. This is worth the money, okay? It's mind blowing. He's got tons of throws like this one, but I do, I'm just going to say it. I think we have yet to see his best football.  Wherever Costa Mesa might be, and I want to watch him do his thing.  Well, I say, and I maintain that he will this Chargers team to the playoffs in a loaded AFC with fractured ribs and a bum shoulder. Okay, we've seen improvement year to year from him. What else do you want? You want a leap. You want growth. You want some consistency in progress that should make every Chargers fan and everybody in that building feel secure. I've said this on the show before, I never feel more secure than when there's progress. Think about when you're on a diet, people think about when you lose those first three pounds and you lose enough and you keep going and you get stronger. That's how we should be looking at Justin Herbert, all the faith, nothing else. And I'm joyful to have him in the folds over the next five years. And by the way, the more we learn about how this deal is put together and structured, the more I like it. There's this guy who probably has an abacus and he sits at his desk and crunches the numbers. His name is Jason Fitzgerald. He is a salary cap whiz over the cap.com. And he tweeted this morning that Herbert won't carry a cap hit above 38 mil over the next three years. So if you're bad at math like me, here's what it means. The Chargers will have a ton of flexibility to keep stars because that's what we care about, right? They can keep the likes of both. So they can keep Khalil mapping, keep Keenan Allen in the fold as they make their push in the AFC for Lombardi over these next few seasons. And now that you signed Herbert and he can not worry about it, maybe not even the better news, but I don't have a picture of him in here. Huh? Do I? Not that guy. No, Joe Burrow. All eyes are on Joe Burrow. This is the best thing.  And I would imagine they're close. I would imagine it's probably coming soon. And I don't know this on any authority, but if I was Burrow or advising Burrow in his camp, I'm sure they were, I would imagine they were waiting out Herbert. That's what you do. And that's the name of the game. It's just, it's not who's best. It's who's next people to the way the comps are in place. And they can ensure he'll be moving to the top of this list with, I mean a deal. It's got to be what 53 million per year or more. By the way, if you're wondering where Patrick Mahomes is here, he's dropped to eighth at 45 million per season. So he'll move down to ninth once Burrow signs his extension. So you'd have to think that would be corrected here at some point when this dust settles. It was a great deal for Mahomes and the chiefs of organization, but he can't move out of that top 10. He can't keep moving down and down and down. They're going to renegotiate and refigure it for the two-time Super Bowl winner. Okay, so congrats to Herbert.


Hello, OcelatorSync here, and welcome back to another video in the series where we are building patches from scratch on the Behringer DeepMind 6. So in this video, I'd like to aim for a kind of sparkly sequence kind of patch. You know, the kind of patch that's sort of plucky and slightly shiny and that works really nicely when you're running it in our Peggiator. So with that in mind, let's hit PROG and compare to get to our initialized patch, and let's get building. Now before we do anything else, what I want to start off by doing is establishing that pluckiness to the sound. So at the moment, I've kind of got an organ type attack with a bit of a release there. We don't actually want it to sustain at all when you hold down the note. It doesn't matter how long you hold down the note, I want a pluck kind of sound. So heading over to the VCA envelope, I'm just going to turn my sustain all the way down to zero. That means that no matter whether I hold down the note or not, it's always going to decay to zero. The other thing I want to do is kind of balance the decay and the release so they last the same amount of time at the moment that they are. They're both on 128 here. I think I want it a little bit shorter, so maybe just try 100-ish. You can do this on the sliders as well, but just for fine tuning, you can use the parameter knob instead. Yeah, something like that. Okay, so because I've kind of got this goal in mind of wanting to use it with an arpeggiator, let's actually turn on the arpeggiator switch on hold mode so that I don't have to keep playing anything, and let's set one going and we can work to that kind of idea. Already that's kind of a cool sound. You can arpeggiate to see mine accord with almost anything, it sounds good. Okay, so let's talk about the oscillators. So oscillator one at the moment, we're hearing both waveforms here, both the sawtooth and the pulse wave. The sawtooth is kind of brassy and sharp, and obviously it's a great sound, but I wouldn't call it sparkly. So on the other hand, the pulse wave immediately has that kind of lovely sort of... For me, it's actually a bit reminiscent of 8-bit computer games as well, that kind of sparkliness with the arpeggiator that sort of calls out to me, so I'm going to go with that there. Of course then we've also got the option to adjust the pulse width modulation. I guess we probably want to have it modulating with LFO, should we do that? Okay, let's head over into our edit screen here for the oscillator. We've got the pulse width modulation source here, let's set it to one of our LFOs. Probably don't want to have any pitch mods, so I don't mind using an LFO1, which I usually save for pitch mod, but let's get that little bit of a boost at the moment. LFO1 is running really slowly, so we could go higher and get that kind of coursing, or we could go lower and just get that sort of evolution of the sound. Maybe ever so... It's a bit ravy up there, isn't it? So let's maybe go slower, maybe a bit faster than it was to begin with, so you can kind of hear it changing, but it's not so obvious. Yeah, something like that, that's nice. Okay, so that's oscillator 1. Let's also bring in oscillator 2, so we'll just bring the level up here. So the moment it's an octave down, I don't really want that on it. See that's really nice with a bit of detuning, but what might be more interesting is to actually make use of the oscillator sync here. So if we set these absolutely in tune, then I'll just turn off oscillator 1 for a second. If we turn on sync when they're absolutely in tune, we can't hear any change at all. There might be the slightest change, but essentially there's no change at all. So what oscillator sync essentially does is every time that oscillator 1 completes one of its waveforms, it forces oscillator 2 to complete its waveform as well and sort of restart. Now, when they're in tune, that means you don't get any change, but as soon as you start changing the pitch of the synced oscillator, that means that it's either got slightly further through one of its oscillations, so it's sort of gone through one oscillation, then started another one, or it hasn't quite finished the first one, but then it's been forced to reset regardless, and that basically gives you new wave shapes. So you can use the pitch to get these different sort of timbre changes. And up at the top here, we've got these lovely, around here, these lovely sort of sparkly things happening. So let's find the start of that sparkle somewhere around there. And then let's head into the edit screen here, go to oscillator 2, and I'm going to change the pitch mod source to LFO2. So that means we're also going to be moving this pitch knob a bit. So if we turn up the pitch mod just on oscillator 2 now, and here we've got all those lovely, that's just lovely, sparkly kind of sounds happening there. It's really slow at the moment, like it becomes an obvious sync sound there. If we set it just slow, it's just this evolution of the sound, that's really pretty. And if we bring our first oscillator back in, because these two LFOs are running at different times, and they're both evolving their sounds, it's just got this overlapping thing happening. Really pretty. Let's change this chord on board of it now. Let's maybe not just go to another minor chord tree. Let's try that. Okay, so that's a nice start. Now the other thing that oscillator 2 has is this tone mod control, which does some interesting sort of inter-pulse wave forming. I don't really know how to describe it. It's all like pulse width modulation, but uneven. This can also bring in some really nice metallic sounds. Let's see, I like that. It's probably, doesn't need to be quite loud. You kind of get those sort of vocal, almost digital things happening in there, which are really kind of pretty. Lovely. Okay, so although I want this kind of shiny, I don't want it to be too shiny, so let's actually turn on the filter. Now, because I kind of want to have that sort of fizziness, I'm going to go to pole today, and that's just, that's nice. And let's just bring up the resonance, see if we can accentuate just the corner of that to get a little bit more sparkle there. That's nice. Yeah, okay. I'm also going to maybe give a little bit of filter envelope, but again, if we head over here, let's make it always jump down to zero, and let's make it really short. So it's just like a little ping on the front of the note. So that's without anything. We can just bring that little pinging, and we'll do the same with the release as well. You can get more ping by turning up the envelope range, and don't need much. And again, this resonance is also kind of accentuating that. Cool. Let's try a different chord, shall we? I can't deal with two happy chords at the moment. Yeah, something like that. Okay, cool. Okay, let's go into the VCA edit here, and let's take a look at the pan spread. The pan spread means that each of these voices is going to be panned randomly each time, which is definitely going to help to the sparkiness. So let's turn it up. Lovely. Isn't that pretty? Really nice. The other thing I'm going to do here, as I quite often do, is I'm just going to turn down the velocity sensitivity here, which just means that there's a slightly more even response depending on how you hit the keys. And what that does, generally speaking, it just means that the sound is a little bit louder. Yeah, that's nice. I kind of wonder what we should put a little bit of LFO sweep on the filter, shall we try that? Which of the two is running slower? They're both running pretty slow. So by default, the LFO here is LFO2. I'll give that a go. Okay, don't need too much movement. That's quite pretty. The other thing we might want to think about is the keyboard tracking for the VCF as well. So that means that higher notes will get brighter, because it'll open up the filter the higher up you go. So let's just try that a little bit. Again, probably don't need much. Discretion is the better part of Valor and all that. But that's pretty. Just a little bit more sparkle at the top in there. So, just out of interest, let's hear what this sounds like if the overall sound is a lot darker. Oh, that's nice, actually. I like that a lot. Probably as I also like that a lot. Okay, so how about we assign the filter cutoff to our mod wheel. That way we can have this as the default sound and then we can turn down the mod wheel to get the darker sound perhaps. Let's give that a go. So for that, you can't by default just map the mod wheel to the cutoff frequency. You can map it to the LFO depth, but not to the overall frequency. So in order to map this to this slider, we're going to have to use the mod matrix. So if we go into the mod matrix, we can see here that we've got a number of sources, a number of destinations and then we've got a depth that we can apply to those two things. So our source wants to be our mod wheel. Let's change this chord, shall we? Back to C minor. So our source wants to be the mod wheel. Our destination wants to be our VCF cutoff and the depth we want to be negative. Now, you can scroll through on this screen and find the thing that you wanted to do, but there's a really neat trick that they've implemented on this synth that I really, really love. Let's see, if you hold down the mod button when you're on the right line here, you move your source and it automatically detects it and then you can move your destination and for the most part that just kind of works and it automatically detects it. There are a couple of quirks here and there that you need to sort of learn what the shortcut is, but generally speaking that just works. So what we can do now is we can turn our mod wheel up full. Obviously no change at the moment because we haven't adjusted the depth. So in this case we want the depth to be negative because we want to turn down this control so we can just turn it down and find that point that we liked. Somewhere like that. We have control over that, which is cool. I wonder what it would sound like if we turned up the resonance a bit when we have the mod wheel turned up and get more of that sort of acid thing happening. Again, let's just try it. So move on to the next line on our mod matrix or hold down mod. We'll move our mod wheel to say that we want that to be our source. We'll just touch resonance there to say that's what we want to be our destination and we'll scroll across to the depth here make sure that our mod wheel is on full and just turn it up. It starts to get that sort of vocal resonance. Yeah, I like that. Okay, cool. It's a weird one. Okay, right. Let us talk about effects because obviously this sort of sound is just dying for some reverb and some delay. So let's head into our effects here. Now we need to be a bit careful here if we're going to have reverb and delay because if we have our effects just in a line which is what this is doing here so if we have reverb into delay that means that just the reverb gets delayed and if we have delay into reverb then your original sound doesn't easily get delayed but what we can do if we head over to this area here is we can scroll through different configurations of effects and what I'm looking for, here we go is a configuration where the last two effects are in parallel which means that we can have the reverb and the delay taking their own paths out of the effects unit essentially which means that you get a pure reverb and a pure delay, not a reverb going into a delay or a delay going into a reverb which is what we're after. Okay so let's get a reverb happening first. I'm a big fan of the late reverb and you can hear why, it's just gorgeous. Okay so the level is probably too high at the moment we'll adjust that in a second let's just go into fine tune the parameters first pre-delay is fine decay is that a bit too long? yeah just turn it down just a little bit keep the size on full it's a bit bright at the moment so we'll just turn down the damping a little bit low cut there's a too much low end build up here not by much but just dialing it out just brings the emphasis up a bit high cut again so on top of the dampening let's just turn down the high end on the reverb full stop yeah okay that's nicer back into the effects menu here and let's adjust the level so that it's not quite as overbearing I don't want the reverb to define the sound so much it's enhanced it there's a spot just around here where it becomes really obvious you just kind of want to find that spot where you definitely know there's reverb but it's not part of the sound it's just enhancing it okay that's nice new chord seventh chord like that okay cool okay so I also want a delay which is for some reason all the way near the end okay so that's a bit of a mess at the moment it's quite a beautiful mess but it's still a mess and the reason for that is that the delay time is not synchronized with our arpeggiator and because we want this to be a sound which is especially useful for arpeggiation what we can do is we can go to this time parameter here and when you get right away down to the bottom it gets to this section where it can be defined in terms of the arpeggiator bar length essentially we're going to turn the mode here onto stereo because we've got quite a lot of panning we won't take advantage of that kind of movement and then we've got this factor L and this factor R which basically will change so we're basing it around a quarter note but we can change that a little bit so now the right hand side you can obviously hear that it's now sort of two thirds so you get this massive opening up of this space low cut that's what we did with the reverb just take some spot on the end out just to take the subs out and again it's pretty bright at the moment and we've got this feedback it's the feedback so it's a feedback low cut I believe that as it is then we've got the feedback high cuts this allows each repeat to get a bit darker so it doesn't sit around cluttering everything up cool and then back into here and let's drop that down to a level again which isn't quite so overbearing maybe a little bit more of the delay okay let's see how that sounds that reverb sounds really good when it's on that lower do you know what I could go almost it would always be nice to have more reverb at that stage which believe it or not because of the mod matrix it's something we can do so let's do that shall we so again into our mod matrix our source again is going to be on modwheel but this time let's just check so the reverb is on slot 3 in our FX okay so our destination in this case that's right near the end you get to the point in you get to the point here in your destinations where you get to effect using the mod matrix individual parameters on the effects which of course is crazy and sometimes you can go overboard with this kind of stuff but before you get to FX 3 level here we go so we want this to be more reverb let's turn this up like we did before and let's just find the point something like that so if we turn down we've got that basic sound as we turn up we also get more reverb now it gets sort of swampy and starier that's cool okay sound interest noise level we're losing to this you don't want it in there all the time do you but fading in and out now and again it's kind of cool does that sound when it's darker equally as cool okay right I never like really reaching for sliders during performance so how about okay so we don't really need a pitch bend for this kind of sound so let's turn off the pitch bend acts as a pitch bend so to do that we can go into the poly menu here click across and we get to the pitch bend range plus and minus so let's turn that down to zero on both of them like that so what that means now is my pitch bend is not going to do anything which is what I wanted so let's go into the mod matrix find an empty slot and hold it down hit our pitch bend up and then hold put it down carry on and hit the noise level and then same as before we'll turn our pitch bend up bring the slider up now we've got the noise on the pitch mod instead it's lovely plucky almost kind of woody sound that we can bring in by turning up the mod wheel that's a fun patch okay guys that's the patch it's a fun one to build so I hope you enjoyed watching it as well make sure you give the video the good old like and also make sure you subscribe to the channel so you don't miss out on any of the upcoming videos on the deep mind and all the other synth stuff that we are putting out as well if you've got a suggestion for a type of patch that you would like to see me build then also please leave that down in the comments because I am happy to take requests it's a very versatile synth so we can do all sorts of stuff so I am happy for you to let me know what you would like to see on the channel take care guys and I will see you again soon bye bye


This is a place that challenges the field craft of our Marines and tests their abilities. This is a proving ground where we must master and respect the environment. Our great strategic advantage in the Arctic region is a network of allies and partners committed to Arctic security and the collective defense of our nations against a threat. Keep ready, keep ready.  Keep going, keep going, I got you brother. Nordic Response is an opportunity to connect to our systems, align our doctrine and rehearse our tactics and procedures as we sense and make sense of the complex environment in the purchased of conditions. Any Clive, any place.