Magpie Stuff
  • Picolua MVP

    Moved
    Lua Pedal
    2 6 37

    replicatR
    20
    1

    Overview

    I think we need an MVP project for picolua. Totally possible to make it with with M2M and I think we should still do that but I just don't understand enough about that project yet and I don't have enough confidence in picolua yet either.

    So what does that project look like? No matter what it is, it wont be super trivial. So it needs to be something actually worth doing. At the same time it needs to be as trivial as possible so we can just get it done and learn what we need to learn from it. Maybe it's a thing that gets released or maybe it just a cool thing we make for ourselves. But it does need to be a proper thing.

    Questions in need of an answer

    It needs to answer these questions:

    • What does a finished project using picolua look like?
    • How do users actually load / debug their code?
      • We can really build out the whole load / debug system in a generic way here
    • Are there obvious limitations to picolua we're not seeing yet?
    • Do we really need to use LuaJIT here?
    • How can picolua be improved to make this easier in the future?
    • Whatever else we might learn

    MVP

    So I think maybe an MVP might look like this:

    • Super basic synth
    • Programmable with Lua by end users
    • Some kind of input method (RR1 buttons, ribbon strip etc)
    • Some kind of visual output (LEDs, screen etc)
    • Audio output
    • IDK about midi even

    Another idea that is possibly cooler:

    • Generic FX Pedal
    • Programmable with Lua by end users
    • Some kind of knob or something (maybe 2)
    • Audio IO
  • AnalogWeaponA
    26
    1

    I think your first idea is the best thing for a MVP, if the point is to reduce the non-lua-associated complexities. Having audio input adds about the same amount of complexity as the M2M, I think. I sort of thought M2M was pretty simple, but the overhead of USB device hosting and interpolating the various possible things a user could connect is a distraction from the lua part (in terms of learning). A simple synth engine would be pretty easy. We could do that with a pico and a breadboard. No other hardware needed. We could even do PWM for output.

  • replicatR
    20
    1

    @AnalogWeapon said in Picolua MVP:

    Having audio input adds about the same amount of complexity as the M2M, I think

    What makes you say this? In my mind its just:

    ADC -> sample buffer in -> logic -> sample buffer out -> DAC
    

    I'm probably overlooking something. But what lol?

    A simple synth engine would be pretty easy. We could do that with a pico and a breadboard. No other hardware needed.

    I think a somewhat critical aspect here is having some kind of physical input layer since we need to make sure we have a clear way to handle stuff like that. I think we did a simple synth it would at least need a knob or something.

    I'm totally down with just making this a PWM / Breadboard thing though.

  • AnalogWeaponA
    26
    1

    I guess the assumed complexity there is that we haven't yet done anything with an ADC for actual audio. We've just done ADC for reading control values. If we set up an ADC for audio and it doesn't sound good, and we don't care about that, then the ADC would be pretty simple. There's a chance a simple ADC setup will just sound good. But if it doesn't, there is hardware and software experimenting involved in figuring out why and solving that.

    I'm not saying we shouldn't do that. We definitely should. Just specifically in the context of the "minimum viable" part of this topic, that could potentially be a source being not-so-minimal.

    It's also possible I'm still not completely apprehending the MVP thing. My approach is to only work on things that are planned for release and make mistakes over and over until I get it right. Which I understand is not a viable way to work for everyone. lol

  • replicatR
    20
    1

    @AnalogWeapon said in Picolua MVP:

    If we set up an ADC for audio and it doesn't sound good,

    Yeah IDK what I'm talking about because I dont even understand the potential issue here. In my mind ADC is just ADC and it sounds like whatever bit depth the ADC has.

    FWIW while I dont have the HW side down I should have enough DSP experience to pin down why it doesnt sound good just by looking at the incoming sample buffer, Could be full of shit here though idk.

    Either way, I trust your judgement. So if you are saying that an ADC isnt MVP material then I can accept that.

    BUT a lua powered FX pedal would be dope AF for sure.

  • AnalogWeaponA
    26
    1

    I just know I've done a little experimenting with just slamming dc audio signal into a simple ADC, and it doesn't sound as good as what I expected. I suspect the causes were accuracy of the timing, effective dynamic range (i.e. not matching the input level properly with what the ADC expects and there possibly being some bias), and just accuracy of the actual reads. Normal audio devices that use ADC will employ oversampling, sigma/delta, and other stuff to address all that. If you've used some kind of ADC shield with something like a pico before, and it sounded normal, it was because of stuff like that. This is something we're starting to get into with the codec on Round 2: It's got a lot more going on that simple ADC/DAC.

    I think a kind of crappy DAC is a little more usable because, if there is no audio coming in, there is nothing to recreate, so the dirtiness of the DAC is just part of the nature of the sound rather than an immediately obvious lack of fidelity (ahem, Round Robin 1. lol).

    We do need to find a solution for decent audio ADC and DAC just in general for many projects (Round 2 and beyond). So it is something we have to do anyway. I only bring it up kind of negatively up in this specific context because it's a potential (somewhat likely, I think) complexity that might delay the lua part of this project. Unless this project was ok doing like an intentionally low-fi effects pedal. which, honestly could be pretty cool.

  • AnalogWeaponA AnalogWeapon moved this topic from on