Page 2 of 6
Re: Playing around with a long delay
Posted: Wed Dec 10, 2014 9:53 pm
by cloudscapes
oscillateur wrote:Oh, that's nice... How much memory is there in this ?
I checked the Owl pedal (they're apparenyly preparing an euro module of it too) but it only has 1MB of memory.
That's not that much (6 seconds of stereo 16/44k) to do anything really interesting with audio buffers...
I seem to recall the owl project had 1Mb (128KB), not 1M
B. they may have upped their specs since last I looked though, so I may be wrong.
4Mb of memory on mine, currently (so 512KB). the samplerate varies between 18khz and 72khz, depending on how the delay time knob is set. translates to a range of 3.5 to 14 seconds on that range. I can easily plop in an extra memory chip, though, they share the same serial comm lines. not sure yet if I want to, being $20 a piece. maybe as an extra ultra long range, 7 seconds to 28 seconds! I'll think about it
Re: Playing around with a long delay
Posted: Wed Dec 10, 2014 10:15 pm
by oscillateur
Ah, you're right. I missed that part (is there any point in using bits instead of bytes these days when talking about memory ?).
"192Kb RAM, 1Mb Flash memory"
Guess I'll have to wait until something that I can make C/C++ code for and that has enough memory is available... Last time I played with that sort of things was maybe 12 years ago, I made myself a little VST effect that did all kind of wrong things to an audio buffer, I'd probably do it better (i.e. worse) now

.
What's the point of going up to 72khz ? Is it to keep an high enough quality when slowing the thing down (i.e. going to a longer delay time) ?
Re: Playing around with a long delay
Posted: Thu Dec 11, 2014 12:23 am
by cloudscapes
yeah it's really easy to make a "wrong" effect, when messing with buffers and sample memory. on occasion though, you can get something oh so very right from something wrong. you're just not making a delay anymore, hehe.
72khz isn't arbitrary. basically I'm using the original PDS delay as inspiration, and on each of its delay ranges, you had 4 "octaves" of delay time available. like 500ms to 2 sec, 2 sec to 8 sec, etc. always "four times". play a loop on the short end of that range/samplerate, delay tiem it to the other end and you'll have divided it twice in octaves.
I chose 72khz because exactly as you say, if I slow it down by four, it's still an acceptable 18khz. I could make the hardware go faster that 72khz (I've been able to clock it up to 98khz-ish), but that doesn't leave much cpu time left per sample. also, with the memory I have available, 72khz fits neatly as 3.5 to 14seconds without too much leftover memory. I don't end up with a delay range like 3.84 seconds to 15.36 seconds. my numbers are nice and neat at 72.
at 72khz top samplerate, that's 13.9us (13.9 millionths of a second) available calculations per sample. I have to subtract the overhead, like 1.1us for the DAC, 6us for memory, 300ns (billionths) for the bidirecctional memory address counter. I can use the leftover for other stuff, like a digital filter, modulation, etc.
what the code looks like so far
http://dronecloud.org/stuff/delay.html
Re: Playing around with a long delay
Posted: Thu Dec 11, 2014 12:24 am
by cloudscapes
I might put the ADC/write and read/DAC on seperate samplerates. I can get cool effects like this:
[youtube]http://www.youtube.com/watch?v=RjsBZxJ3PVM[/youtube]
glitchy/unpredictable on long ranges, but cool on shorter
Re: Playing around with a long delay
Posted: Thu Dec 11, 2014 1:46 am
by oscillateur
Hah, that code is so different from what I usually do. I'm a games programmer, so I'm typically dealing with higher level abstractions than that. And my usual time unit for a frame is more 1/30th of a second

.
Anyway, cool stuff. I love the fact that a small amount of code is enough to manage all this...
About your latest test, if you end up doing something that generates some sort of patterns because of specific time intervals, etc., the risk is always getting the same patterns and getting tired of them (because you recognize them when using them in different situations/tracks/etc.). That's one of the complaints I would have about the Earthquaker Afterneath : their trick of coupling the predelay time with the repeat time of the delay lines (I think, but it might actually be something else entirely) makes the whole thing sound very repetitive after a while. They should have added a way to make the emerging patterns similar but not identical.
Re: Playing around with a long delay
Posted: Fri Dec 12, 2014 8:51 pm
by cloudscapes
that's funny, game dev is my day job! though I'm no programmer
1/30th of a second? so... much.... time!
I'm sure games programming is a lot more "reasonable" than embedded programming, though. I sware, sometimes thigns don't work when they should... and DO work when they shouldn't. or solutions to problems that perplexed me for whole days are the equivalent of like turning a tap on in the kitchen to turn off a light in the bedroom. you know, completely logical stuff like that. microcontrollers are........ interesting, in that way.
I know what you mean about the pattern. unfortunately, the pattern is a consequence of somethign else, not something the code was aiming for. and sort of because of that, I can't make it "be" anything else. not with my current level of knowledge, and probably not without using a DSP that's an order of magnitude more powerful, for this sort of stuff. thankfully, that specific effect is just an add-on. I'm not even sure I want to put it in. and I have to avoid too much feature creep.
Re: Playing around with a long delay
Posted: Sat Dec 13, 2014 6:23 pm
by cloudscapes
[youtube]http://www.youtube.com/watch?v=XRDZdRqXxf8[/youtube]
got samplerate reduction (as a blendable effect) done!
I gave up on pitch shifting, though. it made everything glitchy, even when the effect wasn't dialed in. just ther existence of the functions and changes I had to make made the ordinary delay part buggy. not worth it.
only have 5 things left on my to-do list (all of them easy), before I can start designing the control layout + pcb layout for the actual pedal!
Re: Playing around with a long delay
Posted: Sat Dec 13, 2014 9:22 pm
by cloudscapes
also, a quick mockup. temporary fonts, no design, etc. just for placement planning. gotta do this before I can start the PCB, since everything's going to be mounted on it.

Re: Playing around with a long delay
Posted: Sat Dec 13, 2014 11:06 pm
by oscillateur
That looks cool...
You also have a modular, right ? Having a way to sync your delay time to incoming triggers could be useful too if you want to use the pedal with it (I love doing that with my DD20).
I'll send you a PM later for off-topic gamedev things

.
Re: Playing around with a long delay
Posted: Sun Dec 14, 2014 5:31 pm
by cloudscapes
blendable ring modulation in feedback path
[youtube]http://www.youtube.com/watch?v=1j4T55_vCPY[/youtube]
so yeah... that's staying in! the sound of a ringmodded signal being delayed and folded over itself to oscillation is so awesome!
tiny bit of carrier bleed. I can fix that in software. maybe by (digitally) fading the carrier oscillator to nothing when the audio input level is near the bottom.
Re: Playing around with a long delay
Posted: Mon Dec 15, 2014 3:02 am
by mysteriousj
That's sounding soooo good. Good stuff

Re: Playing around with a long delay
Posted: Tue Dec 16, 2014 9:56 pm
by cloudscapes
more ringmod+degrade+filters+feedback stuff
[youtube]http://www.youtube.com/watch?v=yyYyNjVJk0M[/youtube]
Re: Playing around with a long delay
Posted: Wed Dec 17, 2014 1:15 pm
by LaoWiz
Listened to this last night. I want it so badly!
Re: Playing around with a long delay
Posted: Mon Dec 22, 2014 2:42 pm
by jrmy
LaoWiz wrote:Listened to this last night. I want it so badly!
You and me both, man!

Re: Playing around with a long delay
Posted: Mon Dec 22, 2014 10:18 pm
by Gone Fission
jrmy wrote:LaoWiz wrote:Listened to this last night. I want it so badly!
You and me both, man!

+1