I have got the most recent ESP-ADF working with the ESP-A1S Audio Kit, and want to use it for real time processing. I have it working in Pass-Thru but the latency was too long. (41 ms). What i did to shorten it was make the Ring Buffers for the I2S read and write smaller, like 1k instead of 8k, and i shortened the DMA buffers to 300 - straight thru, without any effects, i got it to 4 ms latency!. With 10 band Equalizer it goes up to about 12 ms, Which is tolerable. It uses a lot more CPU, but, for just this config, it is doable. Then I tried playing with Sonic in real time using Pitch, and it almost worked out of the box, but, not quit. That will take some tweaking - and i don't have time to get to that yet. It changed the pitch, but, It gave Watch Dog error executing IDLE, which i take it must mean the CPU couldn't handle it. I ran STATs on it, and it shows 2 IDLE task, I take it those are the 2 cores. 1 is always at 49% idle, without any effect, or with EQ and even with Sonic, so that tells makes me think that all the audio pipeline processing is operating on just the 1 core. Next i will see if i can get Sonic to run on the other core.
But, that isn't what this post was about. I want to add Reverb, and maybe some other effects, which aren't in the ESP-ADF bag of tricks. So, I need to know how to write my own Pipeline Element, like Sonic or Equalizer, that i can plug into the ADF architecture. I know the docs give some idea, but, i was hoping someone has made their own element and could show me where to tap into it with. I I would like to see if i can plug in the FreeVerb C code for reverb effects into the ADF pipeline element Architecture. I just aren't sure how to do that - yet. I know, if all else fails, read the instructions. But, if anyone has done this and can give example or tips? I'l appreciate. Ideally, if anyone has already got FreeVerb or similar reverb code working with the Pipeline structure and could share that, that would be ideal. I am all for less work and more play.
adding Reverb and maybe other effects
-
- Posts: 9
- Joined: Sat Mar 30, 2019 5:04 pm
Re: adding Reverb and maybe other effects
Any progress on this? Interested in similar ideas.
-
- Posts: 9
- Joined: Sat Mar 30, 2019 5:04 pm
Re: adding Reverb and maybe other effects
One thing I'm interested in that I haven't yet figured out how to implement is panning. Adding the ability to pan audio to the left or right, so that I could take 2 audio sources, and mix them together, one to the left channel, and one to the right.
With the downmixer, I can mix them, but I don't yet see how to do the pan adjustment. Similar to pitch/speed change, I suspect this would be best done in similar code.
With the downmixer, I can mix them, but I don't yet see how to do the pan adjustment. Similar to pitch/speed change, I suspect this would be best done in similar code.
-
- Posts: 2
- Joined: Wed Aug 18, 2021 10:49 am
Re: adding Reverb and maybe other effects
Hi,
I have just started playing with a LyraT and hopefully using it in pass-thru similar to yours including equalizer.
Did you have success? If so would you be able to share your code with me?
thanks heaps,
Murray
I have just started playing with a LyraT and hopefully using it in pass-thru similar to yours including equalizer.
Did you have success? If so would you be able to share your code with me?
thanks heaps,
Murray
Who is online
Users browsing this forum: No registered users and 34 guests