News:

SMF for DIYStompboxes.com!

Main Menu

Audio Effects DSP Board

Started by markseel, June 13, 2016, 11:53:46 AM

Previous topic - Next topic

markseel

Quote from: SonaMagna on November 01, 2018, 09:01:27 AM
- Is there a MIDI implementation chart available for your DSP board?
- Are you planning to test your DSP board for FCC Part 15 compliance?  It's probably not required, but would be nice for the final manufacturer (see https://emcfastpass.com/fcc-rules-kits-subassemblies/ ).

The user's application defines how MIDI is actually used - the FlexFX kit simply provides the USB endpoint for the application to exchange MIDI data with a USB host.

FCC Part 15 compliance is not planned at this time.



markseel

Quote from: audioartillery on October 30, 2018, 12:01:36 AM
Wow these modules are tiny.  Looking forward to the next kickstarter.  If you want proof reading or input on the kickstarter before it goes live I'm happy to help.

Thanks - I could use the help :-)  Should be ready soon!

markseel

#342

wido

Hi Mark! I just registered because of you :D

I was looking for a simple IR loader stompbox and, after a bunch of clicks, arrived here. I kinda loved your project and I would like to give some feedback (probably a little bit late)

The first one, are you shipping to south america?

Second, I came here from another post of you, which was specific about an IR loader. And I'm not seeing the IR bits here, but I'm guessing is still present?

Third, about the pedal. Will it have presets of some sort? kind of preset1 with dist, od, one EQ curve ; preset2 with clean, delay and reverb. This, changed with something easy (useful for live gigs). I was thinking, perhaps you could improve the interface using 2 footswitches, and use them for alternating?

forth, why the USB type-B? I kinda was expecting it to be micro, or even typeA

All in all, this project is really cool, I'll back it when it's out

markseel

Thanks for your interest Wido.  Love the questions :-)

--- I was looking for a simple IR loader stompbox and, after a bunch of clicks, arrived here. I kinda loved your project and I would like to give some feedback (probably a little bit late)

Never too late for feedback!

--- The first one, are you shipping to south america?

Yep, I can do that.  Not sure what the cost is but in the KickStarter it will be indicated.

--- Second, I came here from another post of you, which was specific about an IR loader. And I'm not seeing the IR bits here, but I'm guessing is still present?

Yes the IR loading is part of the dev kit and I'll have the complete cabsim effect done soon.  Loading the IR data is via USB/MIDI SYSEX messages and will be supported by both a Python script and HTML/Javascript.  You can use those as is, modify them, etc.

--- Third, about the pedal. Will it have presets of some sort? kind of preset1 with dist, od, one EQ curve ; preset2 with clean, delay and reverb. This, changed with something easy (useful for live gigs). I was thinking, perhaps you could improve the interface using 2 footswitches, and use them for alternating?

The effects that I'm writing have presets.  You can use that code as is or modify the source code to do presets some other way (how to select them, how many are available, etc).  Presets are stored in FLASH memory and the dev kit allows you to read/write the FLASH memory for this sort of stuff.

The effect kit coming out soon now has two foot switches, three LED's, and three knobs.  My effects will use these in some specific way but again you can change the code to your liking.  After the 3-knob kit I may follow up with a 6-knob kit.

--- Forth, why the USB type-B? I kinda was expecting it to be micro, or even typeA

I chose the type A since it's more rugged.  The case is large enough for the jack.  But if for some reason there's demand for the other jack types I'll have to consider that.

--- All in all, this project is really cool, I'll back it when it's out

Great!  I hope to KickStart the kit in a week or two :-)

audioartillery

I like the large USB connectors actually. I have a micro on the kit I'm using right now and while works, it's fiddly and not something you'd actually want to use in a live situation (it's fine for programming).

I'm looking forward to this kit coming out. 3 knobs and 3 switches is great. I've got 6 right now it's handy when first roughing out an effect but if an effect has that many control dimensions it's easy to get lost.

audioartillery

Mark, I haven't been following the discussion about impulse response stuff much, but I was wondering if this hardware is suitable for convolutional reverb with large (~10s) impulse responses.  How much storage is there for delay memory and impulse responses?  Can the CPU(s) support a straight forward convolution?  Or are you doing something FFT based?

markseel

#347
Hi!

As you probably know convolution when applied to effects is used for a number of things ranging from speaker/cab sim or early reverb/reflection modeling (short IR's of 20msec to 200 msec), to medium lengths for short reverb and small rooms (100's of msec), to very long lengths (seconds) for very large space reverb modeling.

Convolution in the time domain (like an FIR) is simple, low latency, but CPU intensive.  It's OK for short IR lengths (speaker/cabsim) and on an XMOS tile (using five cores) it maxes out at about 75 to 80 msec.

Convolution in the frequency domain (FFT's, weighted overlapping) is more complicated, higher latency, but more efficient as lengths become longer.  Using a combination of the two to achieve low latency and still scale to longer IR's is the way to go.

I don't have any code yet to do the frequency domain convolution - perhaps in early to mid 2019 I'll have it added to the DSP library.

With the XMOS part doing mostly frequency domain convolution and not much other effects stuff I think you could achieve around 1 or 2 seconds (at a 32kHz to 48kHz sample rate) but that's about it.  In this case we're limited by the XMOS tile having only 256Kb for both data and program storage.

Interfacing to external DRAM is a possibility - I'm doing this now for another project.  After that's working and if it's fast enough, and after FFT/overlapped convolution support then the convolution effect would be MIPs/CPU limited.  As a 1st guess I'd venture to say that 5 seconds would be possible with a mixed time/frequency domain approach (maybe more?).

Hope this helps!

audioartillery

Thanks Mark, that's helpful.  The Xmos tiles being able to stomach a 5 second IR (I understand this is just your guess) is impressive.

I'm starting to wonder if some dedicated hardware for long (10 seconds) convolution effects exists.  Like maybe using an FPGA to help with speeds issues and interfacing it to a large DRAM.  Way out of scope of your project, but it's something I'm interested in.  Mainly because the building I work in has this amazing stairwell that has a crazy reverb to it.

markseel

Yeah maybe an FPGA could help with that stuff.  For XMOS I think there's enough MIPs but simply not enough RAM.  Some SHARC's have lots of RAM and they're certainly fast (double an XMOS tile when not using HW accelerated FIR/IIR/FFT blocks, and much faster when doing so).  I'm using pseudo-DRAM that has the DRAM controller built in to the DRAM part so that is looks more like SRAM when interfacing to it.  If that's fast enough then one or two or those (they're not expensive) would be enough storage.  So then it's down to benchmarking the XMOS/FFT stuff.  I'm looking forward to this :-)

Blackaddr

Quote from: markseel on November 29, 2018, 07:38:35 PMI'm using pseudo-DRAM that has the DRAM controller built in to the DRAM part so that is looks more like SRAM when interfacing to it.  If that's fast enough then one or two or those (they're not expensive) would be enough storage.  So then it's down to benchmarking the XMOS/FFT stuff.  I'm looking forward to this :-)

Which part is the pseudo-DRAM? sounds interesting.
Blackaddr Audio
Digital Modelling Enthusiast
www.blackaddr.com


MetalGuy

#352
I would suggest a dedicated IR version of the board (for end users not interested in coding and further tweaking) where one could load several longer impulses (200-500ms) combined with MIDI and user friendly software. An OLED display showing the impulse number and name would also be great.
Note that currently there's only one such readily available module - the AMT's CP-16 so maybe there's a niche for a more capable product.

tcpoint


markseel

Almost ready for the next KickStarter which will be for the full kit which includes the FlexFX DSP board and a main board that it plugs into.

The main board for the kit is the same board that goes inside of this upcoming pedal ...
https://www.instagram.com/p/BtM1ACgHuDH/

It has two rotary encoders with push-buttons, USB connector, 9V jack, two foot switches, in/out jacks, and 6-digit LED display. There's also a DRAM to support 3 to 6 minutes of looping.  Audio path is fully differential; differential mono input from TRS jack to ADC, differential from DAC to output driver that has single-ended TRS stereo output.

The overdrive/preamp, plate reverb, multi-voice chorus/flanger/delay, and amp/cab (IR) sim are all pretty much finished and ready for final testing.  Adding an effect called 'old-n-busted' which is a sort of configurable wow/flutter + tape hiss + tape saturation + audio dropping (bad connection) sort of effect with configurable parameters.  Will do a basic multi-layer looper using the DRAM after that.  Source-code for all effects are available from GitHub - but I haven't updated it for a while and won't until I've tested the effects with the new board.

This thing should be pretty awesome.  Hopefully just a few weeks from KickStarting :-)

audioartillery


markseel


markseel

OK back at it.  It's been a really busy time with family, work, and side projects but I'm going to take another whack at a KickStarter for the FlexFX dev kit.  Speaking of side projects check these out:

The C99 Mutli-Effects pedal
https://www.kickstarter.com/projects/632112529/68367638?ref=499075&token=c082d5ce

Chase Bliss Audio Blooper
https://www.instagram.com/chaseblissaudio/p/BtAMQ5oBwyV/
https://pedals.thedelimagazine.com/new-prototype-at-namm-2019-chase-bliss-audio-blooper/
https://www.gearnews.com/namm-2019-chase-bliss-audio-blooper-prototype/

Fun stuff!!!  The C99 pedal video is being made now and the KickStarter for that should start in a couple of weeks.  The Blooper is going really well but it's going to take a while to finalize how that works.

Here's the updated FlexFX kit hardware ...



The board on the left is the main board that has connections for 8 pots, 2 foot switches, 3 LED's, stereo line out, stereo line in (buffered), 9V power jack, USB jack.

The board on the right is the core DSP/CODEC module that has the XUF216 and an AK4621 differential in/out stereo CODEC.  This board run off a single 3.3V supply and has connections for power, ground, USB signals, I2S MCLK/BCLK/WCLK, UART TX/RX, I2C SDA/SCL, 4 DAC wires, 4 ADC wires, and JTAG.

The core module simply plugs into the main board for a full system (where the red square is drawn) - just add jacks, pots, and power.  The core module could also be plugged into your own custom board.

Same software as before (https://github.com/flexfx/flexfx.github.io/blob/master/README.md).  This is the same foundation as is used in the C99 pedal and the Blooper (although the Blooper has additional DRAM chips for loop audio storage).

audioartillery

Quote from: markseel on April 29, 2019, 10:49:30 PM
The board on the left is the main board that has connections for 8 pots, 2 foot switches, 3 LED's, stereo line out, stereo line in (buffered), 9V power jack, USB jack.

Are there a few spare pins for GPIO usage?  In particular I really like these 5mm WS2812 programmable LED's -- especially for a multi FX pedal where I'm loading different effects onto it.  Helps keep things straight :).

markseel

#359
Sure I can add four GPIO's. 1st board revision is done. The XMOS module and audio CODEC works. USB works. I accidentally put the power and USB jacks upside down - easy fix. Didn't have the chip for the eight pots but that's easy to add. So I can kickstart at any time - maybe next week.