Cool, okay. All right 455. So we'll go ahead and get started Thanks everyone for coming out to our talk today. It's really exciting to be doing in-person conferences again. So Hope you all enjoy as well I'm Travis Adair CTO of Prada base. It's a company that's spun out of uber AI focusing on providing a low-code and highly scalable machine learning Platform and I'm here with Nicholas. I'm Nicholas. I'm a senior deep learning engineer at NVIDIA. I'm focusing more on deep learning training at scale And we both have been working on the Horovod project for a number of years now And we're here to tell you a little bit about some of the applications of Horovod and how it's evolved and how the entire distributed training Ecosystem has evolved over the years and hopefully find a way to make it useful for you and the work that you're doing as well So to quickly start off with a little background So the problem that we're talking about here is that we want to train these deep neural networks that have some Pre-processing stuff followed by a series of layers that provide what's called the forward pass and then at the end You get a prediction and then based on the air in that prediction you then back propagate all of the these gradients that you compute back to update the weights of the model and This back propagation step these gradients need to be aggregated in some way often times in order to Do this in a distributed setting and that's going to be at the crux of the problem that we're going to talk about So broadly there are two ways to do this kind of distributed training Thing one of them is what we call model parallelism where you would subdivide different sections of the model across different Hardware or usually GPUs and the other is what we call data parallelism Which is what we commonly happen when your model is fairly reasonably sized, but your data set is too large to fit into To be handled by a single machine, right? And so both of these are commonly used in practice today, and we'll be talking a little bit about each of them So going back in time to about 2016 There was really only one way to do distributed training and it was called parameter servers This was something that was developed by our pioneer by Google in a big way of the paper called disbelief And they packaged it up into TensorFlow back in the early days when TensorFlow was pretty much the only game in town for doing deep learning So at uber one of my colleagues Alex Sergei there was a tech lead for the deep learning infrastructure team Working to support the self-driving car group and the problem that they had was that they had these very large perception models That were processing, you know terabytes petabytes of image data and they just couldn't train these models fast enough, right? And so Alex was looking at what was out there in the market saw the parameter servers we tried giving it to them and it wasn't working for them and Specifically it wasn't working because it required making very substantive changes to their actual training scripts in order to use it required a deep understanding of the infrastructure itself and how it worked and also significantly complicated the Operationalization story because not only did you have to think about the architecture for these training processes You also to think about the architecture for those parameter servers themselves And so that led to the development of the Horovod framework itself Which has started as a data parallel framework for doing distributed training We've developed it to be framework agnostic. So it supports TensorFlow PyTorch and Xnet Has many high-performance features including support for NVIDIA's nickel library MPI using our DMA and a special technique that we call tensor fusion It's very easy to use with just five lines of Python code And of course, it's open source is part of the Linux foundation and very easy to install as well and so at the heart of Horovod and where it gets its name from which is a Dance in Russian tradition where you kind of like hold hands and dance in a circle comes from this algorithm called all reduce which dates back to like the high-performance computing days and the very interesting insight that was discovered by some folks at Baidu was that If you were to use this all reduce algorithm to aggregate the gradients that you need to use to update the model It actually ends up being the bandwidth optimal algorithm for doing this If that's the constraint that you have in your kind of computing environment And so the way Horovod Start out in the way it works in principle Is that you just take these gradients across all your workers pass them around in a certain way and at the end They all have a single shared copy of the Parameters that they used to update their models and so none of them diverge as they train on different subsets of the data and This approach turns out to be very fast We benchmarked it on a number of different problems the original ones We looked at were kind of in the computer vision domain And so here you see benchmarks going up to 512 GPUs on a variety of benchmark architectures But Nicholas will show you in a bit that this actually can scale quite a bit beyond that as well And so today when we look at a bit about the community and how this project has grown over the years So starting from when we first open sourced in 2017 it's since grown to be over 12k stars on github and We have quite a variety of different use cases as well Which is going to be at the heart of what we're going to talk about today So we have a lot of people that are using it in research as well as production across academia Some people using as a hobby which I congratulate those people Community sets we also have a variety of different sizes of Workloads that people work with most people tend to kind of operate and I guess this two to four machine range But you have some people that go up to you know, very large clusters as well Most people these days run it on Kubernetes, which is not a surprise. It's definitely very popular these days Apache spark and ray are two other popular options for people who are in the kind of the ML ops world But we also have a lot of people that run on HPC systems using schedulers like slurm and Databricks and Amazon StageMaker also have official integrations with Horovot as well and I think one of the most interesting things for me personally is looking at this slide Which shows that we actually have a very good variety of people across both TensorFlow and PyTorch You know there's as well as some people using TensorFlow v1 Which in particular for people using TensorFlow v1 I think Horovot is really your only viable option, but Definitely, it's interesting to see the variety of people out there and Again coming back to the diverging use cases. So while this project originally started out just really focused on You know big data sets computer vision models trying to speed up training There's really a lot of variety to what people are doing in the distributed training space today And I think it's oftentimes difficult to cut through the noise and figure out You know when should I use Horovot versus another framework and what are all these different features they're talking about? And so I think a few of the big ones that we want to talk about today will be the HPC case Which is where Horovot really like got its start and has done a lot of very interesting groundbreaking work as well as a lot of the More interesting recent trends, which you may have been hearing a lot in the news recently about people Claiming that machines have become sentient or something and that's you know very much in this wheelhouse of very large language models We also have a lot of people that are wanting to run not on you know Dedicated HPC hardware, but more in the cloud where the problem is a lot more about how do I reduce costs? How do I handle failover if I'm using pre-emptible instances and then finally there's ML Ops Which I think is a very one very near and dear to my heart in the in the business that I'm in Which is very much about integration into end with other data processing systems like spark and ray And to start things off. I'll hand it over to Nicholas to talk about HPC. Thank you Travis So the first use case that we look at is HPC so I pair high performance computing So you can see on the on the timeline a lot of things happen at least some breakthrough happen in the end of 2018-2019 we'll focus on two I guess Breakthrough which is the exact scale paper that led to a lot of improvement in all of odd and also the ML path competition that that also led to a lot of improvement in in deep learning at scale and I put back the star history to to see to show that he matched up a little bit the When a lot of things happen at the beginning in deep learning at at scale, which is the end of 2018 The star wire going up and after he starts smoothing out a little bit So so this publication the the exact scale paper won the golden bell price in 2018 It was really the first exact exact scales class the learning application Not with full precision, but at the 16 precision to be to be precise and so was the first time to to do deep learning at this scale so 27 27 K GPUs and We had a lot of improvement coming from that In the communication library so with NVIDIA for Nicole and also in the whole of our project We'll talk about that in the next slide We like to point out in the in the picture in the middle Josh Romero with a big contributor for over so One of the opinion optimizations that came out from this publication is response cache optimization So the way or over the work He worked in a really dynamic way in the sense that He will checked on all the GPU which tensor are ready to be to be reduced Which gradient are ready to be reduced and when some of them are ready. He will Launch and already used to perform to perform the reduction and keep going So we have scan of these these loop in the code checking if there is any tensor to be ready and Before the optimization The way to do it was to gather All the metadata of the tensor that were ready to GPU zero so everybody sends their their messages and GPU zero was aggregating the data and sending back a list of The tensor that were ready to be to be reduced and So the inside there is during deep learning training The same tensor are always the same So the the solution was to to implement a cache So you don't have to do these these exchange to a single Point of failure GPU zero and after send back the data to everybody so So by just Implementing a cache with one bit to represent each gradient tensor When a tensor was ready on the GPU you could flip it to one and after really doing a All reduce on this bit vector to figure out which Which tensor was ready on all the GPU you could after after that sends the already use communication and so now a single collective operation with already a Small small small data to send over is just a bit vector and you can see it on the on the graph that Before the optimization after 200 400 GPUs We starting not scaling as well but with the optimization and Which send will your a small amount of data you can scale linearly at least to 800 GPUs the other Interesting thing I wanted to talk about in the HPC use case is the ML path training competition So is a benchmark at the same time as a competition So you represent a diverse set of DL models to evaluate DL platform so both the software and the hardware of the platform and The competition is organized twice a year and People or competitors to meet the results But the result are peer reviews by the different Competitors so to keep the competition fair and the result need to be of course reproducible and over the years of the competition I think started in 2017 over the years like a lot of inside Came from these Come from this competition optimization Especially at scale so in the last last submission of ML path was in the fall so fall 2021 We we see that four out of the eight benchmark records used or over For the scale out submission And you see it is different different type of neural network So mini go for reinforcement reinforcement learning 3d unit for image segmentation SSD for object recognition and Resnet 50 for image classification and one of the the improvement we made to a robot for the last submission was Was the async data dependency optimization that we'll talk in the next slide so we saw that For data parallelism the goal of for over these two average those gradient tensors after each at the end of each iteration and What we have in the code what we had in the code I guess is if you don't have the definition enable is still doing that The CPU will be waiting that the forward pass the backward pass is done and and After that all about we'll check that the tensor are ready on all the GPU and then we'll be able to learn the GPU kernel to do the communication operation and after that the CPU will be waiting again for the output of the communication to to tell the framework that You can do other things like sending Optimizer work to the GPU So what we did is we kind of Lower down those those dependencies to GPU stream So the the framework and all of our could queue up The GPU operation even if they were not finished on the GPU so you can see on the after kind of diagram We managed to queue up the forward pass the backward pass the old reduce and even the optimizer Before the backward pass is done. So you see there is no now. There is no gap in GPU Utilization between the backward pass and the old reduce and the old reduce and the optimizer. So you get faster faster training training time and And yeah more GPU utilization so a few tips to Especially to scale at big a big scale So the first thing usually you want to do is to to utilize properly your GPU is to use The maximum batch size that you can To utilize all the memory of your GPUs But at one point you will see that for large batch The quality of your conversions will degrades And so a lot of time you want to stop there you want to maintain this good conversions curve But at that point you will switch to strong scaling so instead of Increasing the problem size you will keep the same problem size, but we'll add more resources to it But the downside of that is the computation part GPU Decreases but the communication stays the same. So you cannot overlap as much of the communication behind the computation so you need to be You need to make sure that you don't have too many Latency in your in your stack and so the improvements that I mentioned earlier the async data dependency will Decrease the latency of all of odd which is really good for strong scaling another tip also for strong scaling is to Reduce the cycle time so the frequency of 10 or what is shaking for work to do but the downside of doing that if you don't do anything else is You may be sending over the network just small data just one or two tensor instead of Aggregate aggregating them So to prevent that you can enable the the group or reduce where you can do static grouping so you can tell over Yeah, even if only one tensor is ready now I want to make sure that I have a bucket of tensor before sending it over the network So that I don't pay the cost of just sending small messages another use case that Became more popular as Travis mentioned is model and hybrid parallelism So a lot of work has been done inside over to to have that working and Since all of what was doing mainly data parallelism now you have the option With over being being a generic framework to be able to do also model parallelism So if you look at the timeline In the community you will see there's a lot of things happen also for model parallelism around the beginning of 2019 We'll focus on two use cases One is recommender systems Like the LRM So think about recommender system models that predict like on which ads you are going to click Which movie you are going to like or watch And The other use case is large NLP model large language model so we saw in 2019 the Coming up of different Specialized framework like the speed and Megatron LM that Focus on on that So in the case of DLRM So if we think about a model that predict Which movie you are going to like or watch You in in those inputs that you need to represent so they are important present in the unbearing space So the embedding layer you need to represent the user Demographics the different movies so the more movie you want to To put in your model the more user you want to put in the model the bigger the Embedding layer will be so that become like a memory constraint aspect of your model so the way to solve that it was to split the embedding layer across multiple GPUs and And after that when you pass these layers that is memory constraint you can do data parallelism like the the normal way that Travis talk about where every GPU have the same model, but they work on different input data and To switch between model parallelism and data parallelism We have a communication phase which is the old tool where eGPU send pieces of Their embedding layer to all the other GPUs The other use case which is large NLP models You can see on I wanted to put this graph to show that Yeah, over the years Those model become bigger and bigger so they are able to To do more language tasks in a more generic way and also to be more accurate And so you go to billions of parameters even now trillion of parameters So the way to scale Large model The common way is to do 3d parallelism where you split it in three way so the normal way is the data parallelism we talk about that and The two the way is pipeline and model parallelism. So for model parallelism is more you are splitting the layer horizontally So intralayer split and for pipeline parallelism You are partitioning the layers of your model into buckets and you put them in different GPUs So for data parallelism the communication is already use We talk about that for to some power with tensor parallelism. We added the concept of process sets So it's like grouping of GPU. So now instead of GPU has to communicate with everybody you can create communicate in a subset Let's say you were doing tensor parallelism inside just a server node You can say Your group is a node and you will just communicate with your neighbors inside the same node And for pipeline parallelism you can do point-to-point And we have a way to do it with a group size of two with the old tool operation of a robot So I just wanted to to show you how easy it is to use So you will of course import a robot But you can use MPI for pi to create a sub communicator to to tell over that For model parallelism for example tensor parallelism. You only want to communicate inside your box and and for that when you call the old reduce function you will pass the process set argument with the process that you created With the MPI sub communicator, so you will just communicate inside your box and I wanted to include also the case of when you switch from model parallelism to data parallelism for the LRM You just call to all tool on your local embedding tables And now I will let Travis talk to you about the use case of the cloud Thanks, Nicholas So I think a couple of the things that we just talked about are definitely on the very bleeding edge things that a lot of very Wealthy tech companies have been pioneering and I think that Another use case though that a lot of people come with is you know They want to do distributed training because they have what you might call data sets of reasonable scale as my friend Yacobo might say on these days, but Basically you still have the need for doing distributed training, but you're not quite at the scale of like You know really really big models, right? I think that's where this idea of you want to run in the cloud you want to reduce costs you want to make it You know something that is as reasonable as possible is where something like elastic or about comes in and the basic idea behind elastic or about is that you want to be able to both Accommodate failover that might happen in the case of a node going down So for example use a spot instance and that spot instance is reclaimed by the the system Or also a new instance becomes available like you're running in a multi-tenant environment Anyone optimize for high throughput and so one of the workloads finishes the GPU is kind of put back in the pool You want to be able to use it for your your job temporarily while that's While it's available to you and so the purpose of elastic or about is to very elegantly handle this handover where node goes down We remove it from the the job node comes up We add it to the job and all this happens seamlessly without an eruption and so the way that we achieve this is Essentially by having this separate driver concept that sits on top kind of like if you're familiar with spark There's the spark driver for familiar with Ray. There's a ray head So the way that elastic or about works is that the driver coordinates the work of all the other Nodes and kind of has a global awareness of who's you know responding who's not responding And so when enough when a failure occurs that gets detected And the workers that have not entered a failed state communicate back to the driver node and say Hey, I'm ready to continue work who's still available to do work and then the driver is responsible for adding any nodes that might have been added to System and made themselves available removing nodes that are gone and sort of recreating the topology of how the machines communicate We also had the ability to support what we call a graceful worker removal. So this is in the event where your System your kind of resource manager is able to tell you when it's going to reclaim a node before it does so and this has a Very nice property that if you know in advance that a node is going to be removed You can remove it at the time that it's going to cause the least amount of disruption to your process So a good example here would be if you're doing training and you're in the middle of doing like a backward pass and updating the weights That's not a really ideal time to have a failure because you kind of have to revert back to the previous batch Which isn't the end of the world But it does cause a bit of like time to sort of like, you know Reset the state and sort of resume and deserialize things that you might have cashed temporarily Whereas if you can remove a worker just at the right time at the end of a batch There's no kind of intermediate state you have to track and it's a lot more amenable to high throughput So that's exactly what we do here and this is facilitated by this notification system where we Propagate notifications about worker removals to the worker nodes so they can handle them at the time that's most beneficial to them and I think it's really interesting to point out that you know a lot of people have questions about how well this performs certainly I Think that if you're very interested in determinism there is you know elasticity is maybe not the best property But if you're just looking for good model results I think we've demonstrated in a series of blog posts that we've done that Definitely we see that you can get very good results with elasticity in some cases even better results Due to a property of kind of smoothing out the variance that can happen from having very consistent batches from one epoch to the next and the last thing I want to say on Elastic is that's also very nicely integrated in the kubernetes stack as part of a kubeflow and the MPI operator So this was some great work done by folks at Tencent to add this into Kubeflow and so if you're interested in using in kubernetes It's very easy to get started with elastic oravod And the last use case that we'd like to talk about today is the ML ops use case Which is how you would run a system like oravod on top of your existing data infrastructure Whether that spark array or other systems and so to motivate this let's talk a little bit about how you run ML on your laptop So this is kind of the setup for Something I'm going to be talking about a few slides later, which is another project. I work on called Ludwig and The idea is that oftentimes when you're doing end-to-end machine learning you don't just want to do training But you also want to process the data in some way to do feature Transformation or sanitize the data or what have you And then you also need to do some evaluation on the model before finally putting that in a registry or a model store And so, you know all these steps need to be thought about in scale not just the training part in isolation, right? And so this is in contrast to something like how you do an ML pipeline in production So this is a slide that comes from the Michelangelo platform that I used to work on at uber And the basic idea behind in all in production is that you want to take all these same components But you're going to be doing them at very large scales So you might have something like a feature store in place of just the normal Processing step you might do batch training and then your model store then goes out to like a real-time prediction service or You know, maybe like a data lake for doing batch prediction And this is where something like Horovot on spark comes in So this was one of our earliest in all ops integrations and the way that Horovot on spark basically works is that it runs the Horovot software on top of the existing spark executors but outside of the spark graph execution itself and so the way that we achieve this is that we actually use an Intermediate layer which is some kind of object storage like HDFS or s3 Where we write out the data that comes from the feature processing or data processing to parquet format and then consume that data by the training workers For training and then evaluation can then use the normal RDD representation that spark provides And so here's kind of a little bit zoomed in to what that process looks like So we have a framework that was ran at uber called pedastorm That is commonly used to do the actual data loading from the parquet file into The workers and then each worker maintains its own local shuffle buffer that then actually does the batching and sending of data to the workers for training and Let's talk a little bit about real-world example of this So Ludwig is like I said another framework I work on as part of the Linux Foundation as well low-code deep learning framework that supports multi-task learning and The high idea behind what we wanted to do with Ludwig was exactly this idea of scaling it up To support both the feature processing and the training parts simultaneously But when we're looking at how we might actually operationalize this Particularly for a project that's open source where people are kind of running it, you know and all sorts of different environments You know This was the challenge that was in front of us is we were worried we're going to have to build a system like this Which is a system pattern that we built a lot at uber while I was there Which is you have a separate component that handles the data processing a separate component that has training a separate component that handles eval and these are often different systems Usually spark for data processing training might be Horovod and then you have to orchestrate it all together using some kind of workflow orchestration system like Apache airflow and so we didn't want to necessarily force this on users in the open source and definitely we want to make our lives operationally easier as well and so that's where we came up with this ray integration for Horovod Which is now a standard part of the Ludwig framework and the beautiful thing about ray in my opinion is that it allows you to Combine all of these disparate heterogeneous steps into a unified layer And so the pre-processing training evaluation all that happens within a single ray cluster a single abstraction layer and The handoff between these different steps is similarly handled kind of transparently to you by ray itself So if you haven't checked out ray, I highly recommend it It's a really powerful tool for allowing you to get up and running with something like Horovod as part of as being one component with a larger pipeline and This also extends beyond training to hyper parameter optimization as well So another feature we have in Ludwig is that you can run the same kind of distributed training process for pre-processing training evaluation Etc and then also fan this out into multiple trials that are all coordinated by a Hyper-parameter search scheduler and so that kind of modularity is also one thing that makes Horovod on ray particularly interesting And that's it. Thank you very much for coming today Nicholas would you like to say any final words here? Oh sure so So yeah, we saw that you know, we had multiple use cases for for deep learning and we saw also that For different use cases like large model large model like specialized framework came into being like Megatron deep speed specializing in large model, but Horovod tried to stay generic So that's why You can do data parallelism. You can do model parallelism and you can support a rich kind of environment DL ecosystem and And so and so yeah, we are we are happy to to welcome you into the Into the community if you are if you are if you want to to help us to to keep improving the product I think you have a link to the to the slack Yeah, so I think on the next side, okay So if you want to to join our slack I think to join our slag there is kind of a poll at the beginning that help us to to see what's your interest are in which Which environment you are using DL and on which platform you are using it so kind of the stats you show now Yeah Do you have any question? I know we packed a lot into a relatively short amount of time so definitely I'm not surprised if You know aren't too many immediate questions, but definitely happy to you know taking questions, you know later or You know, please feel free to reach out to us on GitHub or LinkedIn or Twitter Yeah, that's a good question. So Nicholas you probably maybe give a little bit more flavor But the kind of surestake that we typically go with in the past is that you know if you have 100 gigabit That's like usually considered to be like, you know, very good during a good spot You can go lower in some cases if you're wanting to use things like FP16 compression or Potentially if you have weaker GPUs like maybe like older skews like T4s or like some lower powered ones like T4s potentially P100s things like that, but for V 100s with full 32-bit precision like 100 gigabit is usually what we recommend Yeah, I would say the same thing but Like nobody prevents you to try it on a on a smaller like a network Not more like internet network like 10 gig if you want But it will perform better on a 10 100 gig internet or RDMA or infini band I will say that yeah Definitely if you have like a small worker size like just a couple of nodes or something like that like you smaller like weaker Networks can generally get away with it and then another thing that oftentimes people do when they have like, you know Really bandwidth constrained environments like 10 gigabit is they'll use what's called local gradient aggregation Where you can instead of doing the backward pass every step You kind of save the the weight that the gradients and then you kind of do another forward pass and like aggregate those Inside a single worker and then do an aggregation across the workers like after 10 steps or something like that, right? So you will increase your global batch size Before like doing the optimizer steps. Awesome. Good question. Thank you for coming. Well, thank you very much


What's going on guys, today I am back with another Destiny 2 beta top 5 plays of the weekend. Today we have top 5 sniping plays and some of these clips are absolutely incredible. And if you guys do enjoy the video leave a like as much appreciated on my behalf. As always thanks for stopping by and I will see you on that next one. You're pulling ahead, keep it that way, 5 minutes remaining.  Zone B lost, double down, triple down, you see what you do with that. Now hold the line, zone C lost, double kill, together as one, I love it. Only 5 minutes left. Know your enemy what a real fight looks like. Zone C secure, zone advantage is yours. Zone B lost. This is wonderful.


Hello everyone. Welcome. Can you believe it's our second lecture? A couple things. I want to ask you to please turn off your cell phones. Because we've had a couple of texts that we're hearing pinging and just a little disruptive. So that would be awesome. Of course mine isn't turned off. Oops. Secondly, we decided at our board meeting this past week that we would do a sort of impromptu walk. And we're going to walk down at Meach Cove in Shelburne, which is a beautiful walk. You're going to get an email about this sometime over the weekend. And you're more than welcome to come and bring friends. It's going to be scheduled for Tuesday, September 26 at 11 o'clock. And if it rains, which of course it will, the rain date is the next day at 11 o'clock. And there are directions on where to park. You don't have to respond, although at the bottom of the email is Betty Naven's name. I don't know where Betty is, but if you have any questions, she's in the back. Okay, there are a few flyers on the table. If anyone has any questions after the lecture, please feel free to ask her. We put her email, her phone number, and you don't have to let her know. We would love to have you show up. So now I would like to introduce, for those of you who've been members for a while, this is an old-time favorite, and I just saw that you're Professor Emeritus. Congratulations! Yay! Because when he filled out the form, he was called recently retired. And I didn't know, I didn't ask you, because I thought, it's not PC. So anyway, Larry Hamberlin. He retired this summer from Middlebury College where he taught music history for 18 years and continues to give popular pre-concert talks for the college's performing art series. He has also taught at Harvard, Tufts, and Williams. In addition to his scholarly publications, Larry has written the textbooks for W.W. Norton, Introduction to America's Music with Richard Crawford, and a forthcoming music appreciation text called The Skillful Listener. An active performer, he has conducted and composed music for community choirs, bands, and orchestras throughout Vermont. Larry lives in Bristol with his wife, flutist, and teacher, Francine Hamberlin. Please give a warm welcome to Larry Hamberlin. Can you hear me now? Oh, you can hear me now. Wonderful. Thank you. It's so nice to be back here. I was last year, I guess in 2019, and then something came along in 2020 that sort of made us stop doing this for a while. You may recall what that was. I do too. And this is my first time back since then, and it is wonderful to be here. It's a great, great, great pleasure to be with you all here in the room. And those of you who are on our Zoom webinar, I'm very happy to have you with us today. We've all learned how to do things in a hybrid fashion, some of us in person, some of us remote. It's wonderful. I love it. And oddly enough, this topic is kind of timely for the time period that we're in right now. What is so great about Beethoven's fifth? Everybody knows that it's a great piece, and everybody knows how it starts. Bum, bum, bum, bum. Everybody knows that. But what comes after those four notes? That's what I want to explore today. And what makes what comes after so great? So let's just look a little bit at Beethoven at this time in his life, born in 1770. He wrote this symphony over a period of about four or five years when he was in his mid-thirties. This is at a time in his life where he is aware that he's losing his hearing. He hasn't yet come public with that information. That will be happening soon enough. He'll let the world know. But at this point, he's still dealing with it as a personal struggle. There's a portrait of him that was painted right about this time. I like to think of a young man in his early to mid-thirties who's going to be telling us what he has to tell us in this piece. What does he have to say? Well, first of all, he's going to build on the models of his great predecessors, Haydn and Mozart in the generation before him, his two musical idols. He met Mozart when he was a teenager. He studied with Haydn when he was in his twenties. He inherits from him this idea of the symphony as this large-scale piece for orchestra with four movements. What's a movement?  Back in the LP days, that was a track on the LP. CDs had that too. Streaming services had that now. If you go to iTunes to download Beethoven's Fifth Symphony, you'll tell you that it's four songs. That's what a movement is. What's this four-song structure that Beethoven's predecessors do? You start fast and loud and energetic.  Then for the third movement, you do something that is either dance-like, and the big dance hit of the 18th century, the big dance craze was the minuet. You'd have something that's in that dance rhythm of the minuet. Haydn had this idea, speed it up so fast that you can't really dance to it anymore, but it gets kind of funny when you do that. He called that a scherzo, which is just the Italian word for joke. The idea is that it's either dancey or funny or both. It's sort of the light moment of comic relief. In the fourth movement, you get it all fast and energetic again and finish up with a big bang. That's the model that Beethoven inherits. He doesn't really mess with that. He's going to keep it, especially the Fifth Symphony. It's going to have four movements just like this. Now, the genius of Haydn and Mozart was they realized that instrumental music can tell a story. Without words, without characters, we feel that there's a story going on. The music takes us on a journey. And for Haydn and Mozart, each of these movements is a story with a beginning, a middle and an end. So that in a way, listening to a symphony by those earlier composers is sort of like having a book of short stories. Each story is satisfying in itself. And if it's a good collection, they all sort of feel like they fit together somehow. That's a good short story. But you don't have to read all the stories in the book. You can just listen to one and it stands on its own and it's perfectly fine. Beethoven's innovation is he said, I don't want a book of short stories. I want a novel. What's going to make this be a novel with four chapters? And that's what he does in some of the symphonies. Not all of the symphonies, some more, some less, none more than the fifth symphony. The fifth symphony is the most novelistic of Beethoven's symphonies. And that, well, what's the difference between a novel and a book of short stories? When you get to the end of chapter one in a novel, it doesn't feel very satisfying. It's like the story's not over. It doesn't wrap up. You've got to go on to the next chapter to see what happens next in the story. The only story that's going to have the satisfying ending, the only chapter in the novel that will have the satisfying ending, is the last one.  So Beethoven says, I need to come up with a way that the earlier movements are all going to feel a little bit not quite finished, not quite satisfied. You've got to go on to the next one to get the rest of the story. Of course, the trick is to do that without simply writing music. It's bad. That would be one way to do it. But no, he says, I'm going to do it and do it in a great way. That's what's going to make it a novel. So what story does this novel tell? We can kind of sum it up with an old Latin motto per asper ad astra, through hardship to the stars. If you know your Latin or if you're kind of states of the US buff, you might recognize this as the state motto of Kansas. Or if you're a Star Trek fan, any Star Trek fans in here, you might recognize this as the motto of the Starfleet, which the Enterprise is, of course, the famous ship. Through struggle or through hardship to the stars, a story about obstacles, hardships, struggling to overcome those obstacles, and then overcoming them, and that sense of accomplishment and victory that comes through meeting your challenges and exceeding them. That's the story Beethoven wants to tell in the Fifth Symphony. Now, how is he going to do that? He's going to do it using devices that novelists use all the time. One thing is that you use foreshadowing. The early chapters are going to hint at things that come later. So that when they come, you go, oh, yes, that's the perfect thing that had to happen. But then you also have flashbacks or recollections, places in the later chapters where you refer back to things that happened earlier. You go, oh, yes, I see how it all fits together as one big story. Beethoven's going to do that through purely musical means. So what are some of those musical means? He's going to move us from darkness to light, from struggle to victory, and then simply he's going to do that with two closely related keys, C minor and C major. Minor is that darker mode, sadder sounding. Major is a happier sounding mode, a lighter sounding mode. So music that's going to be very much in C minor at the beginning, very much in C major at the end, it's going to give us a sense that we move from darkness to light. But not just that, Beethoven's going to hint at C major along the way. That's the foreshadowing, as if we're going to get over our problems right in the first movement. But it's not quite going to work. And then the second movement, again, a little bit of C major as if we've got to the end, but it doesn't work, it falls apart. Same thing, a third movement. Finally in the fourth movement, C major is absolutely where we are. And by the very end of the symphony, there's just no question we have overcome our struggles. So that back and forth. So now I need to talk a little bit about how first movements work. Back with Haydn and Mozart, and then Beethoven is inheriting this. I said that with those earlier composers, each movement is kind of a whole story in itself. Let's look at how the story of the first movement of the symphony works. In Beethoven's fifth, this is also the way the last movement works. If we can get through this rather technical part, we'll be able to hear what's going on in the first movement and the fourth movement of the symphony. Basically three parts to the structure. An exposition, a development, and a recapitulation. Now those terms are very similar to terms that are used by storytellers in developing a story. If you ever pick up a book on how to write a play, or how to write a screenplay, movie writers, television writers, they use this framework.  But the idea that the exposition is where you introduce your characters, and you put them in a situation, and that situation has a problem. That's the exposition. The development is where you try to solve the characters, try to solve the problem, but for a while they're only making things worse, right? Things get more complicated. But then they solve the problem, we get that resolution. That will be our recapitulation. So those three big parts we're listening for. Let me go into a little more detail. I won't go into too much, but a little more detail. So what's in that exposition? Two main characters. We call it the first theme and the second theme. So these are melodic ideas, musical ideas. They're different. So with symphony the first one is, those famous four notes. But think about this. What is the characteristic of that opening music? It keeps stopping and starting, stopping and starting. Bum bum bum bum, it stops. Bum bum bum bum bum, it stops again.   It can't get started. It doesn't flow. That character has problems. The second theme is sweeter. It's in a major key. Not C major yet, we're going to say that. But it's in a major key, so it's going to be brighter. It's a more lyrical melody. It's a very different character. And then the closing theme is less important. That's just some music that sort of tells us that we're at the end of the first big section. And then if we want to, we can do all of that twice. And Beethoven will in the first movement. The development, then, is where we're going to let things get complicated. All the little bits and pieces of our two characters come back again. But now, harmonically, it's very unstable. The harmony is dissonant and the keys wander around and we can't really tell quite where we are. And that's the complicated part of the story. But then towards the end, things sort of flatten out and we feel like, oh, things are kind of resolving. And boom, we're in the third part, the recapitulation, where everything that happened in the exposition happens again. This is where music's a little different from a play or a movie. It all happens again, but now the problem we had at the beginning, they were in two different keys, gets ironed out. It's all in the same key. So it's like a resolution in the harmony. Now, can you hear that consciously? Probably not, but subliminally, at least, you'll feel that there's sort of a resolution in that recapitulation that wasn't there in the exposition. So what are particular specific wrinkles? Oh, and then at the end, you have this option, you can have a coda. That's like an epilogue. You don't need to have an epilogue, but oftentimes you do. You could just stop right there at this closing thing. What does Beethoven do that are some particular wrinkles in this? Well, I mentioned that stopping and starting is the first thing. That's really odd. The really odd thing is that the first four notes of the piece, we hear in every part of the movement. It never goes away. Traditionally, when you go to the second theme, it's like it's somebody else who's going to stop talking about that first guy for a while. We'll talk about the second person. Beethoven doesn't stop doing it. He gives us this lyrical melody in the background, soft in the background. Bum, bum, bum, bum, bum, bum. It never goes away. This closing theme is just that four note idea over and over and over. We're in a new key, but bum, bum, bum, bum, bum, bum, bum, bum, bum, bum, bum. He hammers away at it. So that's what's odd about his exposition. What's odd about his development? He's supposed to build tension, build excitement. This one does the opposite. It starts very exciting, but then it kind of stalls out. It loses energy. It loses its sense of direction. It stalls out. It fails. So it's some musical depiction of failure because we're a long way from having these problems solved. This is just the beginning of the novel. Then it sort of rallies up enough energy to get into the recapitulation. And that happens. That's fine. Then the recapitulation, I said, everything needs to be in the same key. So he starts in C minor, right where he started. When he gets to the second theme, he goes to C major. Hey, we're in C major. That's going to be the victory key at the end of the symphony. And he gets to the end through his closing theme. He gets to this place where you could stop and everything's just like bright and sunny C major. It's like if it stopped right there, that'd be the end of the story. It's just great. But no, he gives us a code. What does a code do? It throws us right back into all of that mess of the development. And that's where it stops. That's not very satisfying, but it's not supposed to be. It's just where we're going to go. So let's just listen to that first movement together. Let's watch a performance of it. I want to spend most of this time together actually just listening to parts of the symphony together. That's the most talking I'm going to do through the whole presentation. Let's watch a performance of the symphony conducted by Gustavo Dudamel. He's currently the conductor of the Los Angeles Philharmonic. He's slated to be the next conductor of the New York Philharmonic. Yeah, darn good conductor. Here he's Venezuelan. Here he is back in his home country conducting a very fine Venezuelan orchestra, the Simone Boulevard Orchestra. Really fabulous Latin American musicians performing this symphony number one. I've got our little chart at the bottom. I'll point it where we are along the way as we go. I'll try not to talk. We'll just let the music do the speaking. That's really hard for me, but I'm going to try my best. That's a perfectly good ending right there. Bop, bop, bop, bop. That was the end of the recapitulation. Could have stopped right there. We've been perfectly satisfying. That's not what he does. What does he do? Let's get over there. He doesn't seem to code. He's got darkened story. He had the good sense to stop right here. It would have been a very satisfying story about darkness to light. There's some weird stuff in the middle, but it would have been okay. But he puts this coda on the end and throws everything back into disarray. For a moment there, we seem to be right back at the beginning of the whole thing all over again. We've accomplished nothing. Now this chart is not proportionally correct for this particular piece. If the proportions were right, we would have almost exactly equal proportions. Exposition, development, recapitulation, coda. This coda is every bit as big and long as all the other ones. This little optional epilogue part? You might have thought that the piece was over. He's like, no, no, no. We've got a whole other big part of the story to tell. That part is not happy. It's not over. So what he's saying is that this is not a satisfying way to end the story because it's only chapter one. We've got to turn the page and see how chapter two goes. Well, since we know a little bit about how sympathy is working, we know that this is going to be a more relaxing chapter. It's going to bring us down a little bit to a little more relaxation. And he will. He'll take us down to a major key. It's a little lower, more relaxed than we've been in. And he's going to write this as a double theme in variations. Now what the heck is that? A simple, single theme in variations is simply you have a tune that you play nice and simply. And then you play it again, but a little bit fancier. And then you play it again fancier. Still, you add extra notes and stuff. And then fancier, and fancier, and fancier. And that's called a theme in variations. Double theme in variations. You have two themes. We'll call them A and B. A plain, B plain.  That's Haydn loved to do this. And Beethoven's just copying what he learned from Haydn, which is great. The A melody, perfectly normal, what you'd expect in a slow movement. This beautiful, lyrical melody that's all relaxed. The B theme starts the same way. Now it's not going to be cellos. It's going to be clarinets and bassoons. It's going to start nice and calm. But then they don't get very far. Everything is a little uncertain for a moment. Then all of a sudden out of nowhere, boom, trumpets and timpani come in really loud. Trumpets and drums, it sounds very military. Like this army comes marching in really loud in C major, by the way, which in this context is a really distant wrong key to go to. But it's foreshadowing the end of the symphony. But it's like these musicians from the end of the symphony have come in at the wrong place. It's not time for them to be there. So what happens? They just kind of bang it out. So this marching army that comes in just kind of fades away. Darn. And what happens? We go back to the A theme and try it again. But now with a variation. A theme into the B theme, the trumpets come marching in, and then they fade away. He tries this three times. And then he's near the end of the whole movement. So the A theme will come back one more time. Those trumpets aren't going to come back. Then the A theme comes in the weirdest way of all. Instead of being a beautiful lyrical melody in the cellos, it's going to be played by the high woodwinds, the flutes and the oboes. And they're going to play it very... And the bassoons are in there too, all the woodwinds. And they're going to play it staccato, very short notes. So what was really lyrical and flowing is going to become all kind of chopped up and staccato, kind of itchy, scratchy, dry. Okay, I don't want to listen to the entire movement because I want us to get everything in today. But I want to listen to that A and B theme at the beginning. Here's a beautiful cello melody. Clarinet starts off with something sweet, but then the trumpets come marching in, only to fade out. And then I'm going to, if I can, jump overhead and listen to that last variation where the woodwinds get all ghostly or spooky. That's the way I think of it. So let's hear the beginning of this. Let's take it from the top, go back to the beginning. A little fancier this time. We're in that first variation. Now I'll pause. Notice, by the way, I'm sure you've noticed if there's a little lag between what we're seeing and what we're hearing, they're not matching up perfectly. I don't know why that's happening, but it's happening. We can live with it. Let's go to towards the end where that last bit comes out. Let's see. That opening melody is going to come back again. But now it's a little dry woodwinds. Let's see. I think we're picking it up from the end of the last time that the Army comes through. The Army is just left. And we'll go back to the beginning one more time if we can find our way back. I think of these as the ghostly woodwinds. There's something a little spooky about the way they play. What are they doing in this piece? They're foreshadowing. That sound is going to come back a couple more times in this symphony, and it'll make a little more sense each time it does. It'll be very confusing, and then it'll start to kind of fit together. So Beethoven is foreshadowing this. Just like those trumpets coming in are foreshadowing the victory that we're ultimately going to get at. These woodwinds are hinting at what's going to be the last challenge. That's not in this movement. What about the third movement? The third movement is that light movement, either a minuet or a scared so. Here it's a scared so because it's too fast to dance to. But here's the problem. A scared so means joke. It's funny. And this one is not funny. This is a very serious scared so. Why? Because we're still in the struggle part. We're working our way towards the stars, but we're not there yet. So this is going to be a more serious scared so. It starts very quiet and mysterious, way down in the low strings, cellos and basses, start very mysterious, and then the French horns come in strong with the melody. And what's that melody going to be? Ba-ba-ba-bum, ba-ba-ba-bum, ba-ba-ba-bum, ba-ba-ba-bum. And what's that rhythm? Ba-ba-ba-bum, ba-ba-ba-bum, ba-ba-ba-bum, ba-ba-ba-bum, ba-ba-ba-bum, ba-ba-ba-bum. By the way, you may have noticed that that's the rhythm that the trumpets were playing. When they came in the wrong place in the slow movement, they were still that three short notes in a long one. Super slow because it was a slow movement. Here we're getting it closer to the speed we had at first. French horns doing it. So the overall structure of this movement, Beethoven again is being rather traditional, just what he inherited from Haydn and Mozart, a three-part, or ternary form, a-b-a. All that means is that you do one thing and then you do something else. Then you go back and do the first thing again. That's all it is. A-b-a. Nice, simple, easy to hear because this is supposed to be the lightest part of the symphony. Ha-ha-ha. It's not going to be, and we'll find out why. Let's listen to just the beginning of this movement up through where those French horns come in with our four-note idea. And then I'm going to skip over to just the end of the B section and how it goes back into the return to the opening music. And we'll hear how it opens. Can't do that right yet because after the music comes back, it's supposed to stop, right? The traditional symphony, each movement is like its own separate story. It needs to have an ending. This one doesn't. This movement doesn't end. What it does is it falls in a hole in the ground and we have to go through a tunnel to get out again. We go through it, and this is honest to tell you the truth. This is the way it sounds to me. When we get to this moment in the symphony, I feel like I'm in a tunnel underground trying to find my way through the dark. We come out and up again into the light of the fourth movement, the finale, into the bright light of C major and victory and achievement. So we have the old saying, it's the darkest before the dawn. That's literally true in this symphony. It gets very, very dark and then we have the bright light of the finale. So let's talk a little bit about the finale since we're going to have to listen to the third movement go directly into that. It's going to be that same sonata form again just like the first movement. Exposition, development, recapitulation. His first theme is going to be this sort of triumphant, joyous march, which is appropriate now because we've really gotten there for real this time. The second theme will be this very celebratory music where we hear our four note motive from the very beginning of the symphony this time really fast. Da-da-da-dum, da-da-da-dum, da-da-da-dum, da-da-da-dum, da-da-da-dum, da-da-da-dum. So what we had, then we got it really slow, now we're getting it really fast because it's joyous and happy. We'll get a development section. We get a recapitulation that will lead us right back into the opening exposition again and we get a nice normal finale. At least we hope it will be. Let's see if it will be. Third movement going directly into the fourth movement. So I'll give just a little bit of the beginning of this movement then we'll skip ahead here how that opening comes back. The end of the B section then we'll hear that music come back. We're going to go back to the beginning of the movement. Do you remember how it started? Listen it got all staccato and short. It's kind of dried out again. Just like we had that dried out moment in the second movement. Here it's coming back again, drying up closer to the French horns. They turn into woodwinds, ghostly woodwinds, dried out woodwinds. So the first part came back but it lost its energy. It feels all kind of dried out. It reminds me of autumn leaves all dried out. So instead of being big and loud and lusty they sort of did a very quiet little skeleton dance right to the end of the movement. We got down to the hole. We're coming back into the fourth movement. That's supposed to be over and behind us. It's all about the victory. If this comes back, why does it come back? I don't know. You tell me when we're done. Let's keep on listening. One more time. Pause right there in the interest of time. A little spoiler alert. From here to the end it's C major all the way. It's nothing but sunshine and victory from here to the end and that coded a little optional epilogue. We talked about how long that was in the first movement. This one's even longer. It's the epilogue to the whole novel and it's about we made it. We got through the hard times. The good times are here. Let's celebrate and let's take a victory lap around the track and that's the last movement. So the last movement is all about all our troubles are over. We made it through. We can celebrate now. Except for that one little spot. So what was going on there? Where that little bit of the scherzo came back. The weirdest, creepiest little part of the scherzo came back in the middle of the celebration. A reminder where you came from. Let's celebrate but let's not forget that we've been through some hard times together and they're behind us now. Maybe they're not. Maybe this victory that we've worked so hard to achieve is one that we can't just lie back and relax now and say well we made it we're through all of that we don't need to continue to be vigilant because those problems might come back. Even though we solved the problem that doesn't mean those problems will never come back again. You know Ian Forster the British novelist wrote a novel called Howard's End. There's a chapter in that novel where the characters in the novel go to a concert and they hear Beethoven's fifth symphony and he lets us hear one character's thoughts while she's listening to this music talent. And when she hears those creepy parts, those creepy woodwind parts, she calls those the goblins. And she says in the last movement the goblins are all gone but here they come back again for a moment. And she says that's Beethoven saying that although you got rid of them that doesn't mean that they're never coming back and you have to watch for them. And she said that means that Beethoven is very honest. And if he's honest about that that means you can trust him in the other things he says. And that's what makes the fifth symphony great. Thank you folks. So I had a question for you. Does anybody have a question for me? Yes. Any questions? Anyone from Zoom? This was such fun. Maybe we should just have him play more. You could just listen to the end of the symphony. You want to hear a lot of some nature. Would you rather... any questions? Oh, we do have a question. We'll get a microphone back to you. Presentation. So exciting. The music is so exciting. And I just kind of ask a general question. Beethoven puts such energy into his music. It's just amazing. And the use of the orchestra, it's sections to do that. He builds there. And I'm kind of interested in a few comments about innovations he made over Haydn and Mozart to achieve that effect. How does he do that? Well, you know, Beethoven... When he was a teenager, he idolized Mozart. And his great dream was to go to Vienna instead. He lived in Bonn, Germany. His great dream was to go to Vienna and study with Mozart. And he actually got a chance to do that when he was 16. And we think that he had one lesson with Mozart. And then he got a letter from home that his mother was sick and dying. And he turned around and left. Went back home. Had to take care of his family for reasons that are very complicated. Complicated family stories. Can you imagine such a thing? Yeah, Beethoven had a complicated family. So it was a few years before he could get back to Vienna. In the meantime, Mozart died, because Mozart died quite young. But Haydn said, I'll take you as a student. So he studied with Haydn, the other person that he really revered. So he really learned a lot from those two composers. What he learned from Mozart is melodies and lots of them. Just keep coming up with new ideas, fresh ideas. And when things get old, just introduce something new. Something new, something new. Mozart could just create new melodies. They just shook right out of his sleeve, it seems like. What he learned from Haydn was sort of the opposite. How to take one little idea and get the maximum out of it. How many different ways can I twist and turn one little musical idea to get a new way of hearing and a new way of thinking about it? So what's the one little idea that we have in this symphony? And it comes back over and over and it's different every time. That's Haydn teaching. But Haydn never does this. So it's Beethoven taking what he learned from those two and just saying, how far can I take this? Just like they tell stories in each of their movements. He says, I want to tell a story that goes through the whole symphony. He's building on what they did. And that extremely energetic quality. And then the way he's using the orchestra, you're quite right to point that out. Anybody notice that when we got to the last movement, the orchestra got bigger? It actually did. There are instruments that we hear in that last movement that we didn't hear earlier. You may have noticed that there were some trombones playing. They don't play in the first three movements. He saves them for the end. Why? Because trombones are going to have that big regal sound and it's going to be a lot of sort of oomph right in the middle of the orchestra. He wants that last movement to have this oomph that he didn't have before. He also adds a piccolo, which doesn't seem like a big deal, but it brightens the top of the orchestra. So he gets this extra sense of light and light quality piccolo. Save it for the fourth movement. And then the other thing he has is a contra bassoon. That's like this super big bassoon that sounds super low. In Beethoven's time, that was the lowest of the wind instruments. The tuba hadn't been invented yet. He might have used the tuba if he had a tuba. I don't know. But he uses the contra bassoon so he can get super low notes. So he's got this extra oomph at the bottom of this orchestra. He's got this brightness at the top. He's got those three trombones in the middle. So the orchestra is just literally louder in the finale than it was through all the earlier movements. Mozart and Haydn never do anything like that. That's Beethoven saying, I can just bring in extra musicians towards the end. Of course, in the ninth symphony, he's going to bring a whole choir and singers and vocal soloists. But here we see the beginnings of that here in the fifth symphony. A couple of questions, too. It seems to me that Mozart sets out a melody and he keeps it going. And he finishes it and then he repeats it. Yes. Beethoven, I think, is very impatient in it when you're trying to play Beethoven music on the piano compared to Mozart music. Every few measures, he's doing something different. And I find that a kind of impatience. I wonder, is that because he wanted to be modern in some way? Mozart and Haydn maybe were old-fashioned and he wanted to be modern and so he kept changing everything after every few bars. You know, maybe. When he was a young man, he wanted nothing more than to just emulate those two. It's like, if he could write music that sounded like Haydn and Mozart, sort of like put the two together, then that would have been perfectly satisfying in early Beethoven works. Kind of fit that description. But then middle period, around the age of 30, when he starts dealing with his deafness, it all really changes. And that impatience could come out of the fact that he's dealing with very difficult live situations and his temper fluctuates. And I think you hear that in the music. He's not satisfied to be in one place for very long, is he? It's like, he gets antsy and itchy and the music has to go someplace else. This is the guy who's having trouble with his hearing. He's a musician. He's having trouble with his hearing. At the age of 30. So there's a kind of a autobiographical element to it. Yeah, you feel like something's going to explode. I think he felt like something's going to... His friends certainly felt that way about him. He had a very volatile personality. And I think that comes through in his music. You can kind of understand why. There's another question over here. Someone else? Was the fifth symphony considered one of his better symphonies? Yeah, it was very well received right from the beginning. Which isn't always true for a lot of music. No, people really got this. And here's the two things that they got about it. They got that it was telling a story that went from beginning to end. People understood that at the time. And they understood that that story was Beethoven's own story. Now, they didn't know about his deafness, but they just got this feeling that this composer is telling us about his own life. There is personal autobiographical life experience in this music. And it's funny because we sort of expect musicians express themselves in their music. Isn't that what music is all about? But it really wasn't true before this. Like Haydn Mozart, their music is absolutely gorgeous. We don't particularly feel like Haydn is telling us of his innermost secrets. He's just writing really beautiful music that's really great. And it has his personality in it. Same thing with Mozart. But with Beethoven, we feel like he is telling us about his life. And people picked up on that right away. Which is an interesting thing. So in a way, Beethoven changes the way we hear music, the way we listen to music, because now we expect that from music. We expect an artist to put their life into their artwork. But that hasn't always been true. That seems like a universal. But no, we went through thousands of years in the western world of not expecting that from art. And it changes when? Right about this time. Why? Because of this music. It just changed the way we hear music. All kinds of music. We're asking us, going once, going twice, anyone else? Oh god, thank goodness. This is a non-musical question. But I got curious. I thought Haydn and Beethoven worked or lived in different countries. So what city were they together with? In Vienna. So Haydn was born in Hungary, but he came to Vienna for his musical career. Beethoven was in Bonn, which today is Germany and Germany and Austria are two separate countries. But back then they were both still part of the Holy Roman Empire. You can imagine that. We learned about that in history class and it was way, way back. It was not completely gone until, right? A little bit after this. Napoleon kind of brought it into the Holy Roman Empire. So Bonn was politically connected to Vienna and Vienna was the big city where everything happened. It was like, what New York is today? If you can make it there, you can make it anywhere. Vienna was the city where you went if you wanted to have a big career in music. Bonn was not that kind of a place. So for Beethoven, getting to Vienna and establishing himself was a childhood dream that he did achieve. And then he never left Vienna for the rest of his life. So then Haydn had a career in Vienna? Yes, he did. Wasn't he with the Esterhazy? The first part of Haydn's life, he worked for a prince, Prince Esterhazy, a Hungarian name, whose estate was not far from Vienna. And then after the prince's death, Haydn was kind of an independent musician and he lived in Vienna and wrote music for publication, had public concerts, toured, he went to London. But Vienna was his home base for the second part of his career. Since he wasn't working for the prince, was he just composing and then hoping to make money with it? Yeah, this was kind of a tough thing. People hadn't really figured out how to do this much in the 18th century. The idea was that if you're a musician, you get a job either with a church or with the aristocracy. That's kind of it. And Haydn was with the aristocracy and his prince died and the new prince didn't care a thing about music. But he had been publishing music and he found that he actually could make money off the publications of his music and performances himself. And then tours where, because of the publications, he was famous all over Europe. And he got to London. Everybody knew Haydn's music and he was a celebrity, which is interesting because he was past 60 then. It was the first time he'd been working for this little prince in this little tiny estate for all these years, kind of out in the country. And then at 60, he started a new career, a more public career and found out that he was famous everywhere. So he had this great latter part of his life, Haydn did. And those are the years when Beethoven was studying with him. So then Beethoven was also just making music on his own. Yeah, he never worked for an aristocrat the way Haydn did, the way Mozart did some. Mozart had trouble with that whole career path too. But Beethoven found that public demand for his music, you know, orchestras would pay him, write us a new symphony, it'll pay you for it, okay, great. And then other orchestras would play it, they'd publish the music, could make money that way. So he just, it was very entrepreneurial. Thank you so, so much. This was such fun. Thank you so much.


Hi everyone, Sean with jaspyscasebreaks.com here doing a random number block randomizer for the Chicago White Sox in top five star two box pick your team number four which fills up our tops transcendent break so really excited for this works just like every other random number block expected specifically for the Chicago White Sox ten spots everyone gets a number zero through nine if you get the number three you'll get all cards for the White Sox where three is the first number to the left of the slash for example if the card is two forty three out of two ninety nine thirteen nine nine nine three out of twenty five forty three out of forty nine ninety three out of nine nine and so on number three gets a card all redemptions go to the zero spot even if it is a known one of one redemption it will still go to the zero spot any non numbered cards will be randomized to the group at the end of the break any in person one of ones obviously go to the one spot really catch on this this is a filler break for transcendent these spots do not count towards the filler for break credit or transcendent spots but good luck as far as getting something like this for low low price here is our customer list from Matthew down to Nancy and our team are numbers from zero down to nine so dice roll randomized both and put them next to each other here's our tab for the Chicago White Sox random number block three and three six times good luck sixth and final time from Matthew Sims down to Nancy Ripple six there see six on there and now six on the numbers six and final time from two to six Matthew Sims was to Nancy Ripple with five Matthews double filled with eight and zero Nancy Ripple with nine Matthews double filled with three and Nancy with seven one four and six let's sort this by number so Matt with zero gets any and all redemptions for the Chicago White Sox while Nancy even known one of one redemptions while Nancy would get any in-person one of one so there you go that is the random number block randomizer for Chicago White Sox for tops five star pick your team number four two box break I'm Sean jasky's case breaks dot com thanks for hanging out see you for the break


In this module we will talk about again the fermentor design but in this module we will talk about the construction material. As we have seen in our previous module about the geometrical ratio and the dimension that about the height and the width. But when we have decided what will be the shape and the size of the fermentor then the next problem is what will be the material. So that is very critical while talking about the cost of the fermentor. On other hand when we talk about as we have seen in our 13 basic principle of the fermentor design, we have seen that the internal surface of the fermentor should be very smooth. And that we have to run our fermentation for a long time as concerned the aseptic operation and maintaining the containment regulations. So in such cases the construction material is very critical. And we know that fermentation process can be utilized for 5 different ranges of the fermentation in which when we are talking about some metabolite production and we are talking about some acid production like citric acid like formic acid then the pH have to go down and sometime we have to run the fermentation in inclined conditions. So either in case of the sterilization when we have to increase the temperature and then we have to use some acidic material just to regulate the pH then the material of the fermentor is very critical. So we have to focus the two point the cost and the suitable material. So here we will see that there is a different option that can withstand the repeat steam sterilization because when we say that general organization of the fermentation process that for the aseptic operation we have to sterilize the fermentor either in-situ or ex-situ. In case of lab scale fermentor we have to sterilize ex-situ by putting our fermentor in inside the autoclave but in case of a pilot scale and industrial scale we have to use the in-situ sterilization process. So when there will be a heat and we have to be kept in under pressure and we know that in autoclaveing process either sterilization process the temperature normally has to raise at 121 degree Celsius and the pressure at that point that is mostly at 15 pound pressure per inch. So there is two major options one is glass and other is stainless steel. So glass is useful because it gives we know that glass is having a very smooth surface and it is non-toxic, corrosion proof and it is usually easy to examine from the outside. So these are the positive point in glass fermentor but there is limitation but we can utilize the glass material only at the lab scale or to some extent with the pilot scale. So when we are talking about the glass vessel that can be have a round or a flat bottom and the top that flinched with the carrying plate because we cannot keep the top plate because there should be different gadgets we have to attach with the top plate. But there is a option if we want to use the fermentor with the glass material we can kept the bottom as a round glass either we can use a bottom as a stainless and other options. So there is a limitation because when we want to use the glass for the vessel then if we have extra sterilization and then we can only have the vessel width up to 60 centimeter. But in case of a glass cylinder with stainless steel top and the bottom plates so these fermentors may be sterilized in-situ but 30 centimeter diameter is the upper size limit to safely withstand the working pressures when we are talking about in-situ sterilization because then there should be a pressure and sometime there is a double jacked wall because we have to keep the temperature by using the steam and in that case 30 centimeter diameter is maximum because that can only withstand that pressure. So that is the limitation when we have to use the glass as a construction material of the vessels but in later module we will see that what will be the other options.