Delay-Based Audio FX Software Implementation (DSP with STM32) - Phil's Lab

  Рет қаралды 12,562

Phil’s Lab

Phil’s Lab

Күн бұрын

Пікірлер: 44
@chaoswires2734
@chaoswires2734 4 ай бұрын
I can't express in words how MVP your videos are.
@PhilsLab
@PhilsLab 4 ай бұрын
Thank you very much!
@HardDiskSpeaker
@HardDiskSpeaker 4 ай бұрын
Your video is always inspring. Thank you for another wonderful video!
@PhilsLab
@PhilsLab 4 ай бұрын
Thanks for your support!
@DawnOfTheComputer
@DawnOfTheComputer 4 ай бұрын
I don't know which started first, but my two biggest passions have been designing electronic hardware and writing music on my stratocaster. Naturally I've been dabbling with pedal designs for a while. Super stoked to see Phil finally show us how a master does it.
@PhilsLab
@PhilsLab 4 ай бұрын
Awesome, same here - music and electronics seem to be a good fit :)
@Soupie62
@Soupie62 4 ай бұрын
This takes me back - to the first major electronics magazine project I read. The ETI 450 Bucket Brigade Audio delay line, December 1977. Disabling the feedback (or setting to zero) should give you a single echo, and reducing the delay should help produce a chorus effect.
@jsonslim
@jsonslim 4 ай бұрын
Thank you for such detailed explanation!
@PhilsLab
@PhilsLab 4 ай бұрын
Thanks for watching!
@christopherperez3486
@christopherperez3486 4 ай бұрын
Hi Philip, I'm excited to see your new ESP32 hardware design video! It will be very useful to me. Thanks!
@curtkeisler7623
@curtkeisler7623 3 ай бұрын
Sweet tone . . . got the Eric Johnson vibe
@JonDeth
@JonDeth 4 ай бұрын
A coincidence that I was just brainstorming an analog idea today and in looking at the more advanced work of others, had to assume the stability branches strewn about the circuit came at a more advanced stage of a prototype. *In that the desired effect was achieved and then immediately following that process, instability or undesired signal traits were discovered from test and analysis and resolved with additional architecture.* It's relative but I won't even attempt to tackle digital until the end of this year.
@PCBWay
@PCBWay 3 ай бұрын
That's a beautiful guitar time!
@_a_x_s_
@_a_x_s_ 4 ай бұрын
Quite a clear explanation of this concept and the implementation. I can tell that the sampler can definitely work in this way with variable length and feedback gain as 1. This can be an interesting project to work on!
@luismiguelfrancisco824
@luismiguelfrancisco824 4 ай бұрын
Your videos is simply amazing, man!
@seisette
@seisette 4 ай бұрын
I have given a quick look at your channel. Great stuff. You're probably the only one on youtube who could make a nice zero to hero playlist on the ElectroSmith Daisy Seed, an Arduino-like board with STM32 chip, there's no quality content on that.
@faust-cr3jk
@faust-cr3jk 4 ай бұрын
One possible solution for lowering RAM requirements is simply replacing 32 bit floats with 16 bit intergers and then using fixed point arithmetic. Besides, it's extremely likely than external SDRAM will be run at frequency much higher than sampling frequency, so this is not a real bottleneck.
@seisette
@seisette 4 ай бұрын
how does it work? you make a 0.16 fixed representation of 0-to-1 floats?
@andrewlloydwebber2616
@andrewlloydwebber2616 4 ай бұрын
Top notch content, phil
@PhilsLab
@PhilsLab 4 ай бұрын
Thank you very much!
@mr.shredder5430
@mr.shredder5430 4 ай бұрын
nice intro, your craftsman ship are amazing
@PhilsLab
@PhilsLab 4 ай бұрын
Thank you very much!
@EmbeddedEnigma
@EmbeddedEnigma 4 ай бұрын
keep em coming
@brandontay2053
@brandontay2053 4 ай бұрын
Amazing video as always! I would like to understand more about the hardware design of the custom board. Would it be possible to access the schematic? Thank you!!!!
@PhilsLab
@PhilsLab 4 ай бұрын
Thank you - I'll be making a hardware walkthrough video on this board at some point!
@Mrpeacemaker2
@Mrpeacemaker2 4 ай бұрын
Definitely nice work . Few questionos: 1. Will be schematic available for us? 2. Are there any noise interferences (hum) when you add gain on your amp? 3. If you use this MCU how much max. delay in sec you can get (16- bit mono)?
@PhilsLab
@PhilsLab 4 ай бұрын
I'll make a hardware walkthrough at some point. Noise floor is below -90dBu - so you'll have to add quite a bit of gain/volume to hear it. This particular MCU has over 1MB of ram - so a couple of seconds of delay, with reduced sampling rate and bit depth.
@wolpumba4099
@wolpumba4099 4 ай бұрын
*Summary* *0:00** Introduction:* This video details the software implementation of a digital delay effect using C on an STM32 microcontroller. *1:44** Hardware:* * Similar structure to commercial delay pedals (TC Electronic Flashback used as an example). * Analog Input/Output with jacks. * Analog front-end circuitry for filtering, amplification, and attenuation. * Codec (ADC and DAC) for analog-to-digital and digital-to-analog conversion. * STM32 microcontroller as the DSP (Digital Signal Processor) instead of a dedicated chip. *4:52** Delay Line (Heart of the effect):* * Implemented using a circular (ring) buffer in software. * Stores a certain number of audio samples (determined by the desired delay time). * Output is simply the input delayed by the defined length of the buffer. *6:58** Digital Delay Structure:* * Uses an IIR (Infinite Impulse Response) comb filter with feedback. * Input signal is summed with a delayed and attenuated version of itself. * Three primary controls: * *Delay:* Controls the length of the delay line (time between repeats). * *Feedback:* Controls the amount of delayed signal fed back, affecting the number of repeats and decay. * *Mix:* Controls the blend between the dry (original) and wet (delayed) signals. *9:34** Advanced Delay Structures:* * Can create different delay effects (tape, lo-fi, modulated) by modifying the basic structure. * Examples include: * Adding filters in the feedback path for tonal shaping. * Splitting the signal into multiple frequency bands and applying separate delays. * Using multiple delay lines with a matrix of feedback and feedforward paths (used in reverbs). *11:14** Practical Considerations:* * *Stability:* Feedback loops require careful design to avoid unwanted oscillations. * *Memory:* Delay lines require significant RAM, especially at high sampling rates and bit depths. * Solutions include adding external RAM, downsampling, and reducing bit depth. * *Parameter Changes:* Abrupt changes to delay parameters can cause audible artifacts. * Solutions include smoothing control changes with low-pass filters and limiting changes to when the effect is inactive. *14:30** C Implementation:* * Uses a struct to hold delay settings (mix, feedback, delay line length) and the delay line buffer. * Key functions: * `delay_init()`: Initializes the delay structure and clears the buffer. * `delay_update()`: Processes each input sample, implementing the feedback and mix controls, and managing the circular buffer. * `delay_setLength()`: Calculates and sets the delay line length based on the desired delay time and sampling rate. *22:30** Test Set-Up:* (No specific timestamps for sub-bullets, but they fall within this section) * DSP board connected to guitar, audio interface, and potentiometers for control. * Debugging tools used to monitor variables and frequency response in real-time. *24:54** Demo with Guitar:* (No specific timestamps for sub-bullets, but they fall within this section) * Demonstrates the effect of adjusting mix, delay length, and feedback controls on the guitar sound. * Highlights the characteristic sound of a digital delay effect. *27:35** Outro:* Concluding remarks and call to action for viewers. i used gemini 1.5 pro to summarize the transcript
@edgerokoth7234
@edgerokoth7234 4 ай бұрын
Hello Phil, thanks for these insightful videos. They are really helpful. However, why did you stop doing comprehensive project orientated design from schematic all the way upto pcb output files. I think this was one of the best approaches as it is highly student and beginner friendly. For instance there's the stm32 bluetooth hardware design you did in kicad sometimes back, it was really good.
@kettusnuhveli
@kettusnuhveli 4 ай бұрын
I know this has nothing to do with this video but did you ever do that ferrite bead video you mentioned you would in episode #86 ?
@LaChaineDelEmbarque
@LaChaineDelEmbarque 4 ай бұрын
Could you ad a chorus effects also using stm32h7 ? Do you think H5 series are good enough for this application ? Great video as usual btw !
@PhilsLab
@PhilsLab 4 ай бұрын
Yep, Chorus is definitely on the list of videos to make and quite similar to delay. Only used the U5s so far but those are great - H5 looks good as well will have to try that!
@olivie1995
@olivie1995 4 ай бұрын
What about interpolation? Without it you cant change delay parameters in real time, especially lenght of delay
@hasanthesyrian_
@hasanthesyrian_ 4 ай бұрын
What are some sources to learn electronics for effects/pedals?
@PhilsLab
@PhilsLab 4 ай бұрын
I'd suggest all books by Douglas Self, in particular 'Small Signal', as well as 'The Art of Electronics'.
@jangornjec6210
@jangornjec6210 4 ай бұрын
Is that a Jim Root signature?
@PhilsLab
@PhilsLab 4 ай бұрын
It is!
@Heisenberg2097
@Heisenberg2097 4 ай бұрын
FPGA would make more sense to have an advantage over other methods that just have too much latency.
@Rasenschneider
@Rasenschneider 4 ай бұрын
I had the bigger Flashback Delay. It sounded horrible.
@Javilon2717
@Javilon2717 4 ай бұрын
Did I hear a bit of the intro to Cliffs of Dover from this live version? 🤩 kzbin.info/www/bejne/a3_HaHiQaNBmb9U
@PhilsLab
@PhilsLab 4 ай бұрын
Yep! :)
@LabSkaterPussies
@LabSkaterPussies 4 ай бұрын
Is this project going to go on your GitHub at some point?
@PhilsLab
@PhilsLab 4 ай бұрын
Yeah, at some point I'll make it open source.
Digital Filters Part 1
20:15
element14community
Рет қаралды 289 М.
Smart Sigma Kid #funny #sigma
00:33
CRAZY GREAPA
Рет қаралды 17 МЛН
How many people are in the changing room? #devil #lilith #funny #shorts
00:39
SIZE DOESN’T MATTER @benjaminjiujitsu
00:46
Natan por Aí
Рет қаралды 5 МЛН
DSP Overdrive Algorithm in Software (STM32) - Phil's Lab #117
32:52
Mixed-Signal Hardware/PCB Design Tips - Phil's Lab #88
18:20
Phil’s Lab
Рет қаралды 45 М.
Creating Guitar Effects with DSP
20:47
sourceaudioeffects
Рет қаралды 21 М.
Comb Filters & Delay Lines in Software (STM32) - Phil's Lab #124
29:12
Group Delay vs Phase Delay: What's the Difference? [DSP #18]
13:54
Z-Transform - Practical Applications - Phil's Lab #27
26:02
Phil’s Lab
Рет қаралды 55 М.
[#23] FFT Spectrum Analysis - Audio DSP On STM32 (24 Bit / 48 kHz)
14:33
YetAnotherElectronicsChannel
Рет қаралды 32 М.
How to Select the Best STM32 Microcontroller for Your Project
21:37
Predictable Designs
Рет қаралды 14 М.
I2C Hardware & PCB Design - Phil's Lab #132
34:50
Phil’s Lab
Рет қаралды 45 М.