DIY Multitrack Looper (An ESP32 Audio Kit - Arduino audio project)

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 มิ.ย. 2024
  • This little project shows an example to use the ESP32 Audio Kit V2.2 as a multitrack looper.
    The master keyboard (Edirol PCR-800) is connected via midi to the ESP32 and also to my keyboard (Roland FA-06).
    The audio output of the keyboard is connected to the Audio Kit to record and pass through the sound of the keyboard.
    Sounds of the FA-06 can be playbed by the master keyboard.
    The audio out of the Audio Kit is directly recorded for this video.
    The serial output is displayed in TeraTerm (ttssh2.osdn.jp/index.html.en)
    Using the VT100 compatible console allows the simulation of a display.
    The result is just a work in progress...
    The "overdub" in this implementation does directly record to the active track. There is no option to listen and decide if the "overdub" should be kept or not.
    ---
    Sources will be available soon on GitHub: github.com/marcel-licence?tab...
    ---
    More snippets can be found on / marcel_licence
    ---
    Intro: (0:00)
    Overview: (0:20)
    Details: (01:01)
    Volume control: (03:45)
    Time for more improvisation: (04:36)
    Track erase: (05:10)
    Delay: (07:00)
    Track control: (07:45)
    Playback speed: (08:55)
    Another short loop: (09:48)
    What comes next?: (11:28)
  • เพลง

ความคิดเห็น • 49

  • @freeelectron8261
    @freeelectron8261 หลายเดือนก่อน

    Wow, amazing playing and tech! Marcel rocks!

  • @IsraelRoth
    @IsraelRoth 2 ปีที่แล้ว

    Love your creations (projects, and music...) - keep on creating!

    • @marcellicence
      @marcellicence  2 ปีที่แล้ว

      Thank you. Sure there are some more ideas waiting =)

  • @LuisTorres-qz5kr
    @LuisTorres-qz5kr 2 ปีที่แล้ว

    Nice job on the keys, along with the great musical projects you've developed.

  • @BrianOuellette19
    @BrianOuellette19 3 ปีที่แล้ว +3

    Marcel! My dac's haven't even arrived yet for the other projects and now you drop this on us? Awesome man, keep rocking with the esp32 sir!

    • @marcellicence
      @marcellicence  3 ปีที่แล้ว

      I am very happy to have the possibility to try out a lot of ideas =) Sure I will keep rocking xD

  • @gilleslacaud
    @gilleslacaud 3 ปีที่แล้ว

    Great job again so you have test the muticore...good to know...best

    • @marcellicence
      @marcellicence  3 ปีที่แล้ว

      Thanks, but not the first application with multicore. But it works fine ;-)

  • @rocknreplay
    @rocknreplay ปีที่แล้ว +2

    This is absolutely amazing. I have bought and sold just about every looper pedal ever made and haven't exactly found one that meets all my needs, I might just have to learn how to make one of my own!

    • @marcellicence
      @marcellicence  ปีที่แล้ว +2

      Thank you. That would be interesting to build a really good looper. What features are missing on the commercial products?

    • @rocknreplay
      @rocknreplay ปีที่แล้ว +1

      @@marcellicence they all have their quirks. Mostly they have issues with track independence. Say you record a 4 bar loop on track one, you’re limited to a 4 bar loop also on track two. The loopers that will do tracks in multiples of the main track (I.e., you record a 4 bar loop on track one, you can record an 8 bar loop on track 2) have some quirks about timing and how you can bring tracks in and out. Best looper I have found is Quantiloop which is actually an iOS app, so needs a midi pedal. The MIDI pedal I have won’t allow for a long press of any of the buttons.

  • @GadgetReboot
    @GadgetReboot 3 ปีที่แล้ว +6

    Great work! By using your AC101 modification and looper line-in examples, I was able to get the ESP32-A1S running easily. I credited your work in my demo

    • @GadgetReboot
      @GadgetReboot 3 ปีที่แล้ว

      th-cam.com/video/E-prAsOA-VU/w-d-xo.html my final demo uses your looper project as a starting point

    • @marcellicence
      @marcellicence  3 ปีที่แล้ว +1

      @Gadget Reboot Thanks a lot. I am very happy about this =) I also forked the AC101 library because the PLL was not set correctly. In same cases you would not recognize it. But by doing synthesizer stuff you will hear it very easily.

    • @marcellicence
      @marcellicence  3 ปีที่แล้ว +1

      Very nice! I really like the small and compact PCB design. Didn't you had any trouble by using the analog inputs for the pots? I had very unstable readings.

    • @GadgetReboot
      @GadgetReboot 3 ปีที่แล้ว

      @@marcellicence One thing I noticed was I still had to revert to the original AC101 library for some of the original ESP8266 projects like the Talkie speech library because it was generating noise otherwise, so it must have been tweaked to work with the old library. I just keep the working AC101 files within each project.

    • @GadgetReboot
      @GadgetReboot 3 ปีที่แล้ว

      @@marcellicence I should check the readings in serial monitor to see if the numbers are stable, but I didn't hear any changes in the sound fluctuating as if the readings were changing.
      It may be also related to choice in GPIO and differences on other boards if they use the same GPIO for multiple other features and it conflicts.
      Originally I used GPIO12 as one analog in I think, and if the pot was set the wrong way I couldn't reprogram because the pin voltage was wrong for boot up.
      The one issue I did have was the pots can only be read infrequently or else it will interfere with the audio performance and start clicking or making static. I thought the delay gain was too high or something until I slowed down the pot readings and I just accept the lag in adjustments.

  • @laurencediack6537
    @laurencediack6537 3 ปีที่แล้ว

    Amazing project! I have been trying to do something a bit like this for a while, only your approach seems a lot better lol.. Maximum sample size is (PSRAM / number of samples) right? Do you think it would be possible to stream samples from the SD card into PSRAM buffers for a much longer sample length perhaps?

    • @marcellicence
      @marcellicence  3 ปีที่แล้ว +2

      Thank you =) I've stored 16 bit samples (2 bytes). So max recording length in seconds is PSRAM / (SAMPLE_RATE * SAMPLE_SIZE) -> PSRAM / (44100 * 2) for example. You can also try 8 bit and for example a lower sampling rate to get more memory. Yes I could imagine that it could work using the SD card. Reading of maybe 4 channels should work. But I do not know where the limit is. Especially writing needs a lot more time. I did some testing only with reading yet ;-)

  • @drontyqwertz9984
    @drontyqwertz9984 ปีที่แล้ว

    Amazing Project! Do you think it would be difficult to add a midi or smpte sync and a timestretch feature to this? I bought a AC101 and replaced the ES8388 on my AudioKit v2.2 board, since it works, and sounds much better than the es8388, I am euphoric about making a time synced resampler for my mpc3000 on the basis of your code

    • @marcellicence
      @marcellicence  ปีที่แล้ว

      Thank you =) Time stretching might be possible like implemented on the DJ-ing feature. You can handle your record like a tape somehow. I didn't find a good way to get the exact clock from MIDI yet. For example to calculate the delay time for a synced delay you need the exact time between the clock messages. It looks like there could be a way to implemented it but that requires to go very deep into the ESP32 core.

  • @hnzz
    @hnzz 3 ปีที่แล้ว

    Greatwork ! Quick question : it seems you are using the arduino ide for development. as i also did receive my audio-kit i also would like to use this ide but i don't see the audiokit as a target board among all the esp32 boards. Which board did you choose as target ?

    • @marcellicence
      @marcellicence  3 ปีที่แล้ว

      Thanks! Yes I used Arduino and selected Board: "ESP32 Dev Module". In addition to that set PSRAM: "Enabled". It might be possible to create a board which can be used by all arduino users but I do not know how :-(

    • @hnzz
      @hnzz 3 ปีที่แล้ว

      @@marcellicence Works ! Thanks ! esp-adf was driving me nuts and this seems just to work !

    • @marcellicence
      @marcellicence  3 ปีที่แล้ว

      @hans pronk Perfect! I remember getting a clean signal out of the Audio Kit was also really challenging (the correct setting was also tricky)

  • @DonLuca27
    @DonLuca27 2 ปีที่แล้ว

    Mindblowing project!
    What screen did you use?

    • @marcellicence
      @marcellicence  2 ปีที่แล้ว +1

      Thank you. The screen in this video is just CGI (screen capture of TeraTerm windows software). I think I will make a little project to get a real display which will be VT100 compatible =)

    • @DonLuca27
      @DonLuca27 2 ปีที่แล้ว

      @@marcellicence Nice! I'm looking right now at the cheapest options which are ILI9340 and ILI9341, maybe the 320x240 resolution can be enough for this application...

    • @marcellicence
      @marcellicence  2 ปีที่แล้ว

      @@DonLuca27 Yesterday I tried to use the IL9341 to print out the Serial data. In general it does work but the library seems to be too slow. For static screens and small changes it is no problem. But a full refresh is clrearly visible :-/

    • @DonLuca27
      @DonLuca27 2 ปีที่แล้ว

      @@marcellicence ah, man, that's a pity.
      Still, you've definitely won a new subscriber, I'll stay tuned for future developments!

    • @marcellicence
      @marcellicence  2 ปีที่แล้ว

      @@DonLuca27 Thank you =). The ESP32 should be capable of a quicker refresh. I have also one nextion display here but never used. It still plays always the demo xD

  • @chasewatkins3096
    @chasewatkins3096 ปีที่แล้ว

    Do you think this could do retrospective looping? That is, pressing a button that captures the last x number bars you played from a buffer

    • @marcellicence
      @marcellicence  ปีที่แล้ว

      It sounds possible. I think the challenge is the memory organization. If you remove one track it could be used for a buffer keeping up to 4 bars

  • @InterplainMusic
    @InterplainMusic 9 หลายเดือนก่อน

    Does this work with the ES8388 chip or does it have to be the DAC101S101CIM. The latter is not easy to find. Also what screen are you using. Looks a great project.

    • @marcellicence
      @marcellicence  9 หลายเดือนก่อน

      It should work with the ES8388 chip as-well. I updated some projects in the meantime to have an independent audio layer which deals with the audio codec. I guess you mean the X-Powers AC101 codec instead of DAC101S101CIM which I've found in my first audio kit.

    • @InterplainMusic
      @InterplainMusic 9 หลายเดือนก่อน

      @@marcellicence Thank you for you reply.

  • @synaesmedia
    @synaesmedia 2 ปีที่แล้ว

    Anyone know if it's still possible to get this ESP audio kit. Everywhere I'm looking it seems out of stock.

    • @marcellicence
      @marcellicence  2 ปีที่แล้ว +1

      I still get some results: www.google.com/search?q=esp32+audio+kit and theyseem to be in stock on the found platforms.

  • @marcellicence
    @marcellicence  2 ปีที่แล้ว

    The "fake" display is now available as a "real" implementation: th-cam.com/video/1I_dJHwim2w/w-d-xo.html

  • @randommcranderson5155
    @randommcranderson5155 3 ปีที่แล้ว

    tbh these videos are pretty boring. I'd rather a video on how to set up the module so it works than a demo for a module I don't know how to set up.

    • @marcellicence
      @marcellicence  3 ปีที่แล้ว

      Thanks for the feedback. There are a lot of great youtube channels explaining how to set up arduino etc. so I decided not to cover this stuff because they are much better in explaining things. Btw. I also answered question and helped also using the discussion area on GitHub but maybe I could give it a try in future