I have a DSP pedal idea. Who can help design it?

Started by Taylor, October 02, 2008, 02:50:33 PM

Previous topic - Next topic

Taylor

I have been conceiving a delay and have come to the conclusion that it is not feasible using available analog or digital delay chips. I guess that leaves DSP. Now, I have absolutely zero knowledge of DSP. I would like to make some of these for commercial sale eventually, but I would need someone to take my ideas (which have been designed already in a modular computer DSP environment) and translate them into what I would need to make a pedal.

A few questions:

Who does this? I can't work with some huge programming firm (or maybe I could? Just don't know if they would be reasonably priced for a small project)

Once the effect is coded, what sort of equipment would I need to create the hardware? Is this stuff completely out of the realm of DIYers?

As I write this, I'm guessing some of these questions are already answered elsewhere on this forum. I will try to read up, sorry if the newbish questions anger you guys.

Taylor

Bump. Can anyone point me in the right direction here?

iaresee

Quote from: Taylor on October 02, 2008, 02:50:33 PM
I have been conceiving a delay and have come to the conclusion that it is not feasible using available analog or digital delay chips. I guess that leaves DSP. Now, I have absolutely zero knowledge of DSP. I would like to make some of these for commercial sale eventually, but I would need someone to take my ideas (which have been designed already in a modular computer DSP environment) and translate them into what I would need to make a pedal.

What's the modular computer DSP environment you're using? Matlab? If it's Matlab there are plenty of Matlab -> hardware translation routes you can go that'll let you do this yourself. It'll require a little cash outlay though. Pick your poison: DSP, PIC or FPGA. I'm biased so I'll recommend you take a look at DSP Builder that lets you move Matlab blocks into Altera FPGAs. In the interests of full disclosure Altera pays me to work for them from 9-5. But DSP Builder is a nice and very easy Matlab -> hardware path. Unfortunately even a small Cyclone II chip in low quantites is going to cost you ~$30/chip -- about 10X what a DSP PIC will cost you. But a DSP Builder + NIOS2 soft processor combination in a Cyclone II is a pretty killer platform to develop with. You get all the hardware acceleration capabilities of the FPGA and a processor that lets you do more complicated, software-type things (like drive a menu-based display).

With either route you'll likely need to have your board fabbed and assembled at a fab. The chips can be hard to solder by hand and are fairly sensitive. It's not impossible to fab your own boards though. It just requires a great degree of precision. You can build your board in Eagle CAD -- most of these devices have Eagle CAD-compatible blocks.

All of the above options have dev kits available for the development work. And each uses a different software suite to take you from idea -> implementation. Again it's a bit of a choose-your-poison type thing. Depending on what you're more comfortable with one option may work better than the others.

QuoteWho does this? I can't work with some huge programming firm (or maybe I could? Just don't know if they would be reasonably priced for a small project)

I don't know of any design houses that would take on something this small. I think your best bet is to go DIY with a dev kit for a platform you think you can work with. Build it out on the dev kit. And then get in touch with a local board fab company to work out a board design based around your dev kit experimentation.

QuoteOnce the effect is coded, what sort of equipment would I need to create the hardware? Is this stuff completely out of the realm of DIYers?

Definitely this is not out of the DIY realm. If you're having your production boards fabbed and assembled there'll be a programming interface included on your board or a socket mount for the chip. If you go FPGA you're going to flash an EEPROM on the final board that'll get loaded into the FPGA via JTAG programmer on boot up. If you go PIC you're going to flash an EEPROM that the PIC will read from on boot up. Depending on how complicated you want to get you can opt to have a USB-based EEPROM control built on to your board (lets you do updates in the field) or just socket mount the EEPROM and flash it with an EEPROM programmer. Something like this: http://www.miranda.org/~jkominek/hardware/eeprom/

Hope that helps a bit.

Taylor

I really appreciate you putting the time into such an extensive reply, but I have to admit it is largely over my head. I may have used the wrong term when I said "DSP environment": I am using Plogue Bidule, which is kind of like Max/MSP. It doesn't involve the user doing any coding, so there isn't any code to translate. I definitely need someone who knows what they are doing to do the coding, because I have too much stuff I'm doing and learning as it is.

iaresee

Ahh, I've worked with Max/MSP and I can say that Max/MSP built patches, unless you've built the patch with the specific goal of translating it to hardware, are difficult to port to hardware. At least cheap hardware like PIC or DSP or an FPGA -- they run just fine on your expensive PC, right? :) I was messing around with a Max -> Verilog translator but time being what it is that project is pretty much on hold.

If you're dead set on using Plogue Bidule as your design environment contact the guys who make it and see if they can recommend a design house that has experience taking a Plogue Bidule module and migrating it to affordable, standalone hardware.

If you can stomach Matlab move your design to Matlab. There are many more options available in the Matlab -> hardware field than in the Plogue Bidule -> hardware field.

You could also look in to something like the SM Pro Audio line of products that let you run VST plugins as standalone effects: http://www.smproaudio.com/ -- they even have a stompbox thing that got announced this year.


Taylor

#6
Ok, more clarification. The effect is novel, but it is not so insanely out there that it really requires translation of code. I think that if I could work with someone who knows code, we could build this thing very easily.

VST is not necessary; this is an effect that can be made with regular electronic components, it's just that it would be a really big board and it might be more simple to implement with DSP. Also, I'm hoping to make this commercial at some point, so VST is no good.

I am not looking to make just one, I would want to make many, so I am not as worried about the economy making one, but in a small production.

Thanks for your help.

iaresee

Why don't you partner up with an existing pedal manufacturer then? Is there someone out there who makes a delay that you respect already? Try contact them? Empress Effects? Pigtronix? DLS? You, of course, would lose some of the glory, but it's all about the implementation when it comes to ideas.

SeanCostello

This is a tough question, because there is no easy answer.

As far as having people help you out, generally speaking it will cost a fair chunk of cash to do what you are asking. Most of the audio DSP developers I know charge over $100 an hour for their services, and tend not to take super short term projects, unless it is really easy for them. A port of code from a Plogue layout would not be trivial, as the source code for this program is not open, so the developer would have to implement every module that you are using for the new hardware platform. If you want the code to run in a pedal, you are looking at another big chunk of cash to design a pedal around a DSP chip.

There are other graphic DSP languages, and some of them create code targeted for DSP chips. None of them are cheap. I was one of the VisualAudio developers at Analog Devices, which is a MAX/MSP-like language that creates highly optimized code for SHARC and Blackfin DSPs. VisualAudio is free, but you need to buy an EZ-KIT to run it ($500), as well as a full VisualDSP++ license ($4000). Programs like Simulink are also pricey.

If this is mainly for your own use, and you don't want to learn programming, the easiest and cheapest solutions would be:

- Buy one of the VST hosting pedals that are based around a PC processor, and run Plogue on the pedal.
- Buy an Eventide, and use vSig to design your layouts.

My recommendation: Learn a programming language. This will take a while, but the results will be worth it. C, with a sprinkling of C++, will allow you to work with VST plugins. VST plugins are certainly a commercial format (closed source). Create your effect, put it up for sale, and if you make a ton of money on it, use the money to part the algorithm to a hardware DSP and have a pedal designed for you.

Have you looked at the Spin Semiconductor FV-1? This is not an all-purpose DSP, but it can do some great things with delay lines. The assembly language is fairly minimal, and there are great examples, so you could order the development kit and dive right in. There is a circuit board available for sale by one of the board members, that is linked to in some of the threads on the DSP board here. The development kit is cheap, the chips are cheap, and the forums at Spin Semiconductor are friendly.

There is also the Line 6 DSP Development Kit, which would allow you to develop your own DSP algorithms and load them into little plastic modules that you could then resell. However, the chip used in the Tonecore pedals, the DSP56364, is designed with the assumption that it will be programmed via assembly, and the assembly is far more complex than the FV-1 assembly.

If you don't want to learn programming, and don't want to pay a ton of money getting someone to do the engineering for you, the best bet would be to port the algorithm over to Pd, and wait for someone to port Pd to a stompbox-sized platform. Pd is currently running on the iPhone, so it is certainly possible to have it running in something the size of a stompbox, but I am not aware of any floating point ARM boards that a consumer can purchase and put into a stompbox. It seems like it is a manner of time, though. There is also a fixed point version of Pd that might run on lower cost processors that could run in a pedal. Pd is open source, so you could write any extra modules that you needed. Pd's license is BSD, which means that you could create a closed source product around it, and not have to pay any money - you would just need to acknowledge the developers in your documentation.

Sean Costello



Taylor

Ok, thanks, some great information there. I guess I might be going back to delay chips. I am intending this to be commercial, BTW.

big bustle

Threads like these is what makes this forum quite possibly the coolest place on the net. I shed a tear of joy for my belief that man kind is inherently helpful to one another. i think I also got a little chubby thinking about working with vst based guitar pedals. bravo to all!

SeanCostello

Another good place for DSP stuff is the DSP and Plug-in development forum at KVR Audio:

http://www.kvraudio.com/forum/viewforum.php?f=33

Very VST focused, but still helpful.

I agree, though, that this is a super cool and helpful forum. The (useful information)/(jerky flamewar) ratio is as high as I have seen on the Internet.

Sean Costello