Тёмный

SUPER SIMPLE MIDI KEYBOARD DIY HOW TO 

LOOK MUM NO COMPUTER
Подписаться 658 тыс.
Просмотров 124 тыс.
50% 1

Making A DIY MIDI KEYBOARD. The super simple way.
Extra stuff like the backing track, extra vids on this project and if you'd like to support :) :-
/ lookmumnocomputer
it also makes @THIS MUSEUM IS (NOT) OBSOLETE get bigger and better
Link To Backing Song :- / megamix-8-pt1-59898141
------------
TO SKIP CODE 15:30
PROJECT PAGE :- www.lookmumnoc...
------------
-------
List of Gear/Electronics I USE :-
www.lookmumnoc...
THIS MUSEUM IS (NOT) OBSOLETE :-
this-museum-is...
------------
THANKUS HUMUNGOUSO to :-
CoFFeeTaBLesE
David Dolphin
casey
Miles Flavel
Scott Armstrong
worldofchris
Casey
MattFollowell (PDP-7)
Nicole LArett
-------------
if you want to donate to the electronic component fund! Paypal :-
www.paypal.me/...
-------------
SPOTIFY :- bit.ly/LMNCSpotify
Facebook :- / lookmumnocomputer
Website :- www.lookmumnoc...
Instagram :- / lookmumnocomputer
#DIY #HOWTO #ELECTRONICS

Опубликовано:

 

7 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 514   
@Gl1kk3r
@Gl1kk3r 2 года назад
I have been a programmer for 30 years, and this has to be the BEST coding tutorial I've ever seen! Even despite the need to yell "SEMICOLON" at the screen.
@somatt
@somatt Год назад
Yes but also he could have made it a bit easier to remap later by assigning his channels and notes and velocities in variables before running the variables into the midi function.
@djlehara
@djlehara Год назад
agreed....ARDUINO FOR DUMMIES!! love it.
@linzenmeyer
@linzenmeyer 8 месяцев назад
I know yall know he isnt an idiot and probably knows more about coding than he lets on....which is brilliant, really, considering he ends up making entertaining for everyone watching.
@guitfidle
@guitfidle 6 месяцев назад
this bippity bop and this swirly thing 😂😂
@jonahsimmons3645
@jonahsimmons3645 2 года назад
I've programed for too many years and this tutorial was pretty good like the code was kinda ugly and he didn't know the name of a lot of the symbols, but he explained it really well and I was kinda blown away with how simple it was with the midi library
@LOOKMUMNOCOMPUTER
@LOOKMUMNOCOMPUTER 2 года назад
it is ugly! hs but you know tried tomake it make sense like lego mindstorms ha
@CarpetBombComic
@CarpetBombComic 2 года назад
@@LOOKMUMNOCOMPUTER You're like a mad scientist without a dictionary. If you get the stuff done, it doesn't matter. Comments are great if you can remember them. Some of the functions are pretty intuitive. I don't know this program AT ALL, but took C++ back in the day, so I'm looking at the code and thinking, "oh yeah, this makes sense, I can read it!"
@fullfunk
@fullfunk 2 года назад
@@LOOKMUMNOCOMPUTER if you have a midi keyboard like the one you showed first if its already broken some keys couldnt you take all the guts out and build a interface like this and weld a button to each of the key you want.. and you can keep the faders and rotary aswell just change to another enclosure
@LOOKMUMNOCOMPUTER
@LOOKMUMNOCOMPUTER 2 года назад
@@fullfunk you could. Quite a faff but you should give it a go!
@JaredConnell
@JaredConnell 2 года назад
I dunno the names he gave them made sense to me
@Reliquancy
@Reliquancy 2 года назад
They really did a great job with midi. It’s just been the same connector and data standard forever. Even the new mpe keyboard I got is still just midi over usb but using some extra channels for all the extra expression info.
@LOOKMUMNOCOMPUTER
@LOOKMUMNOCOMPUTER 2 года назад
yeah!!! im glad newer products are ditching the midi over mini jacks and going back to 5 pin din! the mini jack midi is awful haha
@AnalogDude_
@AnalogDude_ 2 года назад
@@LOOKMUMNOCOMPUTER nothing wrong with the mini jack, but they are asking like 20€ for (... or something around that) for a original Arturia jack to din converter. than the fact you can loose it.
@AndreVanKammen
@AndreVanKammen 2 года назад
They even made a nice MIDI 2.0 version in 2020 with better resolution and nice new options but keeping it backwards compatible with the old MIDI. I love these guys, nice simple standard without the BS.
@VAXHeadroom
@VAXHeadroom 2 года назад
I did basically this same kind of project with a set of organ pedals many years ago and found something interesting. I always wondered why the MIDI serial port rate was 31,250 baud - kind of a weird number. More typical would be 9600,19200, 38400... turns out 31,250 is the fastest baud rate you can send from a 20MHz 8051 (which is what I was using for my project). So I'm betting that is the original processor they used for the prototypes :)
@AnalogDude_
@AnalogDude_ 2 года назад
@@VAXHeadroom that would mean they divided 20mHz by 640, not accounting for start and stop bit. but 640 is still a multiple of 10 and 8.
@JuliaGarbe1
@JuliaGarbe1 2 года назад
I wish every coding tutorial was like this. You are the most engaging code teacher I have ever witnessed (and I've worked as a software engineer)
@sobaentertainment6580
@sobaentertainment6580 Год назад
I'm a beginner straight up clueless. This man taught me a lot thanks dude.
@Thetauconqure
@Thetauconqure 2 года назад
The fact that you do not know what a semi colon is, and yet still do what you do with such proficiency lights the way for a huge amount of people who feel they lack the intelligence or ability's due to poor education or life circumstance, keep it up and keep encouraging the people of the world, you are an inspiration.
@fanrco766
@fanrco766 2 года назад
For anyone planning on doing this, at 14:41 he says that there are better ways to do it and he's right! I'm making one right now, and I am restricted as I only have 8 buttons so i came up with a cool idea to share: Use arrays! Have your buttons be stored in some array like int buttons = [ 0,1,2,3,4,5,6,7] ( the pin numbers of your buttons). Then comes the magic. You can have separate arrays for each scale! so for instance you could do something like int Phrygian = [whole/half tone steps away from base note]; int Locrian = [ same thing for locrian] etc.. int Modes = [Phrygian, Locrian...] Then have an array with the base notes: int Keys = [midi for C, midi for D, midi for E... so on]. Now in your logic you can have a variable for what mode you are in, and what key you are in: currentKey = 1; currentMode = 2; And now to send a note you can go through each button and if it is on, add the key youre in to the note on that mode! for(int btn = 0; btn < 8; i++){ if(digitalRead(buttons[btn]) == HIGH){ midi.write( (Keys[currentKey] + Modes[currentMode][ btn ] ); } } Now you can have a knob or button to allow you to switch between keys and modes and your keyboard will only play in the key and mode selected! [for any aspiring coders out here, if you find yourself rewriting alot of the same code, try to find a solution with functions and arrays. Notice how i took his 10 if/else statements and reduced them to just a small loop and a few arrays. And the best part is, if you want to change a note or key or something, you just have to change it in the array and not in each if statements :) ]
@myHorribleMusic
@myHorribleMusic 6 месяцев назад
Nice call. Also good for 8ve shifts
@rasterop1
@rasterop1 2 года назад
I love your teaching style and how you consider all skill levels. Great video.
@shadowcop75
@shadowcop75 2 года назад
He would make a good teacher. (This coming from a Swedish/English teacher for senior high school in Sweden.)
@M1chlos
@M1chlos 2 года назад
LOOK MUM A COMPUTER. Anyway very cool video for newbies in DIY. Arduino is probably best thing to happened for the DIY scene. Makes really hard IC controllers (most often in assembly-type language) programming a breeze. Keep up the good work.
@gabrieldai88
@gabrieldai88 2 года назад
he is coding in a potato, i am pretty sure of that =p
@CollegeHustler
@CollegeHustler 2 года назад
Thank you 🙏. Please make more simple DIY’s. I’ve been subscribed for a long time and have always drooled over the the idea of making my own creation!!! This is the start!
@MrJozza65
@MrJozza65 2 года назад
Brilliant stuff, thanks for this - I can't believe MIDI is 40 years old! I often thought about doing something with a hand made MIDI controller but never realised how simple it is to do. Now I have a gazillion ideas rushing around my brain, can't wait to give this a try!
@SimeonPilgrim
@SimeonPilgrim 2 года назад
“They not hacker man.” Next level. As a long time hacker man, this really reminded me of how I first learned. Very lovely.
@stevebriggs6469
@stevebriggs6469 2 года назад
Some (a lot?) people find coding intimidating and it can be very intimidating. What you did here is awesome! You showed that it doesn't have to be hard. It doesn't need a huge amount of education (formal or otherwise). Who gives a poop if it's clean or "right". Literally JUST TRY IT! :) Nice work :)
@unkowndata2338
@unkowndata2338 2 года назад
Thanks for explaining how to make a midi keyboard! I am a programmer and you did a good job explaining it. I didn't realize how approachable MIDI was, would love to make my own controller now.
@adambalaz4833
@adambalaz4833 2 года назад
i have a qestion . Will be this program good when i want use it as midi for FL studio but i want use usb cabel for conect it?
@makak_zeleny
@makak_zeleny 2 года назад
@@adambalaz4833 you can send midi over serial and convert it on the computer side with midi loopback driver
@mightyheights7331
@mightyheights7331 2 года назад
This is PERFECT TIMING! I’ve been really keen to make an MPC arcade button controller, I was totally put off by the coding aspect. You’ve just changed my mind, thank you!
@guitarguyjones
@guitarguyjones 2 года назад
I was literally *just* about to buy a Midi Fighter today, and then spotted this video. The coding was the part that intimidated me about going diy, but after seeing this I think I'll give it a shot.
@afr65536
@afr65536 Год назад
"Void, that's like a sad void like my heart". Love it. Will keep this in mind when programming in C.
@Skootavision
@Skootavision 2 года назад
On one hand I’m shouting words like “library” and “function” at the screen, but honestly, this is a brilliant intro to MIDI on arduino and that’s something I’ve wanted to get around to for 3 or 4 years and not got round to it. Thanks Sam - great video and really well explained.
@geevee1969
@geevee1969 2 года назад
Gorgeous, you are giving 3 lectures at the same time. About programming, electronics and midi (and humour).
@jannepeltonen2036
@jannepeltonen2036 2 года назад
The main weapon of the Spanish Inquisition.... :D
@zo1dberg
@zo1dberg 2 года назад
You got me at "dot squiggle" lol. As a C# dev, your code is copypasta, but good enough for someone new to get started like you said. Next step would be to put that repetitive code in a method and call it with parameters. It's amazing how simple doing midi on Arduino is, and this video gives me motivation to give it a go myself.
@LOOKMUMNOCOMPUTER
@LOOKMUMNOCOMPUTER 2 года назад
Before embarking on this project get more info on the project page www.lookmumnocomputer.com/projects#/super-simple-midi-keyboard please remember yes this code is clunky, but its designed to not assume people know about arrays etc, its laid out in a linear fashion which i believe is easier to understand, and regarding the code being inefficient, it really doesn't matter in this application. sure if we are doing something that stretches an arduino's function but this is not one of those time.
@sssstarboardvenus
@sssstarboardvenus 2 года назад
Kosmo
@huntabadday2663
@huntabadday2663 2 года назад
TB-303
@BardTheDJ
@BardTheDJ 2 года назад
Another lovely Jubbley project. I have been following you since around 2016 I believe and your stuff is getting more amazing all the time. Thank you for your mad scientist contributions; your work is highly inspiring and appreciated. Just wanted to take a moment to say keep up the good work!
@vectorjoe
@vectorjoe 2 года назад
Atari ST
@AndreVanKammen
@AndreVanKammen 2 года назад
An Arduino
@mikestckl6939
@mikestckl6939 Год назад
this is exactly the kind of tutorial i want for everything ! show whats important , explain what it does with as few words as possible but pack everything important into it and keep it practical and entertaining :D
@piratetv1
@piratetv1 2 года назад
I like the way you showed the coding. When i was learning, it was a lot of. "Do this because i said so". you showed what the commands do and that the names of things don't matter, just that they match, and how the comments work.
@marsupilami72
@marsupilami72 2 года назад
Just before Christmas i modified an old Yamaha organ keyboard - i rewired the keys as a 4x12 matrix and used an Arduino Micro to connect it to my Laptop. As the Micro has native USB support, it can act as a USB-MIDI device with no extra hardware! It takes just the Arduino, a few resistors and lots of wire.
@hogpsking33
@hogpsking33 2 года назад
So cool. Thanks for giving all this information. I think you've finally got me convinced to give it a go.
@apollolux
@apollolux 2 года назад
Groovy video! For a college Embedded Systems class project, I took a toy electronic keyboard and used an Arduino to connect it to a Yamaha YM2151 chip like classic arcade games like Street Fighter 2 used to use for sound. To this day I wish I made it MIDI-capable.
@justingoers
@justingoers 2 года назад
Dude. Thank you for this. I’m a 40 year old dude and all the physical stuff is easy for me to understand but I’ve always had trouble with code. I’ve got some Sanwa arcade buttons hanging out and I’m ready to build this. Thanks!!
@atstrollz6875
@atstrollz6875 2 года назад
the sound of the midi controller is fantastic!
@jimphillips3992
@jimphillips3992 4 месяца назад
Currently building this on an old lump of wood to use as a bass pedal to under my keyboard. I have 12 notes and have added 4 buttons for channel +/- and Octave +/-.......not sure how this will work yet, but fingers crossed. nice video, keeps the amatuers (like me) interested when its not all above our heads!
@squirlboy250
@squirlboy250 2 года назад
You are fing AWESOME!! Please give us more of this type of videos, I've been wanting to learn this stuff for so long, but it always confuses the hell out of me. Thank you brother.
@bradleysanders8298
@bradleysanders8298 2 года назад
I'm a duly appointed hackerey type guru, and I fully appreciate the job you did with the nerdy bits. Good job.
@AyyyGabagool
@AyyyGabagool 2 года назад
I really commend you going out of your way to go super in depth with the coding despite how it's the antithesis of your existence just to keep true to your goal to make this video a beginner's guide. big ups
@yorganyog
@yorganyog Год назад
RU-vid was made for you. Besides the videos of people falling, this is What I like, you just fit in this.
@regplasma7906
@regplasma7906 2 года назад
Your refreshing madness and retro genius always cheers me up.😸
@ChrisLeeW00
@ChrisLeeW00 2 года назад
I love your teaching style. Did I already know how to use the arguing midi library? Well, yes, but getting there I did feel alone and a bit lost until I was able to get the hang of coding. Education is important!
@juschu85
@juschu85 2 года назад
Velocity on note-off messages makes actually sense. For example, you could control the release time. Lower velocity -> longer release.
@krazykris3279
@krazykris3279 2 года назад
Sam you‘ re hard workin man. God bless you for your kind presence here on planet earth trying to entertain us with knowledge! knowledge is key to provide the world with a lot of empathy... and words or idioms are fuel for the brain to live the culture. I hope to see you at the superbooth, you’re a wonderful speaker, musician and inventor. greetings from a french guy with latin roots living in germany working in the software consulting business since 1996 (dedicated hip hop head since 76, making music back in 87 and now turned into a synthesizer and martial art lover). love ya mate!
@minimumviablepizza
@minimumviablepizza 10 месяцев назад
Great video and thank you for explaining the code rather than telling everyone to just go download it. I learnt heaps!
@plapbandit
@plapbandit 2 года назад
MIDI's a beaut. I've got an old knackered-out (all synth chips dead) Yamaha Electone B35-N organ from the 70s knocking about that I'm waiting to convert into something mean. It's a lot of keys (two sets of 55 or something close to that maybe) with loads of pistons, pedals and levers to wire in. I've got a few candidate arduinos knocking about, but I haven't decided which one to use yet. Thanks for the inspiration needed to tackle the thing. The plan is to build a synth PC i've already prepared (forgive me) into the side. Can't wait to enter shift-register hell getting all those to work
@gavster89
@gavster89 2 года назад
Probably easier to use a load of I2C port expanders, you can put 4 or 8 on the bus depending on how many address channels they have and if you have a MEGA they have multiple I2C ports.
@rjgscotland
@rjgscotland 2 года назад
Nice timing, I went through this same process the other day. Except mine's a remote controller for a t.c. Finalizer mastering processor that's now become my living room speakers EQ/compression at night. I wanted a nice way to control it so used one of the retro beige Hammond slanted desktop enclosures with the wooden sides. Gonna look sick.
@jts-jc8jk
@jts-jc8jk 9 месяцев назад
Thanks so much for explaining how this works.
@danpedersen55
@danpedersen55 Год назад
Thank you for this !!! You made it easy to understand, and that is the important thing for me. When I understand it, I can always streamline it in the future 😊👍
@eddygettytv1031
@eddygettytv1031 Год назад
Thank you, thank you, thank you! I’ve been trying to piece together all this info through separate videos and tutorials, and look mum, it’s all HERE!!! You make the world a much more understandable place. Headed to Patreon to pay my course fee, haha!
@zedcarr6128
@zedcarr6128 2 года назад
I've always wanted to know a simple way to make a custom MIDI pedal board to control my guitar effects. I didn't even know that Arduino had MIDI commands, as I've never used any microcontroller system but have always wanted to learn. I'll be looking into this for sure. Great video. :D
@sweater7630
@sweater7630 2 года назад
Super inspiring! I didn't realize I could just knock this still together
@TheSemtexCow
@TheSemtexCow Год назад
Making the code easy to understand is half the battle, sweet tutorial 🤘
@thomasjespersen2399
@thomasjespersen2399 Год назад
Awesome tutorial. Been programming for years, but this was so much fun and super informative as I have never touched midi programming, but needed it for a project. Thanks a ton!
@Trashkhan
@Trashkhan 2 года назад
Thanks ! I will try to do something as I would like to use a pedal synth while playing the bass.. Cheers !
@JuliaGarbe1
@JuliaGarbe1 2 года назад
I'm trying to make exactly this right now but I didn't know where to start, so this is extremely helpful!! Thank you so much for making this video!
@CausticCatastrophe
@CausticCatastrophe 2 года назад
come visit the forum linked on the project page in the description! We can help.
@davidhughes3834
@davidhughes3834 3 месяца назад
You really are the best fudging communicator and awesome dude. Thank you heaps for all of your stuff.
@russkalen2337
@russkalen2337 2 года назад
I liked your casual attitude. It makes the whole process, especially the programming, seem less intimidating. Good job! I've been building a MIDI expression pedal because keyboard velocity sensing is just not the same as turning up the volume, reverb, or vibrato. And who can do that with a knob while your hands are busy playing the keys?!
@romeisfallingagain
@romeisfallingagain 2 года назад
videos like this are really good. this is what youtube is about. not just showing off stuff, but showing how to make the stuff in use. great job
@electronash
@electronash 2 года назад
4:00 - "Steven, this is Clem Fandango, can you hear me?" lol
@juschu85
@juschu85 2 года назад
When you use variables that just won't or especially if they shouldn't change, you should use preprocessor directives instead of actual variables. So instead of int button1 = 2; use #define BUTTON1 2 It doesn't have to be upper-case. That's just an unwritten rule that's written down very often (just not as an actual rule). You're already using preprocessor directives without knowing when you're writing stuff like INPUT_PULLUP, LOW, or HIGH. They're all over the place in Arduino. Using preprocessor directives for small datatypes should also save some memory which is very limited on microcontrollers. For that to be a problem you would have to make a project which is much more complex to run into problems there. But it also just makes sense that something that isn't variable shouldn't be A variable. With that in mind, you could also just make the variables constant with the const keyword, but that won't change anything on the memory side.
@asp95video
@asp95video 2 года назад
He can make an input array and a midi notes array, or he can define the input int range and the range of the midi notes, or he can define the base offset between the input numbers and the notes.. Out there is a principle called KISS
@DanielSimu
@DanielSimu 2 года назад
Except that #define is super risky to use, if you accidentally use the defined string as part of another string it will still replace it. For example: if you do #define a 1, and then write digitalRead();, it will be interpreted as digit1lRe1d(); const gets compiled perfectly and does not take up more memory than #define, so go for const. And more importantly: int is fine for beginners. use int.
@juschu85
@juschu85 2 года назад
​@@DanielSimu Well, technically that's true, But if you use a more descriptive name than "a", something you should do anyway, it's just very unlikely that this will happen. And correct me if I'm wrong here, but the difference in memory use is that variables, const or not, are stored in RAM and literals, what preprocessor directives eventually become, won't. Every time you use a literal (as long as the number is small enough for a single word data type), it's taking up one word in flash and every time you're referencing a variable, the address also takes up one word in flash. So that's basically the same. So it depends on the question if you're running short on RAM while it won't help you much when you're running short on flash. Of course, that won't be much, but that's why I wrote it won't be a problem in smaller projects, so as you say, it's not a problem for beginners, but even beginners should start to learn good habits instead of unlearning what they've learned later. Even when I don't think about why this makes sense, I just look at how preprocessor directives are all over the place in Arduino itself at that they probably did it for a reason.
@juschu85
@juschu85 2 года назад
@@asp95video Yes, "keep it simple, stupid", but I don't see how using preprocessor directives isn't as simple using variables. Using arrays might be the more elegant solution, but my comment was more about variables vs preprocessor directives in general than about this particular case.
@DanielSimu
@DanielSimu 2 года назад
@@juschu85 Feel free to keep on using #define, but I disagree that it is unlikely to happen. For example, in this video there was an int button1 and an int button1beans, if the first had been #define button1 you would have gotten issues with the second. On a recent memory limit approaching project I had a look at replacing all the consts with #define just to test, and the arduino compiler showed no difference, the sizes were exactly the same. Why would the compiler treat a const differently anyway?
@robertc2116
@robertc2116 2 года назад
THANK YOU! I've been wanting to make a MIDI keyboard for a while but was at a loss for where to start.
@mattmilford8106
@mattmilford8106 2 года назад
Years ago I wanted to electrify an organ console I got. Two full manuals of 61 notes, pedals of 32 notes, 32 stops, and a swell pedal. I didn't even consider not using multiplexers, but I also never finished it.
@DrRusty5
@DrRusty5 2 года назад
I'be been going down the Arduino rabbit hole recently (not MIDI) and it is so incredibly easy to program and get results.
@DrRusty5
@DrRusty5 2 года назад
I have found "ternary operators" are incredibly useful to remove annoying "if" statements, as it sets up a "true" / "false" argument that puts everything on one line. ? : ; I haven't tried it but would this code work? (digitalRead(button1) == HIGH) ? (MIDI.sendNoteOn(36,127,1) : (MIDI.sendNoteOff(36,127,1);
@makeavoy
@makeavoy 2 года назад
I love how he warned the next bit for coders might offend us but i've never laughed harder
@blaupause4048
@blaupause4048 2 года назад
you're absolutely one of the most amazing guys on youtube
@TRIPPLEJAY00
@TRIPPLEJAY00 2 года назад
Sam you're the main man I've always wanted to make a custom midi drum pad thinking bash box. You have helped me jump a big wall I thought was impossible to climb. Thank you Bro 😊 🙌✌
@nand3kudasai
@nand3kudasai 2 года назад
Omg i loved this video. Im a long time game developer/teacher and i found this tutorial the most hilarious yet useful/engaging I've seen. It reminds me that you don't need fancy code to do amazing things. I really wanna try these. (And yeah there were many ways to optimize but is true that that way is easier for beginners (and 100 times more hilarious and creative)). (I watched this to get offended but failed) "There are no real rules at all!" love that, man ! You say you're not hackerman, but this seems like hacking to me.
@Seansquatch7
@Seansquatch7 Год назад
i feel this video was made in spite of another video.. one i refuse to sit down and watch for over an hour.. don't care, i love it.
@reao
@reao 2 года назад
Great write up!
@mannequinman
@mannequinman 2 года назад
Speaking as an old code hacker and midi fan, it was great to see this section of this project on coding to generate midi on the Arduino. As you say, it could be optimised, but your point was to make it easy to follow for non programmers, and in that you succeeded. Please do some more. ‘;’ is a semicolon. It’s basically there to make the job of the language compiler/interpreter easier as there is no ambiguity as to the end of the line. It was chosen as it’s a rarely used symbol and non-arithmetic, possibly because assembly code, from which high level languages like C/C++ grew, used it to mark the start of a comment; and yes, there was a language called B which came before C.
@LOOKMUMNOCOMPUTER
@LOOKMUMNOCOMPUTER 2 года назад
Aaah I remember us talking about you messing about with midi!
@mannequinman
@mannequinman 2 года назад
@@LOOKMUMNOCOMPUTER cheers Sam, great gig :) I have a denshi block kit in the garage somewhere that I’d like to donate to the museum. Will take a trip over when you’re open later this year. I remember most of those everyday electronics issues :) think I threw the mags away though.
@tutacat
@tutacat 2 месяца назад
If you use a variable, then you don't have to make it repeat the on command while held. A debounce is also possible.
@dizfoster
@dizfoster 2 года назад
This was a great tutorial! I use arduino for other projects but have never built a midi controller. Didn’t realize it was so easy!
@jonathanyeich271
@jonathanyeich271 2 года назад
Bought a pro micro 2 days ago! Perfect timing, cheers!
@twothreebravo
@twothreebravo 2 года назад
Jesus Christ, I think you just taught me how to code. Well enough to take a class and not be intimidated going in. I was not expecting this. And I'm older than MIDI.
@muzikman2008
@muzikman2008 2 года назад
ditto!
@kassutronics
@kassutronics 2 года назад
Nice! I would strongly recommend to follow the midi standard and put a 220ohm resistor in series with the 5V wire to the midi connector. It will probably work without because there should be also a resistor on each midi in port too, but if both of them are omitted it will result in a blown optocoupler...
@LOOKMUMNOCOMPUTER
@LOOKMUMNOCOMPUTER 2 года назад
ofcourse, but almost everything has a resistor that has not been made by me so its ok haha. to be honest i usually never bother with opto couplers on the midi inputs haha. its just a digital signal stream, i have not come up an issue yet. obviously there can be issues but works for me :D. and when imake proper midi things i include optocouplers, but most of the time i just wire straight to midi socket on each sides
@rjgscotland
@rjgscotland 2 года назад
Yeah I was thinking the same. Agree you may not need it if you're just bodging your own projects together, but the issue here is that if you were to plug this into some proper synth you may blow up the optocoupler inside it if you exceed the max current of the LED :D.
@SimpleDIYElectroMusicProjects
@SimpleDIYElectroMusicProjects 2 года назад
​@@LOOKMUMNOCOMPUTER I agree that for my own circuits, I often don't do "MIDI at the electrical layer" and just connect RX to TX on microcontrollers, and just "MIDI at the software/protocol layer", but as this is being called a MIDI keyboard and has a 5-pin DIN socket it looks for all outward purposes to be for connecting to other equipment, so isn't there a real chance of overloading an input circuit with no resistors? I think the issue is that the MIDI spec works on the basis of assuming a 5mA current loop, and the circuits suggest three resistors to get it - two on the output side, one on the input side. I am not an electronics person, but as I understand things, with an Arduino driving a MIDI circuit at 5V, using two 220 resistors on MIDI out and one 220 on MIDI in (at the other end) gives you 5/660 = 7.5mA (well it will be less as I've not included the diode Vf). But with no resistors in the MIDI out and just the one on the MIDI in, the current is 5/220 = 23mA (again actually less) but is four times higher than the MIDI spec says is required. Some opto-isolators on input circuits will be fine with this (the H11L1 for example has an input current limit of 60mA I believe). However some might be marginal, the commonly used 6N138 might have an input current limit of just 20mA, so any more would strictly speaking be too much for it. As with many things, I'm sure there is margin for error and you'd hope expensive equipment has input protections, so it may be fine. And I'm sure it isn't as simple as I'm saying here anyway (as I say, I'm not an electronics person and there are voltage drops involved across the diodes and things too). I often leave out the suggested buffers on outputs, but for the cost and effort of soldering in two resistors, why take that risk? Or at least, don't call it MIDI or use a 5-pin DIN socket, as a reminder to your future self? Kevin
@LOOKMUMNOCOMPUTER
@LOOKMUMNOCOMPUTER 2 года назад
@@SimpleDIYElectroMusicProjects sure I’ll add a disclaimer to the site and the project. But the margin for error is pretty chunky. Having done this a lot plugging into things I haven’t had any bad experiences but then again maybe that’s luck. A 6n138 for me has been fine for a lot above that. I mean in one project.. the drum trigger sequencer there are no resistors at all anywhere technically it would have burnt out years ago but going strong haha. I probably won’t change my behaviour towards it but I’ll mention it on the project page.
@LOOKMUMNOCOMPUTER
@LOOKMUMNOCOMPUTER 2 года назад
@@rjgscotland as said to the other commenter I will add a note on the site about this.
@StrangelyIronic
@StrangelyIronic 2 года назад
Was fun to shrink the code down to basically a couple of arrays and a couple blocks. Micro controllers are a lot of fun to learn with both for hardware projects but also just programming in general. You're limited in multiple ways compared to a full computer of any kind which leads to learning efficiency and a lot of low level tricks to get around. I usually use Assembly and C on 8 bit controllers. Those are also my two most comfortable languages in general so it works out. When I made my own midi keyboard I used a matrix to get all the keys working with a minimal number of inputs needed. A lot like the hand wired or custom pcb computer keyboards I've made just with different firmware more or less. Both are just a series of interpreted switches running to s microcontroller. Still used a lot of inputs to limit and possible ghosting, but also enough to use the pi pico I switched to.
@mhoppy6639
@mhoppy6639 2 года назад
You’ve got the 🔑 you got the secret. You’ve got the keyyyyy to … another place. I’ll get my coat. Great great vid. Learnt so much about midi but still feel as useless as I did before. Oh well. Says more about me than any of you experts who also watch this stuff. 🙏 thank you
@georgemiller2129
@georgemiller2129 2 года назад
I am a software developer. I write Arduino. You get a like because you survived that coding segment. Thought for sure you were about to stroke out on us.
@Lutzifer31337
@Lutzifer31337 2 года назад
i for one welcome our new SANTAnic programming overlord! :D
@pamdemonia
@pamdemonia 2 года назад
That coding session was fabulous (and I even know how to code). Thanks!
@JRPapollo
@JRPapollo 2 года назад
I have wanted to build this exact kind of thing. Thank you immensely.
@marcianoacuerda
@marcianoacuerda 2 года назад
What a cool project. Pretty good to get started on midi, arruino or even coding. Also, love the way you named some of the programming symbols haha. I’m going to start calling curly brackets as squiggly things, sound way better :)
@jimgoodinmusic
@jimgoodinmusic Год назад
liked your how to implement the code portion - whole project was great as per your ususal!
@SpectrumDIY
@SpectrumDIY 2 года назад
Heck yeah, that turned out really nice 👌👌😊
@mica4153
@mica4153 2 года назад
Your arduino tutorial is excellent.
@travnewmatic
@travnewmatic 2 года назад
and thank you for taking the time to make these videos i just got around to learning how to solder, and this is definitely on my list of stuff to play with really love your work!
@evanbarnes9984
@evanbarnes9984 Год назад
Crazy to see you pull out my very first keyboard ever! That mk447 took me way back!
@solhsa
@solhsa 2 года назад
That's the most unhinged programming tutorial I've seen. Great work!
@bradseeker
@bradseeker 2 года назад
lmao the code tutorial was fantastic; i got more knowledge from of your explanation than i got in any of my grad courses. frankly, educators should replace their "i have a position of power" attitude with something closer to "i'm going to name this file 'your_mother'"
@garljoens
@garljoens Год назад
Man, you are the best, thank you so much, this makes it so accessible, THANK YOU
@hawkarm6604
@hawkarm6604 2 года назад
A wild Matt Berry appears!! My spirit animal!
@T.Ross.
@T.Ross. 2 года назад
This was super useful - cheers, Sam! A few years ago I got some info on Arduino and MIDI from Notes and Volts, but yours was the push I needed to finally try and actually build something! P.S. Did anyone else notice the tiny image flash at 4:01? "Keep your finger on the f*****g button, Clem Fandango!" 👏😁
@MyEconomics101
@MyEconomics101 2 года назад
10:30 I acutally understood the music theory reference (asking a question ... an answer follows) there, because of RU-vid recommend algo: I've watched in the past some basic music composition videos.
@ActualKaktus
@ActualKaktus 2 года назад
Your synth is perfectly in tune ❤️
@wisteela
@wisteela 2 года назад
Absolutely awesome. Arduinos are great little things. I'm deffo going to be making controllers now.
@WouterWeggelaar
@WouterWeggelaar 2 года назад
I love this and I probably need to give this a go at some point!
@marcvandoornik
@marcvandoornik 2 года назад
Awesome instrucional vid as always, Sam! Just a minor criticism: per the MIDI hardware spec, there should be 220 ohm resistors on pins 4 and 5 of the DIN connector to prevent frying the input optocoupler on the synth you'll be connecting this to. Even though there SHOULD be a resistor inside the controlled synth, I reckon it's better to be safe than sorry. Keep up the amazing work!
@LOOKMUMNOCOMPUTER
@LOOKMUMNOCOMPUTER 2 года назад
Yeah al good tbh I was being lazy: I haven’t bothered so if someone is protective of their synth and I’m around with a midi controller I made don’t let me plug it in ha. I added 220r on the pic on the site when the vid went up al good
@marcvandoornik
@marcvandoornik 2 года назад
@@LOOKMUMNOCOMPUTER Excellent, man! Love all the hacky stuff to bits, just wanted to make sure nobody's equipment would get hurt.
@pvtglarson1
@pvtglarson1 2 года назад
you are just an amazing human being
@CaptainDominic
@CaptainDominic 2 года назад
This has helped me no end, your teaching style is far more understandable than the books I have bought before that start with blink then expect you to know everything else. it has explained how i can build part of a larger project. Have you done a midi input video before?
@gravyboatdrone4060
@gravyboatdrone4060 2 года назад
Yes! This is fantastic. Love it and a great beginners explanation to MIDI. Thanks...I'm not a gravy boat, I'm not a drone 🙂
@conartistprod
@conartistprod 2 года назад
Very helpful for all. Thanks.
@joneschri
@joneschri 2 месяца назад
I love this tutorial. Also as a coder, this was a great demonstration of arduino for beginners. My question is, as someone who makes a lot of instruments, do you recommend any buttons to be used as pads? I am not really a fan of arcade buttons, and want to make something like the old MPDs. So some form of larger rubber button (with pressure sensitivity for velocity).
@martinwall8006
@martinwall8006 2 года назад
Clever fun, inspiring, educational and entertaining!
@TheJasonf8892
@TheJasonf8892 Год назад
Great introduction to coding, thanks!
@Angela_C_2024
@Angela_C_2024 2 года назад
If you like arduino midi controler, I made one following the "Fliper DJ - The Nerd Musician" tutorial. That's cheap and great on Ableton
@charlesdbruce
@charlesdbruce 2 года назад
Cool... can make a set of crude midi foot pedals with this knowledge...
@terrillpercussion536
@terrillpercussion536 2 года назад
Dude, this is fudging amazing...thank-you!
@BartManNL
@BartManNL 2 года назад
I am not an Arduino-master but couldn't resist screaming at the screen about how much more efficient that code could be...
@LOOKMUMNOCOMPUTER
@LOOKMUMNOCOMPUTER 2 года назад
What is it about people striving towards effficient code on simple stuff. It’s not like that in electronics
@LOOKMUMNOCOMPUTER
@LOOKMUMNOCOMPUTER 2 года назад
No doubt it can be but it’s written like that to make sense to people who aren’t one hand in doritos the other hacking the mainframe ha
Далее
Building a MIDI Controller Using Arduino
15:41
Просмотров 636 тыс.
Find The Real MrBeast, Win $10,000
00:37
Просмотров 46 млн
Bro's Using 3 Weapons
00:36
Просмотров 4 млн
Introducing Nopia
7:28
Просмотров 6 млн
Arduino MIDI Controller: Part 1 - Potentiometers
14:02
Просмотров 288 тыс.
How To Make Your Own Drum Sequencer DIY The BIG BUTTON
9:03
Orchestral Programming - The SECRET WEAPON
19:28
Просмотров 84 тыс.