 |
|
 |
| Parallax Forums > Public Forums > Propeller Chip > Propeller for Guitar Effects? | Forum Quick Jump
|
|  Mark Buckingham Registered Member
        Date Joined Nov 2007 Total Posts : 4 | Posted 11/21/2007 9:38 AM (GMT -8) |   | I'm a guitarist, computer programmer, and part-time burner of fingers via a soldering iron.
I'm basically hoping to design & build a guitar multi-effects processor, and I'm wondering if the propeller has enough horsepower to pull it off...
I think I need the following: 16 or 24 bit A/D and D/A conversion ability to process at least 3 effects at a time from the following: --> echo --> chorus (combines original signal with one that is slightly in & out of tune) --> flanger (more or less same thing as chorus, but with different timing) --> pitch shifting (take the input note and move it up or down by +/- 12 notes) --> reverb front panel controls to control the effects ability to save combinations of effects & settings as patches (maybe) midi control stereo output is a plus, but not a deal breaker.
I don't need anything like distortion or amp modelling. That's part of why I want to do this myself... Most of the units on the market try to do too much.
the effects have to have very little latency... When I play a note, it has to come out without a noticeable delay.
Does this sound like something that the propeller can pull off?
Thanks! | | Back to Top | | |
 |  grasshopper Questioning everything

       Date Joined Oct 2007 Total Posts : 439 | Posted 11/21/2007 9:59 AM (GMT -8) |   | I am also a guitar player, so this got my attention
I think it should be able to do what you are listing. How do you intend to pull it off? have you seen what the propeller can do as far as sound? I got mine to sing and speak using the available codes. | | Back to Top | | |
  |  grasshopper Questioning everything

       Date Joined Oct 2007 Total Posts : 439 | Posted 11/21/2007 11:12 AM (GMT -8) |   | Instead of a AD \ DA converter you might want to consider a Continuously Variable Slope Delta Modulation (CVSD) IC. 2 of them would do the job. One for the input and the other for the output.
Just a thought, | | Back to Top | | |
 |  yerpa58 Registered Member

       Date Joined Nov 2006 Total Posts : 25 | Posted 11/21/2007 11:39 AM (GMT -8) |   | Mark, your project sounds very interesting. I am also looking at the propeller for a similar app. I built something like this about ten years ago using a 10 MHz ADSP-2105 (Analog Devices bottom-end DSP, no longer available) and a 14-bit audio codec made by Texas instruments, and 32K of static RAM + 32K of EPROM. My sample rate was 33 KHz. It sounded pretty darn good. The codec used i2s (NOT i2c and NOT spi) serial port. It is important the the sample rate is rock solid. I'm pretty sure one cog could be used to do a synchronous i2s port to connect to a codec chip. One thing the DSP had going for it is the multiply-accumulate instruction in assembly, so you could do FIR filters, etc. The prop is a little weak for DSP math, but could make up for it in sheer versatility.
However, I have been very impressed by the audio samples that people in this forum have contributed, so I think the prop could be an excellent single-chip solution. | | Back to Top | | |
 |  Mark Buckingham Registered Member
        Date Joined Nov 2007 Total Posts : 4 | Posted 11/21/2007 6:43 PM (GMT -8) |   | Cool- so it sounds like it's not a completely nutty idea then. 
I've never heard of a CVSD before... I'll have to look into that.
Thanks! | | Back to Top | | |
 |  epmoyer Music maker, dreamer of dreams

       Date Joined Apr 2007 Total Posts : 314 | Posted 11/21/2007 8:30 PM (GMT -8) |   | |
Well I’ve been keeping this under wraps but it appears that the time has come to let the cat out of the bag. I have been working on a Propeller based guitar effects pedal called “the Howler” for a few months now. The hardware is up and running, the core OS is done, the chassis design is complete, and I’m working on getting the first couple chassis samples made.
The design has the following features:
- Propeller core
- 1MByte SRAM standard (room for 1.5MByte on the PCB)
- 44kHz 24-bit sampling (2 input channels, 2 output channels)
- 4 control knobs
- 16x2 LCD screen
- 2 stomp switches
- 2 stomp indicator LEDs
- 1 1/4 inch audio input
- 1 1/4 inch audio output
- 1 multipurpose 1/4 inch audio jack (can be used as either a second output (for stereo effects) or as an additional input (for modulation effects etc.))
- NTSC Video out
- Micro USB
- 9V DC Power in
- Headphone out (mini phono)
- RJ45 expansion port (for potentially adding things like external foot pedals)
- Aluminum chassis
The pedal is designed for production, so I’ll be making it available as a completed unit. All the source will of course be available so that people can create their own effects and hack away to their heart’s content. I’m also developing a windows application which lets you do a lot of high level control (effect configuration etc) from the PC side.
I have a demo song but I sampled it at a very high bitrate (since it was an audio quality demo) so its too large to post here (6MB). I’ll have to see if I can resample to a lower bitrate and post it.





 Post Edited (epmoyer) : 11/22/2007 5:13:28 AM GMT | | Back to Top | | |
      |  mpark Registered Member
        Date Joined May 2007 Total Posts : 794 | Posted 11/22/2007 4:21 PM (GMT -8) |   | Well, since Mark seems not to mind Eric's total threadjacking I have to ask Eric his impressions of the prop as a signal processor. You didn't feel too hamstrung by the lack of hardware multiplies? | | Back to Top | | |
 |  epmoyer Music maker, dreamer of dreams

       Date Joined Apr 2007 Total Posts : 314 | Posted 11/22/2007 8:45 PM (GMT -8) |   | |
Happy Thanksgiving! Hope you all had a good one!
CardboardGuru said... Looks fantastic Eric! 1MB of SRAM - that's huge by Prop standards. Sound isn't my thing, but it strikes me that the RJ45 could be interfaced to DMX for a guitar driven light show! Display looks good and clear. Is it the same as the Debugging LCD widget you made?
I needed a lot of RAM to support long delays and complex reverb effects. If you want to implement multiple delays at the same time (like a reverb and a digital delay), then both effects allocate chunks of the same SRAM pool, so that puts pressure on the size. The main reason for going with 1MB was that I wanted to be able to support a K.T.Tunstall style loop effect (ala Black Horse and the Cherry Tree).
While the samples are 24 bits I found that I used 32 bit words in SRAM to store samples because the indexing math was more straighforward (although if one is pressed for space one can always decide to take on the complexity of the indexing and buy themselves another 25% of space). On the other hand, I do all the effect math in 32 bits, so a reverb or delay which appears after another effect will want to use 32 bit words anyway to avoid rounding down the precision of previous steps (even though the final mixdown goes back to 24 bits, in general it's preferable to maintin your highest bit width until the end of the chain).
Yes, the LCD is a carryover from my Hydra debugger widget, but in this implementation it has a full 8 bit interface since I wasn't limited to the available signals on the Hydra expansion port.
Nick Mueller said... Would you mind publishing the schematics? Well, I wasn't intending to announce so soon. I only spilled the beans because Mark raised the subject. If I do release schematics to the general public I'll do it when the device is released. If I don't release schematics to the general public I'll still include the schematics with the pedal.
Mark Buckingham said... Any idea when you'll have units ready for sale? Hmmm. I should think by late January. The hardware is done, and the chassis design is done (but I don't have one in my hands yet to test). The remaining work is on manuals, finishing the OS, polishing the sample effects, and finishing the Windows app.
mpark said...Well, since Mark seems not to mind Eric's total threadjacking  I have to ask Eric his impressions of the prop as a signal processor. You didn't feel too hamstrung by the lack of hardware multiplies?
I do apologize for the threadjack. Sorry Mark!
Well, you're certainly correct that the primary limitation in using the Prop for a signal processor is it's lack of a multiply instruction. When I started this project I would alternately flip back and forth between loving the idea and saying to myself "what the heck am I doing choosing a processor with no multiply?!?!?". Well, as we all know by now the Propeller consistenly out-performs its apparent class, and this case is no different. Sure, you take a time hit to do a multiply, but you gain so very much from the Prop's unique architecture that on balance it makes for a really cool effects platform. I had the idea to do an open-source effects pedal some years ago, but it wasn't until the Prop came along that I realized I could finally do it in a way that had very expansive possibilities and free development tools. Who in their right mind would have ever designed an effects pedal with video out? Once you decide to use a Prop, how could you not? And once you have a guitar pedal with video out, just imagine all the weird things you can do with it.
Today I use the multiply for the tremolo effect, and for output volume scaling. In both cases the time hit was insignificant relative to the load on the associated Cog.
Post Edited (epmoyer) : 11/23/2007 5:23:24 AM GMT | | Back to Top | | |
 |  epmoyer Music maker, dreamer of dreams

       Date Joined Apr 2007 Total Posts : 314 | Posted 11/22/2007 9:16 PM (GMT -8) |   | OK, here’s the first demo recording I did. The file’s only 80kbps, but that's the best I could do given the file size limitations on this forum. The background guitar uses the Chorus effect. The three main parts of the song have a second guitar with the tremolo, followed by the delay, followed by the distortion. All tracks were recorded using the same guitar with the exactly the same knob settings so that the operation of the effects was not masked by other changes (other than the distortion, for which I cranked up my guitar’s built in compressor so that I would get more sustain). I would normally have used some reverb but I haven’t written one yet and I didn’t want to add any effects that weren’t coming from the pedal.
Distortion normally uses some filtering to affect which frequency ranges get distorted. This one doesn’t yet, so it’s a little rough. I also didn't have these effects written to use the knobs for parameter alteration at the time, so I had to dial in the delay time by iteratively changing my constants and recompiling; It’s not quite matched to the song tempo, but pretty close. Chorus usually uses some sample interpolation to avoid the noise of sliding the delay line tap point back and forth at discrete sample steps. The current version doesn't, but the noise is not very noticeable in this recording. If I play harder it becomes more evident.
File Attachment : Howler Sampler.sng_mixdown01 80kbps.zip 1.79Mb (application/x-zip-compressed)This file has been downloaded 540 time(s). | | Back to Top | | |
  |  Mike Green Registered Member

       Date Joined Oct 2004 Total Posts : 14332 | Posted 11/22/2007 10:05 PM (GMT -8) |   | | Nice demo. Very impressive what you've been able to do. | | Back to Top | | |
 |  Ale Registered Member

       Date Joined May 2007 Total Posts : 1415 | Posted 11/22/2007 10:54 PM (GMT -8) |   | | Can you give some details on how the SRAM is accessed ?, is it serial to the propeller or the data come parallel ? | | Back to Top | | |
 |  mpark Registered Member
        Date Joined May 2007 Total Posts : 794 | Posted 11/23/2007 1:06 AM (GMT -8) |   | Eric, Thanks for the info. One other thing: are you using the prop counters for a/d and d/a?
Btw, forgot to mention earlier, but awesomely cool project! | | Back to Top | | |
  |  Baggers Registered Member

       Date Joined Mar 2007 Total Posts : 1932 | Posted 11/23/2007 4:33 AM (GMT -8) |   | Excellent demo Eric, makes me wanna go get the guitar down from the attic :) but then I'd need a howler too, very cool device you've made there matey. well done.
Baggers. | | Back to Top | | |
 |  Bob Lawrence (VE1RLL) Registered Member

       Date Joined Aug 2007 Total Posts : 474 | Posted 11/23/2007 9:42 AM (GMT -8) |   | Awesome!!!! Can't wait to try one on my Pedal Steel Guitar. :) I just installed a PIC based MP3 player / decoder, SD card, with T6963C (Toshiba) 240x128 Graphic LCD (for tab and intros and turnaround MP3's for a variety of songs) on the back neck . (double body, single neck guitar) Propeller effects would be cool to build in as well. Don't forget to add pitch detection so we can add a tuner. :) Keep up the excellent work!! | | Back to Top | | |
   |  epmoyer Music maker, dreamer of dreams

       Date Joined Apr 2007 Total Posts : 314 | Posted 1/14/2008 12:25 AM (GMT -8) |   | Thanks Andrew; yes, that's me playing the demo.
Ym2413a said...
If you plan on selling some of these, then I'll buy one from ya and gig with it!
Yes, I'm going to make them available; everything has been designed for manufacturability. The chassis is build like a tank so the pedal is very gig-worthy. I set out from the beginning to make something that could be used live and get banged around a fair bit. This thing is a labor of love for me so I made the pedal I would want if someone else were building it instead. That drove the requirements for durability, a back-lit screen, lots of knobs, high quality stomp switches, and a nice windows GUI app.
yerpa58 asked me a little while ago if I'd put together a mailing list for notices about pricing, availability, etc. on the guitar pedal. It's now a list of one ;) If anyone else would like to be on the mailing list just drop me a PM and I'll include you as well. I'm going to make some "pre-release" units available before all the software is finished. All the hardware has been debugged and tested so the hardware platform is done, but there are a lot of software pieces and documentation to finish before the whole package is commercially ready. The pre-release units will ship with the current O/S and effects set so that gear-heads like me (and probably you, if you're reading this) can get up and hacking away before some of the more polished software tools are complete. Early adopters also have a chance to get their effects onto the first "proper release" production CD, and they'll get all the final versions of the software when it releases. The final software collection will give a fair bit of functionality to non-programmers, enabling them to tap into the shared community of published effects and to configure them without learning spin or assembly. I'll poll for a head count before I do the pre-production run. More to follow.
I was reading through some of my old posts and I noticed that I never discussed the distortion algorithm used for the demo song.
Things like Chorus, Tremolo, and Delay effects are pretty straightforward; they lend themselves to relatively easy digital implementations. Guitar distortion effects are very analog beasts. They got their start by pushing analog amplifiers into their overdrive region where the amps became non-linear and the output wave shape became "distorted" relative to the input. When distortion caught on people started designing amps and pedals to generate it, all of which fundamentally involved operating some analog component(s) (tubes, transistors, diodes) in a region of operation where the device(s) "broke down" and became non-linear in some interesting way. The behavior of those analog components varies with frequency, and can vary with the drive level, or with their short term "history" of activity, and can distort the positive going wave differently than the negative going wave. All of that analog stuff can be very tricky to model digitally, which is why purists detest digital distortion pedals and opt for analog devices.
The distortion I wrote for the demo is almost the simplest possible algorithm for distortion; all it does it apply a sinusoidal roll-off to a linear transfer function. Its simple, symmetrical, non-frequency dependent, and sounds... terrible! Better distortion is in the works.Post Edited (epmoyer) : 1/14/2008 8:54:04 AM GMT | | Back to Top | | |
 | 34 posts in this thread. Viewing Page : 1 2 | | Forum Information | Currently it is Tuesday, February 09, 2010 3:17 AM (GMT -8) There are a total of 415,988 posts in 57,637 threads. In the last 3 days there were 78 new threads and 885 reply posts. View Active Threads
| | Who's Online | This forum has 18517 registered members. Please welcome our newest member, try388. 50 Guest(s), 7 Registered Member(s) are currently online. Details Graham Stabler, humanoido, Bob Lawrence (VE1RLL), computer guy, Rick Brooks, JohnandElspeth, mikestefoy |
Forum powered by dotNetBB v2.42EC SP2.02 dotNetBB © 2000-2010 |
|
|