No video

ARM Microcontroller MIDI-to-CV: A Straightforward Guide

Пікірлер: 64

  • @TheAudioPhool
    @TheAudioPhool Жыл бұрын

    So i goofed up and set the MIDI baud to 32500 when it should be 31250. Probably a typo initially that i just ran with! Maybe i need a proof reader 😅 It works either way because each bit is sampled at the middle of the bit, and oversampled by 5 times so at these speeds the correct bit is still sampled, which is why i didn't catch it! But set UART 1 to 31250bits/s to make sure your system is as robust as possible!

  • @locussst
    @locussst Жыл бұрын

    Love your videos! This one in particular has some very snappy editing (but not too fast), I appreciate the amount of information you've packed into 20 min :) would love to see you demonatrate midi velocity -> dynamic triggers

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    That sort of stuff is on the way! If you sign up to my patreon you can keep up with regular updates to this project :)

  • @mangehallin
    @mangehallin4 ай бұрын

    Come on now, back on the horse please! I'm actually learning stuff here! 😁

  • @huxley_a5288
    @huxley_a52887 ай бұрын

    Great video! I’m learning alot from you and Moritz Klein here on YT. Please keep the videos coming. Maybe some more microcontroller stuff?

  • @gerardstrik2555
    @gerardstrik2555 Жыл бұрын

    Always a pleasure. And even some Tool! Brilliant!

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    🤘

  • @TheAudioPhool
    @TheAudioPhool Жыл бұрын

    Hi folks! Sorry for the little break from posting. Been a super hectic time for me! I know this video is a little involved and i'm sure some of you will have issues and it will be quite difficult for me to help you, so here's a link to my main.c file (link also in desc.) so that you can compare your code against mine if you get stuck, or just copy my code straight into your project. That will help you figure out if you've made a mistake in your code or in setting up the microcontroller in the STM Cube IDE. Microcontrollers can be hard at first so don't give up if you get stuck! code: rb.gy/nr3kej

  • @tuppyglossop222

    @tuppyglossop222

    Жыл бұрын

    It would help a lot if you didn’t talk at a million mph and edit out every pause between sentences. It is exhausting to listen to 😮

  • @hellcoreproductions

    @hellcoreproductions

    Жыл бұрын

    @@tuppyglossop222 Play at 0.75x?

  • @tuppyglossop222

    @tuppyglossop222

    Жыл бұрын

    @@hellcoreproductions Yes, I could do that, but what I did was to offer you some constructive feedback which would make your videos better.

  • @psynautic

    @psynautic

    Жыл бұрын

    @@tuppyglossop222 who are you talking to at this point? hellcore didn't make the video. I actually like the energy that his new editing style injects into the videos.

  • @kylew706

    @kylew706

    Жыл бұрын

    Love your channel!

  • @guyleee
    @guyleee3 ай бұрын

    Where are you? We miss you? :(

  • @misterthekaitheman
    @misterthekaitheman Жыл бұрын

    Man I love your enthusiasm and constant smiling throughout the video!! Makes me laugh too and makes the video really enjoyable to watch! Keep it bro!

  • @johnsmith-lb4mo
    @johnsmith-lb4mo11 ай бұрын

    Love your video's, pity you don't upload more frequently with different projects and circuits.?

  • @garygranato9164
    @garygranato9164 Жыл бұрын

    brilliant nice to see you making videos again

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    Thanks mate :)

  • @garygranato9164

    @garygranato9164

    Жыл бұрын

    @@TheAudioPhool can you do a step by step serise where you build a pre-amplifier ?? the accuphase clones are very good :)

  • @pete3897
    @pete3897 Жыл бұрын

    Ha ha, you picked the right Tool™ for the job 👍 :)

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    Saw them live last year. Incredible

  • @nathanfinnegan522
    @nathanfinnegan5227 ай бұрын

    Did I just hear Schism? 🤯

  • @psynautic
    @psynautic Жыл бұрын

    you got a sponsorship!!!

  • @yurkshirelad
    @yurkshirelad9 ай бұрын

    Brilliant video!

  • @steveurquhart5895
    @steveurquhart5895 Жыл бұрын

    brilliant work. 🙂

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    Thanks Steve! :)

  • @majordabalert
    @majordabalert Жыл бұрын

    God I love you

  • @FrootyRecords
    @FrootyRecords Жыл бұрын

    I have watched all your videos and they are fantastic, you explain stuff in detail yet is still relatively easy to understand, but this one seams too over complicated, I don't know why you have gone this route rather than using a simple Arduino Nano or equivalent like a lot of people do with a midi library and a cheap SPI 12 or 16bit dac to get nice precision. Code using libraries is much easier to understand for beginners I think. But perhaps you have future things in mind so that is why you are using this? . Anyway , I will watch with anticipation for your next vids. Great work overall!

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    Appreciate the feedback mate. I do have a long term plan for this stuff but I'm sorry to hear you found it difficult. I tried to make it as simple as I can! Thanks for watching and for the kind words :)

  • @LockStoppageSandwich
    @LockStoppageSandwich Жыл бұрын

    My favourite YT channel by far……………..Keep up the great work 👍 Would love it if you would do a series on making our own synths modules. Also a 8 channel matrix mixer.

  • @tarseminakshi95
    @tarseminakshi95 Жыл бұрын

    Sir what is use ossiloscop

  • @hellcoreproductions
    @hellcoreproductions Жыл бұрын

    Not sure if I missed something, but no disabling interrupt during the handler? Or just not worrying about it at MIDI baud?

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    Yeah just not worried and also trying to keep things as simple as possible. The rxne flag is cleared when we read the UART so it works out ok. Nice to see that someone is paying attention though! 😁

  • @hellcoreproductions

    @hellcoreproductions

    Жыл бұрын

    @@TheAudioPhool Makes sense, I'm not really clued on the vendor specific flags!

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    It's a real pain tbh. You have to look up what action clears which flag.. probably easier to just turn the interrupts off 😅

  • @vegansynths7757
    @vegansynths7757 Жыл бұрын

    The patreon link just sends me to the STM website. ?

  • @hellcoreproductions
    @hellcoreproductions Жыл бұрын

    Also is that the I'm Broken bassline at the beginning, or happy coincidence? :D

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    It's Super Collosal by Joe Satriani 😅

  • @hellcoreproductions

    @hellcoreproductions

    Жыл бұрын

    @@TheAudioPhool Oh wow, #whyriffsshouldntbecopyright

  • @pete3897

    @pete3897

    Жыл бұрын

    ​@@TheAudioPhool damn, I could sworn it was a Tool baseline

  • @JMMC1005

    @JMMC1005

    Жыл бұрын

    ​​@@pete3897 Second baseline is TOOL.

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    @@pete3897 There are 2 basslines 😂 First one is Super Collosal, the second one is Schism by Tool

  • @donvukovic7440
    @donvukovic7440 Жыл бұрын

    Please post the demo board you are using.

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    Nucleo F303k8

  • @baddriddimworkshop
    @baddriddimworkshop Жыл бұрын

    Man you're un fcking hero! my concern is doyou actually get fairly paid for what you do...

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    I rely very heavily on my patrons to fund these videos. If you want to support me that's the best way if you're able! Either way thanks so much for the kind words :)

  • @hellcoreproductions
    @hellcoreproductions Жыл бұрын

    PCMR :D

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    😎

  • @AhmetKizilay0
    @AhmetKizilay0 Жыл бұрын

    Great tutorial. I have been wondering about midi to cv solutions. Do 16bits (also with 3x amplification) generate accurate pitch values?

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    16 bits will do great. The board i used has 12 bits and the tracking is good so 16 bits will be 16(2^4) times better!

  • @AQLK87

    @AQLK87

    Жыл бұрын

    ​​@@TheAudioPhool Because of the 12 bit DAC, we have 409.6 unique values per octave, giving approximately a 3 cent resolution. Did you notice this granularity? Looking at the number, it seems a bit big, and much too big for smooth pitch bends. But I have not tried it and maybe 12 bit is actually enough for the regular keyboard notes. I don't know if the uC has more analog outs, but would you recommend an attenuator that scales another 3.3V range down to whatever pitchbend range you want and add it to the 0-10V CV for smooth pitch bends?

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    This is such a great question and something i thought a bit about before i made this video. What i didn't like about a lot of other tutorials is that to use a 16+b external DAC you need to use SPI which i think is quite involved for a beginner, but obviously the tradeoff is that most uC's only have 8/10/12b DACs inside, unless you go onto a fairly big development board or an FPGA or something. That's what makes this board a great pick for this because it hedges those 2 tradeoffs quite nicely i think by giving you a few options. So if we compare a standard midi controller, i'm sure you know this already but pitchbend messages are actually 14 bits long by combining both data bytes. 14bits = 16k levels, bending across +/-2st you get 16k/4 = 4096 steps/semitone in your bend, If you bend over a major 3rd(+/-4st) you get 2048 steps/semitone. Across the full 10v with this 12b DAC you get 34.133(4096/120) steps/semitone at the output of the DAC as you correctly calculated (2.92 cents). Which is fine for the individual notes (off by a max of +/-1.5cents is ok), but for bends, compared to what a standard MIDI controller will ask for (limited to a major 3rd) we are off by a factor of 64. You would be able to hear the steps over a nice slow bend. So, the cool thing about this micro is that is not only has 2 DACs built in, but also has built in op-amps that you can configure in software. So yes you could use the 2nd onboard DAC to output effectively just pitch bend information and then use an op-amp (internal or external) to scale it down to your desired pitch bend range (say 1-4 semitones) and then use a simple op-amp mixer for your final CV output. I didn't include this in the video because it's a little involved to set the op-amp etc but if you're not scared of the documentation you can have a look through it! I would say the easiest option is to set it with an external op-amp and trim it in with a small potentiometer, like i did in the video for the CV output. so lets say you limit DAC2 to going up or down by 2 semitones each way that gives you 4096/4 = 1024steps/semitone or 512steps/semitone for a major 3rd, which is comparable to the output resolution of a 16bit DAC. If you want larger bends i would go down the SPI route and use an external 16 bit or better DAC, which will give you the resolution you need to bend. 16bits over the full 10 octaves gives you 546 steps/semitone, 18 bits gives you 2184 steps/semitone which will give you the needed resolution if you wanted to use all 14 bits of your pitchbend message from your MIDI controller. Thanks for watching and thanks for the thoughtful question!! If you join my patreon you will get updates for this kind of addition to the MIDI controller and a load of other features :)

  • @jozefsoucik3115
    @jozefsoucik31155 ай бұрын

    yeah manim animation.

  • @zetaconvex1987
    @zetaconvex1987 Жыл бұрын

    Looks a man who has typed his code in the wrong part of the file in the past.

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    Many times! 😂

  • @stevenbliss989
    @stevenbliss9892 ай бұрын

    This is your last video, is that permanent?

  • @toobar908
    @toobar9084 ай бұрын

    aw shwucks he ded

  • @BrittDurbrow
    @BrittDurbrow Жыл бұрын

    Really? I thought the status byte was the one that told me I was driving a Rolls-Royce...

  • @lucajones235
    @lucajones235 Жыл бұрын

    'promo sm' 😔

  • @MirlitronOne
    @MirlitronOne Жыл бұрын

    No, too quick for me. I'm old.

  • @donvukovic7440
    @donvukovic7440 Жыл бұрын

    Please post the demo board you are using.

  • @TheAudioPhool

    @TheAudioPhool

    Жыл бұрын

    It's the Nucleo F303k8