These forums are read only, please use our new forums here.

Main :: ToneCore Development Kit



New ToneCore DSP Effect: DistortKit
by MusicalCircuitry on 2011-04-24 01:20:26

I've been enjoying working with the ToneCore DSP, and finally have a finished effect. I've called it DistortKit, since it implements a bunch of different distortion features. It includes a tweakable distortion algorithm, soft and hard fuzz, half and partial rectification, level control, and bass and treble EQ.

If you're reading this, you're likely a developer or at least interested in it, so I'll list some of the techniques I've used:

  • Oversampling to cut down on aliasing and other noise
  • Low pass IIR filters to accomplish the upsampling and downsampling
  • IIR filters are implemented with two cascaded biquads to achieve a 4th order filter
  • TPDF dithering to reduce distortion as a result of re-quantization
  • LFSR random number generator for the dithering
  • Shelving stave variable filter
  • Use of mixed number (MN) format to represent real numbers in range -128.0 ≤ MN < 128.0 (which constitutes re-quantization, creating the need for dithering)
  • 24 bit signed fraction/integer division

I've created a SourceForge project for this and released the source code. You can browse the SVN repository:

http://tonecore-dsp-fx.svn.sourceforge.net/viewvc/tonecore-dsp-fx/DistortKit/

Ifyou have a SVN client, you can grab the entire source easily:

svn co https://tonecore-dsp-fx.svn.sourceforge.net/svnroot/tonecore-dsp-fx tonecore-dsp-fx

At some point I'll create a proper website for the project, including more documentation, a module faceplate, etc, but for now you can look over the source and try out the .cld file yourself. The source is fairly well commented, both for my own benefit and to help out anyone else who'd like to take a stab at this. The controls are documented in the code, but if you just want to try out the .cld, here's what the knobs do:

Knob_1: Output_Level   (overall output level)
Knob_2: Bass_Eq_Gain   (bass EQ control)
Knob_3: Distort_K      (controls amount of distortion)
Knob_4: Fuzz_Threshold (controls gain for fuzz)
Knob_5: Treb_Eq_Gain   (treble EQ control)
Knob_6: Rectify_A      (controls extent of partial rectification)

Switch_1:
  0: Fuzz off
  1: Soft fuzz
  2: Hard fuzz


Switch_2:
  0: Rectification off
  1: Half rectification
  2: Partial rectification

The distortion algorithms themselves won't clip the 24 bit result and are well behaved. You can induce some unwanted clipping though, if you max out the distortion and then apply enough positive EQ. If this happens, I have indicated it by activating the red LED. As has been documented elsewhere in the forums here, the default code in the MCU disables the red LED, so this will seem quite faint. You can fix this by commenting out a line in the MCU code, in main.c. This is explained better in the forum archives, but the line you need to disable is:

LED_RED_PIN = 0;                  /*We are not currently controlling the RED LED via the DSP, it is been used only when the battery is low*/

Feedback on the effect itself and the source are welcome. If time permits, I'd like to try implementing another effect or two, we'll see how that goes.

Enjoy!



Re: New ToneCore DSP Effect: DistortKit
by audioartillery on 2011-04-25 20:19:20

It's good to see some people getting code out there.  I've got a couple interesting effects but haven't had time to polish them up to this level.

A demo recording would be awesome.  I think if enough interesting effects come out of this platform it might jumpstart things a bit (or convince Line6 to release another devkit down the road).



Re: New ToneCore DSP Effect: DistortKit
by MusicalCircuitry on 2011-04-26 21:09:19

audioartillery wrote:

It's good to see some people getting code out there.  I've got a couple interesting effects but haven't had time to polish them up to this level.

A demo recording would be awesome.  I think if enough interesting effects come out of this platform it might jumpstart things a bit (or convince Line6 to release another devkit down the road).

Yeah, when I get some time to put up a website, I'll try record a demo clip, to go along with images, module template, documentation, etc. Fair warning though, my programming skills are much better than my guitar skills!



Re: New ToneCore DSP Effect: DistortKit
by MusicalCircuitry on 2011-04-29 10:33:44

Haven't had time to put together a project web page yet, but I have recorded a short demo. The demo is attached to this post, and it goes in this order:

  1. Bypass
  2. Distortion
  3. Soft Fuzz
  4. Half Rectification

I played the riff through a looper, then did the recording by changing settings between repeats. I tried for consistent volume levels, but there is no post processing here, so it's as close as I could get with a quick adjustment of the level knob between repeats. I might try to make some better demos in the future, but hopefully this is enough to give you an idea of how it sounds. Let me know what you think!



Re: New ToneCore DSP Effect: DistortKit
by audioartillery on 2011-04-29 12:36:43

Very cool man.  The rectification sounds the most interesting, at least in that clip.




The information above may not be current, and you should direct questions to the current forum or review the manual.