Nice to meet you. I’m Michael—the new guy here at Strymon. In the last six months, I have shipped, repaired, filmed, and (my personal favorite) continuously played the wonderful bits of technology that are Strymon pedals. As much as I enjoy contributing to this amazing, innovative company, I will concede that, at times, I feel as if I’m in over my head. At a lunch table full of accomplished engineers, I’m the one who dropped out of high school calculus. I’m Muhammed Ali in the ring of movie quotes, which has gained me considerable respect here at Strymon HQ. However, when conversation shifts from Lebowski to Thermodynamics, I’m a first round knockout.
Coming to work often feels like hanging out at a think tank. This is why I’ve come to the Strymon blogosphere—to share the information that I learn everyday from the minds at Strymon HQ and assist folks (like myself) who are genuinely interested in the complexities of sound technology but lack the time and the chutzpah to brave industry textbooks like Embedded Media Processing. Believe me, I’ve tried.
Without further adieu, let us begin the first installment of “DSP Decrypted”! In this article, we’re going to focus on a few broad strokes of DSP (Digital Signal Processing) that will help illuminate what makes DSP such a powerful tool for musical innovation.
What is DSP?
The short answer is, DSP is a process of converting analog, real-world signals into a digital format in which they can be mathematically manipulated before being converted back to analog. The basic idea is simple. The practice is wildly complex. And the specifics are fascinating.
To begin, I’d like you to play, on your guitar or in your mind, a low E. The sound wave of that low E has a fundamental frequency of 80 Hz. In DSP, that 80 Hz signal is digitally converted and sampled at a rate of 96 kHz. Think of the sampling process as taking 96,000 high definition snapshots of the signal that become represented by 96,000 different numbers—each of which can be mathematically manipulated. Now, the plot thickens.
Strymon digital pedals run on an Analog Devices SHARC DSP chip. The SHARC is designed to carry out operations based on mathematical equations programmed by a DSP engineer. Here at Strymon, that DSP engineer is Pete Celi, who offered me some insight into how powerful a creative tool the SHARC really is: “In analog, achieving a certain ‘equation’ for a specific sound might require very complicated and time-consuming circuitry. Whereas, in DSP, it’s as easy as typing ab + cy and boom. Basically DSP is this free-running process where we can take a signal and, within a set period of time, we can do whatever we want to it mathematically before converting it back to analog. The sky is the limit.”
Pete’s job is a lot more complicated than he makes it seem. Although, I definitely don’t understand the equation Pete mentioned. But let’s not get hung up on minor details. Back to the big picture.
So, we have a low E played on a guitar—that is digitally sampled at a rate of 96 kHz (96,000 snapshots per second). The SHARC is designed to perform its instructions (based on programmed equations) within a single clock cycle. One math operation = one clock cycle. If you take the equation that Pete mentioned, for instance:
ab + cy
a x b = one clock cycle
c x y = one clock cycle
(ab) + (cy) = one clock cycle
This particular math operation is executed in three clock cycles. For most Strymon digital pedals, the SHARC DSP’s clock frequency is 266 MHz (BigSky’s is 366 MHz)—which means it completes 266,000,000 clock cycles per second, or, if you prefer, it completes a single clock cycle in just under four nanoseconds. (As a frame of reference, light travels about four feet in four nanoseconds!). If you divide the clock frequency by the sample rate (266,000,000 / 96,000), you arrive at the number of instructions the SHARC can execute per sample. So, we can apply 2,770 instructions to each sample before the samples are converted back to analog. That, my friends, is processing power.
Here’s an analogy that might help visualize the SHARC DSP’s power. We’re in the back room of a massive bakery—I’m talking Willy Wonka sized, here—where all the confectionary magic happens. There’s a gigantic conveyor belt running from one end of the room to the other. At the start of this conveyor belt is a single, plain cake—our sample. Standing alongside this conveyor belt are 2,770 cake artists, each of which can add one specific ingredient as the cake goes down the line. By the time the cake reaches the finish line – it is decorated to perfection. And these cake artists are so good, they can crank out 96,000 of these bad boys every second!
Here’s another visual. Knowing that I’m a cinephile, Gregg Stock (analog engineer/wizard) provided me with a model of how DSP works that I’ll share with you. Imagine a film projector with a built-in SHARC processor. A reel of celluloid film runs through a projector at 24 frames per second. If each frame is a sample, our sample rate is 24 Hz. The DSP projector’s clock frequency is 266 MHz—meaning we can apply 11,080,000 edits to each frame. As long as we don’t exceed the 11 million or so operations, by the time one frame is finished and projected upon the screen (converted back to analog), the following frame has just been finished and is ready for projection. And so on.
While the SHARC DSP cannot accomplish 11 million plus clock cycles per sample when sampling audio at 96 kHz, its processing power is still immense. Especially compared to its predecessors. Unlike earlier versions of DSP chips, the SHARC processor is not limited to a small amount of tasks it can execute. Strymon pedals devote all of the SHARC’s clock cycles to creating the richest, most nuanced effects possible. Couple that insane processing power with the kind of creativity, dedication, and vision that the good folks at Strymon possess, and what do you get? Well, “the sky is the limit.”
Want to learn more about DSP? Post any thoughts/questions you may have in the comment section below, and we’ll get back to you. Remember to stay tuned for the next installment of ‘DSP Decrypted’!
34 Responses
I am 18 years old and I just wanna finish my engineering studies to work with things like that!!!!! NOWWWWWWW
BSEe 1992. Network Engineer.
Guitar. Amp builder.
Send more info about DSP
I am really interested in the Flint for at least 6 plus months now. Will there be any technical advances so that there can be 20 to 30 presets while still maintaining the original quality.
This would be fantastic if this is feasible.
Would you please discuss dithering and how it relates to Strymon pedals.
i want mre in fo please!! my college project can be so much cooler! 0_0
Great summary of the basics! It’s very intriguing, and I look forward to more parts of this blog posting. Is there a chance to get a more advanced look from Pete himself? I think many of us tech/engineering guys would love to get more detail into the inner workings of your pedals (and minds)!
this is awesome. thanks so much for doing this. i’d be interested to know how designers figure out where to start with, say, a reverb algorithm? what goes into putting the ideas together before they start coding the chips?
Thank you all for your comments – your interest is greatly appreciated! We will certainly keep all of your suggestions/questions in mind and do our best to address them in future installments of ‘DSP Decrypted’!
@David We are constantly in the lab working on new ideas and products -so thank you for your feedback! Unfortunately, we cannot discuss any potential products that may or may not be in the works. Don’t forget, the Mobius holds up to 200 presets and uses the same tremolo algorithm as the Flint 🙂
Wow! Technical electronic stuff explained by the pizza delivery guy.
Hey, Michael!
Don’t get offended by “delivery guy” or somebody wants engineers themselves to explain things.
You’re great “scientific-to-simple” terms translator.
Looking forward to new articles.
Regards,
Denis
Interesting reading. Thanks for doing this! Looking forward to other articles.
What type of development environment do the programmers use?
Many of the pedals out there only sample at 44.1kHz your 96kHz blows their doors off.
@Don Wells – We use an Analog Devices development kit that is specifically for the Sharc processors.
Thanks. Great article. Can’t wait for more. Love my Mobius.
I would like to see a description of what the SHARC processor’s relationship is with the other hardware in the Strymon pedals. What other key bits are on the PCB and how do they work in concert?
Nice article. More description of the types of operations that are done to the signal would be great. Keep this series going with these great analogies and help us laymen understand this great technology and these amazing pedals!
Really-really good simplification and description of how the dsp world works! Waiting for the next one!
Hey,so it seems all the strymon pedals are using sample based processing ,not block based processing ?
When is part two coming!? I would love to learn more.
Heya, I was just looking for info on what language the folks at Strymon use to program your processors. Is it high-level or low-level? I am looking to change fields in work and am getting into programming, but I want to program for sound and work on conceptual projects. Any info to help get me started on creating hardware based on dsp’s would be appreciated.
Hi Christopher, Sent this over to Dave, he said “We use many different programming languages and environments throughout the company. The pedals are programmed using assembly language and C. Utilities used in development, testing and manufacturing are written in languages such as C++ and python.” Wishing you the best in your new adventures.
Why is Strymon using the Analog Devices Sharc ADSP series and not the BlackFin ADSP series which Electro Harmonics is using?
I have seen that the BlackFin clock is higher and it was tested to be faster for FFT calculation. I guess the FFT is the first step for each guitar effect programming.
Or is the resolution of the Sharc better than the Blackfin?
@Florian – Thanks for your feedback! 🙂 David’s comment above is correct in that the SHARC is a floating point DSP while the Blackfin is a fixed point DSP that can be used for audio, but not as suited as the SHARC DSP is for the effects we create. Also, most effects are time based algorithms as FFT is not always the first step in effect programming. FFT is not typically used in the type of effects that are in our current lineup.
They probably use the sharc because it’s a floating point dsp, while the blackfin is fixed point.
Of course fixed point dsp processors can work with audio as well, but floating point is better suited for it.
Coming from a guy who is genuinely intrigued by how on earth my beautiful sounds are made… but also has to admit that even most of these comments are over my head… Thanks Mike! This helps a lot. A second installment will help more 🙂 Please give every single person in that building a high five for me today.
Great read and analogy on how DSP works with hardware! I’ve yet to take the plunge on anything beefier than a 32bit pic/arm.
What Sharc ADSP you actually use in Bigsky?
After read all your stuff I get feeling to order an evaluation Kit and continue to program DSP again after 15 years ….
Markus
@markus We are using the SHARC ADSP-21369 in the BigSky. 🙂
what an awesome beast. my dsp56k looks so old now 🙁
There is a lot power here to do analog simulations …. impressed. thank you Hugo !