← All transcripts

Can I Fly A Spaceship Using a DJ Mixer????? Transcript, AI Summary & Key Points

Scott Manley · 6 days ago · Gaming · 24:00 · EN

Watch on YouTube

Answer

Yes. A DJ controller can fly a spaceship in Kerbal Space Program, although the controls are difficult to learn and the software has bugs.

AI Summary

A small DJ controller can fly a spacecraft in Kerbal Space Program. Python reads MIDI events from the controller, maps them through config.yaml, translates them into commands, and sends them to Kerbal Space Program through Kerbal RPC. The setup provides camera, time-warp, pitch, yaw, roll, throttle, staging, RCS, brakes, landing gear, quicksave, action-group, SAS, map, and translation controls. The interface is difficult to learn and contains implementation bugs, but it is sufficient to launch a rocket, reach orbit, travel to the Moon, enter lunar orbit, and land.

Key Points

  • A compact, portable DJ controller provides jog wheels, faders, crossfaders, knobs, and buttons for controlling Kerbal Space Program.
  • The controller maps camera zoom, time warp, pitch, yaw, roll, throttle, staging, RCS, brakes, landing gear, quicksave, action groups, SAS, map controls, and translation controls to its physical controls.
  • Throttle uses the controller's volume or speed slider, but pushing the slider upward makes the speed go negative in the current mapping.
  • Flying a plane with the controller works, but the controls are difficult to use near the ground because the layout does not naturally match aircraft control.
  • The controller communicates through MIDI, a digital instrument communication standard developed in the 1980s.
  • A Python MIDI library receives the controller events, and config.yaml maps them to controls with adjustable dead zones, curves, and inversion without recompiling the software.
  • The software sends translated commands to Kerbal Space Program through Kerbal RPC and provides on-screen feedback for values such as rudder and pitch positions.
  • A rocket reaches a roughly 100 kilometer orbit using the controller, with SAS preset directions assisting parts of the flight.

Tools & resources

4 items

Links mentioned

🔒 Full analysis locked

Unlock more videos and the full analysis

A credit unlocks one video's full analysis for good — the build steps, the tools and how each was used, the methods behind every use case. Pro opens the whole library instead, and raises how many videos you can analyse a day.

Unlock full analysis — free

Transcript

Searchable transcript of Can I Fly A Spaceship Using a DJ Mixer????? — Scott Manley (24:00). Search for a phrase, then click its timestamp to jump straight to that moment in the video.

Captions sourced from the original video on YouTube, published by Scott Manley. The video, its captions and all related intellectual property remain the property of their respective owners; AINotes claims no ownership. Provided for research, accessibility and search — see the Transcript Notice and Copyright Policy.

00:04 Hello, it's Scott Manley here. Today I bring you a story that is equally highly technical and ridiculous. You don't usually see this side of my office because right now it is full of records. We're remodeling the downstairs and as you may know, I used to DJ. In fact, I still DJ a lot, but this is how I used to DJ with tons of vinyl. These days, I tend to travel with like a DJ controller like this.

00:26 And you might have seen me at the Astro Awards like plugged into a laptop playing tunes with videos attached. And uh I'm going to be, you know, if you're going to be on the East Coast during Max Power weekend, you can see me at the Space Gala. But um well, you also know that I played Kerbal Space Program a lot. And somebody said, "Hey, have you ever tried flying Kerbal Space Program with a DJ controller?"

00:48 And I thought that's a ridiculous challenge. I'm not going to use that one. I'm going to use this one. Now, this is a much smaller, more portable one, right? This one you can actually plug into a phone or you can just stick it in a backpack. The great thing is it doesn't take a huge amount of your luggage. In fact, that one is too long to fit in a standard overhead bag unless you do some Pythagoras tricks.

01:09 But yeah, this has all the controls you need. You get your jog wheels, you get your uh faders, your cross faders, a bunch of knobs, bunch of buttons, and I know how to hook this up to Kerbal Space Program thanks to some Python and Kerbal RPC. Okay, so uh yeah, this is how it's set up. First of all, these are my camera controls, so I can zoom in and out.

01:30 Super easy, right? Uh very important to control the camera to make sure you're pointing the right direction. My time warp is here, which is great. I can just like twist this knob and time goes faster, which is like actually pretty neat. Um, so we got that. Now for our actual pitch and yaw controls, these are unfortunately assigned to these tiny knobs, but they have a centering and the roll is assigned here.

01:52 So you got to sort of keep it in the middle. Throttle is of course the volume or the speed slider. This is actually a speed slider, which I guess makes sense for a throttle, but actually uh pushing it up makes this the speed go negative. So, it's wrong in that direction. Uh, and then there's a bunch of other buttons down here which are assigned to things like um, you know, RCS, brakes, gear.

02:15 Uh, that is actually quicksafe. That's an important one as well to keep around. So, anyway, uh, oh yeah, and then this one lets me select action groups. So, I can trigger different action groups when I need to. But anyway, uh, let's just try flying a plane to start with just to show you how it goes. There is also a button for our SAS and I'm going to try and avoid using that.

02:38 So, yeah, let's hit my staging button. There we go. Throttle comes up. I'll take my brakes off. Oh, and there we go. Let's move the camera up a bit. Actually, let's move the camera outwards a bit. There we go. Uh, let's just yaw just a little. No, that's roll. That's roll. Let's get your board. Let's crap. Crap. Crap. Crap. Crap. Crap. Crap. Crap. Okay, let let's let's get this let's get this airborne.

03:04 Okay, it's a little like the roll is really sensitive in this plane. Okay, I'm going to throttle back as well. I'm going to bring in the landing gear. Okay, we got this. We got this. Okay, so now let's uh let's actually I'm going to have to switch to a different camera mode, right? So, that should work. No. Uh, okay. Pitch up. Pitch up. They'll get thunderstorms out there.

03:29 I really don't want to see those thunderstorms. Let's just turn hard. Oh, there we go. Okay, I need to adjust my camera so that I'm behind the the thing. So, I do that. There we go. That's better. Okay, let's throttle back a whole lot more because this thing has way too much performance. Uh, okay, that's a bit better. So, anyway, you see how this actually can work.

03:55 It's not bad. Uh, it's really hard. And of course, I do have stability control. I can hit that, but you know, I'm still having to fly through that. And I do have the various SAS modes available, but those aren't particularly useful for flying a plane, obviously. Let's let's bring this around. So, yeah, what I'm finding out is that yes, I do have enough buttons, knobs, and sliders on this to actually control a spacecraft, but boy, the learning curve is really hard.

04:22 It is not laid out in any way that makes sense for flying an aircraft close to the ground. Let's get the gear out. Okay, that's better. Come on. No, no, no, no, no, no, no, no, no, no, no. Almost missed the trees there. Just about missed the trees, I mean. Hey. Okay. Bet airborne again. Let's get it level. Oh crap. Oh crap. Okay. Down. Oh well. Look, that wasn't so bad.

05:02 I think I'm ready to go land on the moon. Okay, so this is how it all works, right? Uh obviously the controller is plugged in via a USB but over the wire its drivers actually generate MIDI right which is a digital instrument communication standard developed in the 1980s. And uh you know I learned about MIDI from the Atari ST which I owned which wasn't as good as an Amigga I understand but I did learn MIDI so I sort of ended up coming out ahead.

05:29 Now uh we have Maido here which is like um you know a Python library which will allow MIDI you know to uh to interpret that and MIDI is an extraordinarily simple protocol. It's like single bite messages being sent across the wire. Um so it receives that and it then maps those to controls using a config.yaml which uh is really simple. It means I can change stuff around adjust dead zones curves invert stuff.

05:57 Your whole point is that I didn't need to recompile the thing every time I change something. It's Python though I don't really compile it. Um so yeah we have the various components here. The next part then is that these signals are translated to commands and then the commands are sent to Kerbalpace program via Kerbal RPC. And the some of the stuff is kind of hard.

06:20 It requires context or whatever to understand what's there. But yeah, you know, you can see on the the feedback on the screen showing the rudder position, for example, making sure when we hit zero, we see the pitch, right? And also you can see when I'm selecting things. So you can select an action group and fire the action group by pushing this button or you can select an SAS uh channel and do that.

06:43 We've got load and save. We actually have the translation buttons. I didn't use that because I didn't do any docking, but that totally works. Okay, we have our system back again. Going to make sure stuff's in the middle. Got to throttle up to 100%. Turn on SAS and activate stages. And we are go. Now, uh, this one I'm going to do, I'm going to turn the rocket over just a touch, just a good few degrees, and try to control my pitch that way cuz obviously we need to start getting down range.

07:16 I'm using stability control here probably because I don't know because of of habit, but we've got some fairly potent um fins on this thing that are probably really helping. Now, I do have SCES modes available to me. Oh dear. Let's let's try to keep this in the right place. We're picking up a bit of a shimmy here. There. There we go. Oh, come on. Come on.

07:48 Come on. Come on. Come on. This is So, what I have is rate inputs here. I'm going to throttle this back just a touch. Uh, we get a little bit of performance here. I just don't want to burn up on the way out of the atmosphere cuz that would be suboptimal as we know. There we go. Let Let's hold that attitude. No, hold that attitude. Hold that. Hold it, I tell you.

08:19 Okay, we're almost about to stage. And we have actually staged. I'm going to let this cruise for a second before I hit the stage button. There we go. Okay, so now we are actually pointed in the correct attitude. We get 1 minute 33 to Apple G. Um, and so actually it should probably fire the engine again. the stage. We got the engine firing. Let's bring our apples up outside the atmosphere.

08:48 Going to bring my uh thingy down towards the horizon. And what I'm going to do is is lock that there using SAS. There we go. So, I'm only firing at 50% thrust because I want actually my I don't want my Apple apps to rise too much. So, yeah, we have full camera control here. Look at that. Look. Beautiful. And I person zoom in. Waka waka waka waka waka.

09:12 And that that's not how you scratch. That's just, you know, me pretending to be a DJ. Um I'm I'm a DJ, not a turntableist. Those are two separate things. You can definitely DJ in Scratch, but you can also just play records and be like that cool person in the corner of the room. Um that I I'm the the uncool person in the corner of the room. So I'm not even that level.

09:34 Uh, I'm the guy up on stage jumping around in front of videos of rockets and screaming, "Eat, sleep, space, repeat." Surprisingly effective way to get rocket scientists to party. Okay, let's let's fire this up a little. You know what? Let's actually do this. So So actually there is a different way I can do this. What I can do is I can select my uh SAS ProGrade and se select that and it'll automatically hit the SAS mode which means that I can use a bunch of the standard techniques I would usually use for for getting

10:12 into orbit and everything. So that way like I'm no longer needing to touch this. I can control the throttle and stuff. I can override obviously the stability augmentation system. But normally when you're flying in Kerbal, a lot of the time you're using these just standard preset directions from the system. Okay. So, uh, we're going to get into a pretty tight orbit here.

10:38 And I wonder, yeah, the map does actually work. Great. So, zoom in, zoom in, zoom in. And we're about to get uh, Nope, that's not quite there. Let's switch back. Let's just finish circularizing this. Actually, we're going to go up a little. So, yeah, let's use that time warp a little to get up to the 100 kilometer orbit, right? 7 minutes away for the time warp seems to be a bit glitchy.

11:07 I'll need to figure that one out. But it does work well enough that we can use it for this video. Um, if just if you have if you're one of the people that's sort of, you know, sensitive to flashing lights, don't look in the top left corner. I said don't look in the top left corner. Can't can't take people anywhere. Uh, there we go. There. So, it's now going to Oh, actually, this is perfect.

11:27 Let's just go to the moon. We're just like right on schedule here. Bang. I'm just going to like slam that thing out. We're going to head out towards the moon. Um, now I'm not going to do any maneuver planning. I'm just going to sort of guesstimate where the moon is. Yeah, we got full power here. So, now my Apple apps in the B is rising. If I switch to the map mode, we should be able to see this.

11:50 I should be able to zoom out. There we go. Let's uh let's do that. So, we want to see when that actually gets to about 1300. That's my guess. We're headed to the moon. Again, you know, maneuver nodes are nice, but just being able to see where you're going really helps solve those particular problems. Again, this thing has ridiculous amounts of delta V.

12:13 Uh because we want to make it easy. We want to be, you know, able to handle the various uh limitations of this control interface. So the Apple apps as it gets higher, it starts to rise faster and faster. So I'm going to like bang this, pull this off a little, switch to map, and we already have an encounter. Man, am I good at this or what? It's almost like I have world records in this thing.

12:40 Okay, so at this point, I I think we're just going to head out towards the moon. So we're going to go forwards in time. And I'm going to try and keep the moon in my viewpoint because it's going to come our way soon enough. Let's make sure my altitude's 5,000. That's fine. Um, hold on. I'm going to slow the time down because I need to adjust. I'm in the eclipse right now.

13:08 There we go. Where's the moon? There it is. there. So now again, using the jog and the the jog wheels. We call these the jog wheels because they're for DJs that are trying to like synchronize a record. They basically when you're turning them and pushing down on them, it will adjust the speed of the record that you're playing with. And you can hold the thing on the spot and scratch back and forth if you want.

13:32 So you can drop it exactly on the beat. They're supposed to emulate the way you would do that on a piece of vinyl. the pitch controls on the side, they control the like the static pitch. Basically, you adjust the speed of the record so the beats remain uh synchronized between the two, but of course when you have computer software, it does a lot of that for you all the same.

13:52 Uh it, you know, it's a model of what you would see in the real thing. And then the crossfader, of course, that bounces between the left deck and the right deck. Uh, and that's of course how you glue how that's how you put your tunes together with the perfect DJ glue as we say in the business. Okay, we're about to emerge into the lunar sphere of influence, are we?

14:13 There. No, we're still not there. We're get getting close. It's We're just like hanging up there as the moon catches up. Uh yeah, I think I need to fix this time acceleration code a little. It just seems to keep on resetting to zero or it seems to keep on activating physics time warp or something. We'll get there. Oh, there we go. Okay, let's slow this thing down again.

14:48 Okay, so we get the moon below us. Moon below us. Okay. And I'm going to do SAS uh I'm going to set my SAS to an to retrograde. So, we've got that because we'll be doing that when we get in close. But currently, our Perry apps is 600 km. And I think let actually take a look. So, that's going to put our Yeah, Perry apps on the dark side of the moon. That's fine.

15:13 We'll swing around, drop down to the near side, and then we'll commit to a landing. Okay. So, uh we got to do time warp again. Let's do the time again. 54 minutes. And that's pretty close. That's good enough. Okay. So, now we're on the dark side of the moon. We're firing up retrograde. And we fire up our thrusters. And we're going to drop our per apps down to about 30 kilometers or less.

15:45 So that's us in a bound or orbit around the moon and we're about to hit. Yeah, there's a circular orbit. Now our perap starts dropping. I've cut the thrust down a little and I'm dropping it even more. And there we go. Now you you know you might think that these uh DJ controllers are poorly designed to control spaceships and you would probably be right but you know having looked at what they had to fly the Apollo spacecraft the stuff they had was not welldesigned to fly a spacecraft but they managed because they were

16:23 straight up godamn heroes. Yeah that's right. They were legends. But if you want to know more about the attitude control assembly and the thrust the the translation assembly, uh, Curious Mark and buddies have got their hands on one and they're like doing some engineering to try to resurrect it, make it work. I don't know, play Smash Brothers or whatever with it.

16:48 And here I am coming down. So we are 9 minutes away from Perigee or Per Periloon. Perry moon and that's when we're going to perform our circularization burns that we'll be in low lunar low lunar orbit. And you know what I should do is I should save not because I think I'm going to crash but because the controller has a problem with it. Uh I I I implemented a lot of this but my controller um if I hit this button here it will reload.

17:22 So, I want to make damn sure it's sa quick saving. Okay. So, is this Oh, this is there. There. Come on. Okay, we're we're sort of past peri Perry moon a little. Let's fire this up. Max power. Okay, so on the dark side of the moon, we'll begin our descent towards the surface. That's pretty good. Okay. And let's take a quick look at the moon. So, zoom in.

17:59 Ah, there. That's the crater we should aim for, right? So, we'll we'll aim when we're on the far side of the moon there. So, again, time warp till we're on the other side of the planet. Oh, actually, let's let's just go for it. I'm saving it. We're gonna go for it because we're already lined up for this big crater here. Um, full power. Bingo. We're lined up.

18:21 Switch out of map mode and turn the camera around. Turn that around. So, we're we're inbound. And at this point, I could probably ditch this stage because we're going to be landing on the smaller stage there. So, I'm going to ditch that. Fire up the engine. Engine is hot. Uh, landing gear should come out. Yes, we are prepped for landing. So, we are we're a bit of time before we get there.

18:51 So, we're going to time accelerate again. Yeah, I'm seeing all the bugs now that I'm actually having to fly with it. I'm seeing all the bugs in my implementation. Um, but that's fine. You know, I can handle it. Okay. Now, the other thing I'm seeing is that our speed, uh, we're not getting we're not getting radar altimeter at the top. So, I'm going to override that radar altimeter setup.

19:19 So, we're at an altitude of 9 km, uh, moving 500 meters/s, and I'm going to wait until I'm over the crater area before I begin a harder deceleration. We're going to crash if we don't decelerate. I just want to make sure I don't decelerate so hard that I end up like going into that crater there, right? There we go. Let's Let's apply full power. Now we're over these craters.

19:46 I'm aiming for one of these smooth areas. And so we are in retrograde mode. The thing is mostly just controlling itself. You know what? I I'm going to let this sort of chill for a minute because I want to go I kind of want to avoid this area right here. It looks like kind of rough terrain. And that area there, that kind of looks kind of rough, too. Um, let's roll ourselves into an upright orientation.

20:19 Right. So, I've got pitch up correctly. There we go. That's good. Okay. Good. Good. Uh, and I'm going to turn this off and pitch up because what I want to do is fire my engines just to raise up a little just to make sure I'm going past this. Uh, now SAS retrograde fired up. I think I think I'm just going to go for it. Crap. I think I may have put myself in an even more dangerous spot.

20:47 Pretty good chance I just fall over when I reach the surface. Okay, we're aiming. We're aiming for that spot there. Oh, the drama. We'll fly over this one crater and then we're just going to slam in that power. There we go. We can see rocks on the surface. Okay, we're good. I think we're doing it. We're doing it. We're going for the landing now. I hope I have enough thrust to actually get me.

21:17 I of course I have enough thrust because we're uh because I have like 1g of thrust on this thing. So, this is us down to like 100 meters/s down to like 50. We're doing pretty well here. Let's let's keep that thrust down a little. Got to make sure that we sort of arrive at the target altitude. Um, so we're going to keep that down here. I like to keep my speed, you know, maybe half of my altitude.

21:46 It depends on how much thrust I have here. So, I want to keep my speed onetenth, sorry, of what the uh altitude is. So, we're we're going down. Okay, pretty good. We're doing we're good. We're doing good. Watch my speed a little. 9.6 m/s. Just need a little more thrust so we don't hit too hard. I don't know where my landing side is. Oh, that's us. Apparently, I never got any war.

22:24 Oh, yeah, cuz the shadow was behind me. I was like, where's my shadow? Usually, I've seen my shadow by now, but Numpty had the shadow hidden by the spacecraft. Well, look, I'm going to call that a victory. Uh, so yeah, I can indeed fly a spaceship using a DJ controller. Therefore, I can call myself a space DJ in the most literal way possible. Uh, but there wasn't any music playing at the same time.

22:50 That's mostly because of copyright on YouTube. I would love to share some of my DJ sets, but uh, all the money ends up going to Katy Perry, which, you know, so I guess I'll get back to making far more technical videos. As for this software, yeah, uh, I guess I will put it up on my Patreon. If you're a paid supporter, you you can mess around with it.

23:09 Maybe you have something to do with it. Maybe you can interface it with a flight simulator. After all, flight simulators are so much better if you have lots of extra buttons, and it doesn't necessarily matter if they're exactly the right kind of buttons for the simulator you're flying. Meanwhile, I look forward to the next event where I can use the big DJ controller for an actual party and play a whole bunch of space videos and have a whole bunch of people dancing.

23:32 And uh yeah, maybe I will see you there. I'm Scott Manley. Fly safe. Heat.