DSPRelated.com
Forums

DMFX-1: Open Source HW/SW Audio Digital Multi Effects

Started by rezzonics April 1, 2016
Hello,
I am working on an Open Source HW/SW project, DMFX-1, Audio Digital Multi
Effects, originally conceived as a guitar pedal that will include
multitude of effects:
Distorsion, Overdrive, Fuzz, Compressor, Equalizer, Phaser, Chorus, Delay,
Reverberation, Flanger, Tremolo, Pitch Shift, Wah-wah ...
HW is based on two TI TMS320C5535 DSP, one is used for digital audio and
the other one as user interface control. It includes up to two SD cards to
store audio samples, data, code..., a stereo audio codec, it supports
audio over USB. 
It is low power, and it can be powered by external power source or USB.
It includes TI X100v2 emulator via a dedicated USB port.
HW is up and running, I can provide full BoM, schematics and gerbers if
anybody is interesting in building a kit. I would appreciate any help to
manufacture and build HW kits.
It is largely compatible with ezDSP5535 evaluation kit, so people can
start developing code on evaluation kit and then use it on the DMFX-1
kit.
Software is developed in C or assembly code using TI Code Composer Studio
using DSP/BIOS.
I am working in the DSP code and libraries and soon it will be available
as open source. I will  need to build a community of SW developers in
order to enrich the DSP libraries, I am myself a HW guy so help and
collaboration is more than welcome.

Additional info can be found in the following links:
My personal blog:
http://rezzonics.blogspot.fr/2015/07/dmfx-1-open-source-digital-multi.html

Makerspace blog:
https://makerspace.com/projects/dmfx-1-digital-multi-audio-fx-for-guitar
I posted HW build photos on DIY guitar pedal group and DIY Synth groups on
Facebook
https://www.facebook.com/groups/6110761372/permalink/10152986565576373/
e2e TI forum:
https://e2e.ti.com/group/launchyourdesign/f/731/t/475625
I will be publishing sound tests on Soundcloud:
https://soundcloud.com/rezzonics/sets/dmfx-1-delay-effects



---------------------------------------
Posted through http://www.DSPRelated.com
"rezzonics" <59996@DSPRelated> writes:

> Hello, > I am working on an Open Source HW/SW project, DMFX-1, Audio Digital Multi > Effects, originally conceived as a guitar pedal that will include > multitude of effects: > Distorsion, Overdrive, Fuzz, Compressor, Equalizer, Phaser, Chorus, Delay, > Reverberation, Flanger, Tremolo, Pitch Shift, Wah-wah ... > HW is based on two TI TMS320C5535 DSP, one is used for digital audio and > the other one as user interface control. It includes up to two SD cards to > store audio samples, data, code..., a stereo audio codec, it supports > audio over USB. > It is low power, and it can be powered by external power source or USB. > It includes TI X100v2 emulator via a dedicated USB port. > HW is up and running, I can provide full BoM, schematics and gerbers if > anybody is interesting in building a kit. I would appreciate any help to > manufacture and build HW kits. > It is largely compatible with ezDSP5535 evaluation kit, so people can > start developing code on evaluation kit and then use it on the DMFX-1 > kit. > Software is developed in C or assembly code using TI Code Composer Studio > using DSP/BIOS. > I am working in the DSP code and libraries and soon it will be available > as open source. I will need to build a community of SW developers in > order to enrich the DSP libraries, I am myself a HW guy so help and > collaboration is more than welcome. > > Additional info can be found in the following links: > My personal blog: > http://rezzonics.blogspot.fr/2015/07/dmfx-1-open-source-digital-multi.html > > Makerspace blog: > https://makerspace.com/projects/dmfx-1-digital-multi-audio-fx-for-guitar > I posted HW build photos on DIY guitar pedal group and DIY Synth groups on > Facebook > https://www.facebook.com/groups/6110761372/permalink/10152986565576373/ > e2e TI forum: > https://e2e.ti.com/group/launchyourdesign/f/731/t/475625 > I will be publishing sound tests on Soundcloud: > https://soundcloud.com/rezzonics/sets/dmfx-1-delay-effects
Hey! Neat project! Great idea! I have a few comments regarding the software: 1. Is the user interface defined and/or a plugin system defined? It seems like there is a separate (git?) repo for each effect, or am I mistaken? Seems like it would be better to have just one repo and so that everyone shares the common interface elements. 2. Is there better documentation somewhere? (My previous question may be moot..) 3. I took a listen to the leslies. OK for a first-pass, but nothing there I would really call a leslie. I've had three in my life: 145, 910, and 122. I also have a Roland VK7 which has a built-in leslie simulator that is much nicer. But overall I give it an A+ for effort. I know it was a lot of work to get this far. -- Randy Yates, DSP/Embedded Firmware Developer Digital Signal Labs http://www.digitalsignallabs.com
Randy Yates <yates@digitalsignallabs.com> writes:

> "rezzonics" <59996@DSPRelated> writes: > >> Hello, >> I am working on an Open Source HW/SW project, DMFX-1, Audio Digital Multi >> Effects, originally conceived as a guitar pedal that will include >> multitude of effects: >> Distorsion, Overdrive, Fuzz, Compressor, Equalizer, Phaser, Chorus, Delay, >> Reverberation, Flanger, Tremolo, Pitch Shift, Wah-wah ... >> HW is based on two TI TMS320C5535 DSP, one is used for digital audio and >> the other one as user interface control. It includes up to two SD cards to >> store audio samples, data, code..., a stereo audio codec, it supports >> audio over USB. >> It is low power, and it can be powered by external power source or USB. >> It includes TI X100v2 emulator via a dedicated USB port. >> HW is up and running, I can provide full BoM, schematics and gerbers if >> anybody is interesting in building a kit. I would appreciate any help to >> manufacture and build HW kits. >> It is largely compatible with ezDSP5535 evaluation kit, so people can >> start developing code on evaluation kit and then use it on the DMFX-1 >> kit. >> Software is developed in C or assembly code using TI Code Composer Studio >> using DSP/BIOS. >> I am working in the DSP code and libraries and soon it will be available >> as open source. I will need to build a community of SW developers in >> order to enrich the DSP libraries, I am myself a HW guy so help and >> collaboration is more than welcome. >> >> Additional info can be found in the following links: >> My personal blog: >> http://rezzonics.blogspot.fr/2015/07/dmfx-1-open-source-digital-multi.html >> >> Makerspace blog: >> https://makerspace.com/projects/dmfx-1-digital-multi-audio-fx-for-guitar >> I posted HW build photos on DIY guitar pedal group and DIY Synth groups on >> Facebook >> https://www.facebook.com/groups/6110761372/permalink/10152986565576373/ >> e2e TI forum: >> https://e2e.ti.com/group/launchyourdesign/f/731/t/475625 >> I will be publishing sound tests on Soundcloud: >> https://soundcloud.com/rezzonics/sets/dmfx-1-delay-effects > > Hey! > > Neat project! Great idea! > > I have a few comments regarding the software: > > 1. Is the user interface defined and/or a plugin system defined? It > seems like there is a separate (git?) repo for each effect, or am I > mistaken? Seems like it would be better to have just one repo and so > that everyone shares the common interface elements. > > 2. Is there better documentation somewhere? (My previous > question may be moot..) > > 3. I took a listen to the leslies. OK for a first-pass, but nothing > there I would really call a leslie. I've had three in my life: 145, > 910, and 122. I also have a Roland VK7 which has a built-in leslie > simulator that is much nicer. > > But overall I give it an A+ for effort. I know it was a lot of work > to get this far.
PS: Also, is there a way to chain effects together? Do you have specs on the maximum C55 MIPS any one effect can take? Also, What sample rate are you running at? -- Randy Yates, DSP/Embedded Firmware Developer Digital Signal Labs http://www.digitalsignallabs.com
>"rezzonics" <59996@DSPRelated> writes: > >> Hello, >> I am working on an Open Source HW/SW project, DMFX-1, Audio Digital
Multi
>> Effects, originally conceived as a guitar pedal that will include >> multitude of effects: >> Distorsion, Overdrive, Fuzz, Compressor, Equalizer, Phaser, Chorus, >Delay, >> Reverberation, Flanger, Tremolo, Pitch Shift, Wah-wah ... >> HW is based on two TI TMS320C5535 DSP, one is used for digital audio
and
>> the other one as user interface control. It includes up to two SD
cards
>to >> store audio samples, data, code..., a stereo audio codec, it supports >> audio over USB. >> It is low power, and it can be powered by external power source or
USB.
>> It includes TI X100v2 emulator via a dedicated USB port. >> HW is up and running, I can provide full BoM, schematics and gerbers
if
>> anybody is interesting in building a kit. I would appreciate any help
to
>> manufacture and build HW kits. >> It is largely compatible with ezDSP5535 evaluation kit, so people can >> start developing code on evaluation kit and then use it on the DMFX-1 >> kit. >> Software is developed in C or assembly code using TI Code Composer
Studio
>> using DSP/BIOS. >> I am working in the DSP code and libraries and soon it will be
available
>> as open source. I will need to build a community of SW developers in >> order to enrich the DSP libraries, I am myself a HW guy so help and >> collaboration is more than welcome. >> >> Additional info can be found in the following links: >> My personal blog: >> >http://rezzonics.blogspot.fr/2015/07/dmfx-1-open-source-digital-multi.html >> >> Makerspace blog: >>
https://makerspace.com/projects/dmfx-1-digital-multi-audio-fx-for-guitar
>> I posted HW build photos on DIY guitar pedal group and DIY Synth
groups
>on >> Facebook >>
https://www.facebook.com/groups/6110761372/permalink/10152986565576373/
>> e2e TI forum: >> https://e2e.ti.com/group/launchyourdesign/f/731/t/475625 >> I will be publishing sound tests on Soundcloud: >> https://soundcloud.com/rezzonics/sets/dmfx-1-delay-effects > >Hey! > >Neat project! Great idea! > >I have a few comments regarding the software: > > 1. Is the user interface defined and/or a plugin system defined? It > seems like there is a separate (git?) repo for each effect, or am I > mistaken? Seems like it would be better to have just one repo and so > that everyone shares the common interface elements. > > 2. Is there better documentation somewhere? (My previous > question may be moot..) > > 3. I took a listen to the leslies. OK for a first-pass, but nothing > there I would really call a leslie. I've had three in my life: 145, > 910, and 122. I also have a Roland VK7 which has a built-in leslie > simulator that is much nicer. > >But overall I give it an A+ for effort. I know it was a lot of work >to get this far. >-- >Randy Yates, DSP/Embedded Firmware Developer >Digital Signal Labs >http://www.digitalsignallabs.com
Hello, Thanks for your comments. I am working on the first version of SW that will include several effects. Once it is ready I will publish it on git as a single repository with code for both DSPs. There is an app audio task running on audio DSP that allows to plug-in effects, they are called as a C function with basically input and output samples as function parameters. Level, rate, depth, attack, sustain and other effect parameters are part of a global C data structure that can be modified. User interface modifies parameters on this structure that is transferred via I2C bus from Control DSP to Audio DSP in real time. I need to work on documentation, but I think that going through code and its comments will provide a good insight of how it works and provide all the info required. Leslie on those audio samples is actually just adding a rotating effect to an existing effect: chorus, tremolo, flanger, by dephasing left and right channels at a defined speed rate. I agree that I still have to work a bit more on some effects, working on fixed point arithmetic can be challenging in order to avoid saturation while keeping a good dynamic range. The goal is that people participate and add value to existing effects or create new ones. Regards, Thanks for your encouragement. --------------------------------------- Posted through http://www.DSPRelated.com
>Randy Yates <yates@digitalsignallabs.com> writes: > >> "rezzonics" <59996@DSPRelated> writes: >> >>> Hello, >>> I am working on an Open Source HW/SW project, DMFX-1, Audio Digital >Multi >>> Effects, originally conceived as a guitar pedal that will include >>> multitude of effects: >>> Distorsion, Overdrive, Fuzz, Compressor, Equalizer, Phaser, Chorus, >Delay, >>> Reverberation, Flanger, Tremolo, Pitch Shift, Wah-wah ... >>> HW is based on two TI TMS320C5535 DSP, one is used for digital audio
and
>>> the other one as user interface control. It includes up to two SD
cards
>to >>> store audio samples, data, code..., a stereo audio codec, it supports >>> audio over USB. >>> It is low power, and it can be powered by external power source or
USB.
>>> It includes TI X100v2 emulator via a dedicated USB port. >>> HW is up and running, I can provide full BoM, schematics and gerbers
if
>>> anybody is interesting in building a kit. I would appreciate any help
to
>>> manufacture and build HW kits. >>> It is largely compatible with ezDSP5535 evaluation kit, so people can >>> start developing code on evaluation kit and then use it on the DMFX-1 >>> kit. >>> Software is developed in C or assembly code using TI Code Composer >Studio >>> using DSP/BIOS. >>> I am working in the DSP code and libraries and soon it will be
available
>>> as open source. I will need to build a community of SW developers in >>> order to enrich the DSP libraries, I am myself a HW guy so help and >>> collaboration is more than welcome. >>> >>> Additional info can be found in the following links: >>> My personal blog: >>> >http://rezzonics.blogspot.fr/2015/07/dmfx-1-open-source-digital-multi.html >>> >>> Makerspace blog: >>>
https://makerspace.com/projects/dmfx-1-digital-multi-audio-fx-for-guitar
>>> I posted HW build photos on DIY guitar pedal group and DIY Synth
groups
>on >>> Facebook >>>
https://www.facebook.com/groups/6110761372/permalink/10152986565576373/
>>> e2e TI forum: >>> https://e2e.ti.com/group/launchyourdesign/f/731/t/475625 >>> I will be publishing sound tests on Soundcloud: >>> https://soundcloud.com/rezzonics/sets/dmfx-1-delay-effects >> >> Hey! >> >> Neat project! Great idea! >> >> I have a few comments regarding the software: >> >> 1. Is the user interface defined and/or a plugin system defined? It >> seems like there is a separate (git?) repo for each effect, or am I >> mistaken? Seems like it would be better to have just one repo and so >> that everyone shares the common interface elements. >> >> 2. Is there better documentation somewhere? (My previous >> question may be moot..) >> >> 3. I took a listen to the leslies. OK for a first-pass, but nothing >> there I would really call a leslie. I've had three in my life: 145, >> 910, and 122. I also have a Roland VK7 which has a built-in leslie >> simulator that is much nicer. >> >> But overall I give it an A+ for effort. I know it was a lot of work >> to get this far. > >PS: Also, is there a way to chain effects together? Do you have specs on >the maximum C55 MIPS any one effect can take? > >Also, What sample rate are you running at? >-- >Randy Yates, DSP/Embedded Firmware Developer >Digital Signal Labs >http://www.digitalsignallabs.com
Yes, effects can be chained, even different chains could be foreseen for left and right channels with slight modifications. CPU load can very easily be verified with the TI XDS100v2 emulator that is included in the HW. The most complex delay effect implemented in C language is getting now 50% CPU load. Good coding practice can also reduce CPU load. I am now running at 48kHz. Sampling rate could be reduced in order to have more CPU cycles available. I guess that for guitar effects, 16 kHz could still provide acceptable quality but it will require to parameterize filter coefficients and other sampling frequency depending variables. DSP internal RAM memory can store less than one second of delay, for delays longer than 1s samples have to be stored on external SD memory card. --------------------------------------- Posted through http://www.DSPRelated.com