Created Mon, 11 Nov 2013 18:46:07 +0000 by iyahdub
Mon, 11 Nov 2013 18:46:07 +0000
Ras B. here. UK resident. Want to say thanks to Microchip, Diligent and Dangerous Prototypes for the prize of a DP32 board. I love the PIC family of chips, know some basic assembly ( from the older 16F family), and worked with PIC32 outside this context (MPLAB ide -both C and ASM and Pinguino DIY version). Love to discover new chips, architectures and boards as well, and will use anything i might see fit for purpose, considering the project in hand ( otherwise id get bored, i guess!! ).
I have been researching and working on building blocks of sound synthesis,Direct digital synthesis, Basics of Digital signal processing, and the any related methods to achieve, sometimes the same, purpose. Been documenting all in either pseudo code, GCC, Arduino Language, you name it ill probably be using it ( haskell included ). So, my vow was : **> "Id use the DP32 to make a CHipKit version of a Retro-Inspired Cynare Drum Synth( ADSR with variable exponential attack, LFO’s included) and some additional features ( Modulation related Like phaser, flanger and some basic reverb and delay- This through an additional memory chip to allow some leverage in the chips memory limitations) "
**
I am still working on implementing some of it, while a lot of it i have or am currently implementing it !
Keep checking here, if this interests you ( among other things like a bit of math, cryptography, etc)
[url]http://dubworks.blogspot.co.uk/2013/11/a-dp32-chipkit-from-dangerous.html[/url]
Tue, 12 Nov 2013 06:46:25 +0000
Hi Ras B,
Welcome to the forum. The DP32 is a great little board, and my personal favorite of the chitKIT Family so far.
The DIP Version of the CPU, both the MX250 and MX150, may at first appear limited in relation to their larger stable mates but don't let that put you off. They are very capable cores, packed with peripherals, and PPS (Peripheral Pin Select) allows you to, within reason, assign them to pins as needed optimize your design / application.
Talking of optimizing, I saw mention on your blog of worries over lack of memory and bloated software from the Arduino Like compiler. You will be pleasantly surprised how well the compiler optimizes, and never forget that the Arduino stuff is just a wrapper around C++ and the C++ is an extension of C. If you want to make your code tight, then just write it in C and don't call the Arduino Libraries, but it is nice having them there to quickly test ideas.
This version of the compiler has far tighter optimization than the FREE version of XC32 and, as both are based on the same Open Source code base (GCC), you can rum Microchip Libraries and use PLib etc. in MPIDE just as you would in MPLABX.
I like your subject choice, this chip is well suited to DSP and I have dabbled with using it as a synth myself. You can get some Great Sounds out of it. But I got horribly lost in the Mathematics when I started to read up on the Theory of DSP and could find very little in the way of sample code in C to help me understand it better. I think my Older brain has lost its ability to soak up math theory that it had in my youth :)
Good look with your journey and I look forward to following your progress.
Cheers Chris
Tue, 12 Nov 2013 12:58:15 +0000
Usual problems in people grasping those methods stem from the difference of translating to the discrete-time, concepts that are taught from a mathematical point of view. At least thats where most seem to struggle ! Some even master the methods without really understanding it ( how many times we came across people that say: "Ahhh, now i understand what i was taught at uni 5 or 10 years ago".
So, yeah, the maths behind it is somewhat daunting at times, if you're suddenly faced with it. A bit like differential and integral calculus : Everyone talks about it but not many can explain it !But as with anything else,, once you have time to assimilate it properly , all makes sense ( to which a good teacher, book, lectures will make a massive difference; Book theory can never compete with itself allied to a good explanation; Some lecturers regurgitate text book theory, while others actually bother to explain you properly, in a way that will make sense to anyone !). On the topic of good lecturers , ill give you a few examples of some people i could listen to for days: Herbert Gross, Richard Feynman, Alan V. Oppenheim, to mention but a few .
And for the record, thanks for your series of tutorials on the DP32 and BB32. Ill definitely will be referencing them during my documenting blog posts. Thanks for taking the time to share it !
Tue, 12 Nov 2013 13:22:25 +0000
... for the record, thanks for your series of tutorials on the DP32 and BB32. Ill definitely will be referencing them during my documenting blog posts. Thanks for taking the time to share it !
Thanks Ras B,
I'm glad you found them useful.
Real Life got in the way a bit over the past couple of months so I have not had a chance to add to the Blog lately. But I have a great series of articles in the final stages. I am just doing final hardware testing to ensure everything is working before I publish. I think you will find them particularly interesting as they are all based on expanding the chipKIT DP32 platform into a compact but capable prototyping system.
As for DSP, my problem is not so much conceptualising it as translating it into code. The Time Domain concept and accumulating / integrating I grasped immediately, being able to translate that in to C code is where the wheels fell off.
And I agree with your choice of speakers, especially Richard Feynman.
Cheers Chris