Low cost audio DSP Exploration

Started by rtomkins 5 years ago24 replieslatest reply 5 years ago1350 views

Looking to explore DSP in audio, here is a low cost solution for exploration

DSP Concepts

Get the Audio Weaver® Designer Standard Edition and ST Edition


Add a STM32F407 Discovery, STM32F746 Discovery, STM32L496 Discovery or STM32F769i Discovery board.

Just say'in.

[ - ]
Reply by CedronMay 26, 2019

Let's see.

1) A good text editor

2) A good compiler

3) A half-way decent computer with a sound card.

Most of us already have those, so really cheap.

Let's explore!

[ - ]
Reply by BEBSynthesizersMay 26, 2019

Hi Cedron,

I don't agree with you if the original poster wants to learn how to DSP as chips (I mean Digital Signal Processors, not Digital Signal Processing)

Programming DSP for audio processing is absolutely not the same as programming a PC or a Mac for audio processing. PC and Mac introduce a lot of latency, they don't have specific units like Data Address Generators.

Even the most basic ARM has better latency performance than a PC or a Mac. And if you deal with NEON instruction set, you can do better than what any C compiler can do on a "standard" computer. And I do not even speak of what can be done with latest SHARC DSP for example (or even XMOS Core 200)


[ - ]
Reply by CedronMay 26, 2019
Yeah, my apologies, I was being snarky.

It all depends on how you interpret "Looking to explore DSP in audio".

So, I'm not disputing anybody's reply to my snarkiness.


[ - ]
Reply by rtomkinsMay 26, 2019

Consider the explosion in IoT (Internet of Things) over the past year or three.

Most of this IoT stuff involves sensors that measure / detect stimulus.

Edge Computing is a growing trend in IoT.

All those sensors measuring all those different stimuli, will need to perform local conversion of the RAW measured datum to something intelligible that can be sent back to the AI (Artificial Intelligence) for the purposes of automated decision and action.

As the stimuli are typically measured with analog instruments / sensors and there will be a conversion to a digital representation of the stimuli that gets sent back, the Edge Computing happening on the MCU is probably going to involve the need to enhance, isolate, noise reduce the measurement, and it's probable that DSP (Digital Signal Processing) will be a cost effective means to enhance the measurements. I say this as for example, hardware filters contain components that fail with age or short life span. A digital filter in code, will live as long as it runs.

Having worked in a number of different technologies in a number of different industries, I recognize that most of the worldy things we humans measure in our environment, happen at speeds that fall within our hearing range, most of the time. Phenomena, that exceed 50 KHz are not normally occurring events of interest to most of us in our daily lives, with the exception of a very small portion of the worlds population. Thus AUDIO DSP Concepts are most likely to be directly applicable to those folks working in IoT Technology.

[ - ]
Reply by CedronMay 26, 2019

Funny you should mention edge detection.  This is my latest answer at DSP.SE:


Personally, I am not enthralled with IoT.  At all.  But that is a different discussion with very non-technical ramifications.

Thanks for your clarification, and again, I apologize for my snarkiness, though the message is still true.  You can do a lot with what you got.


P.S. I'm trying my first file insert.  This is the code I wrote today.  You don't need to install Gambas to view it.  The source is an ordinary (Linux) text file in the .src directory.


What the heck, here is the source file solo:


Here's a sample:



[ - ]
Reply by rtomkinsMay 26, 2019

I actually said, "Edge Computing". The concept being to process as much sensor input locally to the sensor, potentially tossing away outlier measurements, applying AI if possible and reducing the actual message transmission to a minimum or even just messaging the anomalous measurements that require action.

IoT (Internet of Things) is a very big thing right now. Big growth. There are a lot of important areas where the technology can bring new solutions to agriculture, building management, manufacturing, just to name a few. Consider robot performing repetitive operations, 24/7/365. Wire harness replacement across moveable joints can be as often as four or five times a month. 30 robots means that there is a very high expenditure in consumables. Using RF IoT, the wiring can be eliminated. It is not cost effective to water an entire golf course in California, and in some places illegal to do so. Why not water only where an IoT sensor tells the system that thr ground requires water and instead of the watering being on for many hours, only have the water turned on for the time required to achieve the proper moisture content. A lot of golf courses are converting to the use of brown water, and that comes with another set of management problems, as it is very high in nitrogen and phosphorus content. There are municipal, state and federal water use laws that must be adhered to and the use of IoT can facilitate that.

As to your Edge Detection, nice.

I worked for DIPIX in the 80's, installing, commissioning and training end users and maintenance staff in Digital Image Processing. Our early systems used PDP-11/30, PDP-11/40 and PDP-11/70 as well as LSI-11/23 and LSI 11/73 CPU's. CPU clock speeds as high as 20 MHz and up to 4 MB of memory on LSI machines with a 22 bit address bus. Our display hardware had a very large amount of video memory that we mapped into the PDP address space through a sliding window. We did some processing directly on the video memory as well as in the CPU memory.

We had a mathematical genius that used his intimate knowledge of the PDP instruction set and CPU architecture to optimize the FORTRAN generated binaries. Peter would disassemble to binaries and then reduce the assembler to speed execution.

I recall processing four bands of Landsat 3 data for edge detection, being fairly aggressive with the matrix I tossed at the job and started it off around 10:00 am. When I went in to work the next day, the job finished around 3:00 pm. Of course, our edge detection in those days was directional, so having some intelligence about what the Landsat image was helped you to choose the right direction for the job.

A lot of prospectors used the systems looking for gold. They would search for a unique wash in a creek or small river and overlay a vegetative classification on top of the edge detection, the classification coupled with ground truth could help delineate the slope and flat of the land by the differences in the false colour classification of the images.

But, that's another story.

[ - ]
Reply by CedronMay 26, 2019
Well Mr. Tomkins, that is a beautiful rendition of the siren song, and it is hard to resist.  Yes, I know it is a big thing right now, but that does not necessarily imply that it is a good thing.

I'll try to keep this short and concise.  Here are just three concern areas:

1) The potential for abuse.  The same system that can track traffic to help ease congestion can also track everywhere you go.  A basic tenet of control theory is "In order to control something, you must first be able to measure it."  So, anytime someone wants to measure something, you need to be wary that they intend to control it.  This is particularly true of governments and the types of people that are attracted to authoratative positions.  The IoT, as a side effect, is heading us in a direction of being a 100% surveillance state.  How many steps behind that is a totalitarian system?  (US specific:  Who needs the 4th Amendment anyways?)

2) The biological impact of EMFs.  Like it or not, believe it or not, biological processes are not merely chemical in nature, the local electro-magnetic field is of huge importance.  The danger of EMFs is not whether they are ionizing or non-ionizing which seems to be where the "EMFs are completely safe" crowd likes to put the argument, but rather whether they are resonant to biological systems or not.  The stability of a rowboat (the biological system) won't be much affected by the tides (longer EMF), or ripples in the water (shorter EMF), but waves the size (resonant EMF) of the boat can set it rocking.

3) A different set of failure points.  In your robot example, you are eliminating the wiring harnesses as a point of failure.  Yet, at the same time you are introducing hackability and vulnerability to electrical interference.

See, only the third point is really "technical".

Yes, I have similar concerns about GMOs.  We are being utterly reckless.  "Fools rush in where angels fear to tread" is too true in the money race.


P.S. In the early eighties I was hand coding machine language to make my BASICA programs run faster on my 64K dual floppy IBM PC.

P.P.S.  I also had a summer job at the Space Sciences building at Cornell where we also had the PDPs, but I don't remember the model numbers.  We did have the JPL Jupiter images which were cool.

[ - ]
Reply by rtomkinsMay 26, 2019

Hello Ced,

I concede your points, 1, 2 and 3. All of great concern to many people.

  1. Potential for abuse. I continue to believe that a strong and healthy democracy is a mitigating factor in this domain. Within the democracies on the North American Continent, I feel that Canada is better at this than the USA and that Mexico is best at this as they do not have the requisite infrastructure in place to implement a very sophisticated surveillance program.
  2. EMF. I believe that as the distance between source and biologic is increased, the effects of EMF and actual measured power levels decrease.
  3. Failure points. You are correct, the failure points are different, but no necessarily unknown. Mankind, NASA/JPL have really good experience and knowledge in being able to dig intelligible data out of the background noise over astronomical distances, We still receive data from both Voyager spacecraft. I would say that we would be able to characterize the noise, add redundancy and Error Correction to the data and lessen the nasty effects of noise.

Space Sciences and PDP's. In the 70's it would have been something like a PDP-8 and in the 80's PDP-11. The 8's were 12 bit and had lovely core memory and the 11' were 16 bit. These were von Neumann architectures.

As the Genie has already been dropped out of the bottle and onto the sand, I will work within the democratic, moral, ethical, philosophical and human values that I embrace in working in these areas.

I am very aware that there are other places and other people on this planet that do not share similar concepts to mine. For example, a common practice in The People's Republic of China, is to remove organs from incarcerated prisoners of conscience and minority groups while they are still alive for use in organ transplant. This is a thriving commercial business of the People's Liberation Army. For reference, Kilgour - Matas Report.

[ - ]
Reply by CedronMay 26, 2019
Thanks for the thoughtful reply.

Discussing #1 will take us too far afield.  I don't disagree at all.  Unfortunately, I wouldn't characterize our democracy as strong and healthy right now.  Nor is there any comfort to say other places are worse off.

I wish your #2 were true.  It would raise my confidence in my mitigation efforts (wired network, no wifi, no cell phone, etc.)  However, with wave phenomenon, frequency is more important than intensity.  There is this study, which got no MSM attention (a robust independent media is an important attribute of a healthy democracy, and we ain't got that.  Pravda level yet?  Close.):


In short, skin cancer rates have a higher correlation to FM transmitters than sun exposure.  This may be due to the standing waves produced in interference patterns between multiple transmitters.  Likewise, there was another study I read a while ago, and couldn't find, claiming cancer spikes in cows in areas that are equidistant from cell phone towers.

For your #3:  Of course there are techniques to overcome electrical interference.  How much to employ becomes another tradeoff decision.  No point in getting into a detailed discussion about that.  Put them in a nice shielded building and you reduce hackability and electrical interference issues, but that is another expense.

Unfortunately, most business decisions are (and have to be) economically driven and moral and ethical considerations aren't as important until they are encoded into law, which law is not intended to do which leads to overly restrictive laws, which leads to abusive behavior of officials (can you say "conditions conducive to corruption" three times fast?)

Yeah, the Genie is out and can't be put back.  Broad recognition of that is indeed important for our democracy to work correctly.  Sadly, that ain't happening because we need to talk about Gwen and Blake, and Adam quitting the show.

Getting back to the intent of your original post.  I applaud your effort in trying to get people to learn how to do stuff themselves.  IMnsHO, Playing with stuff is much more effective, though not as efficient, as coursework in learning tough technical material.


[ - ]
Reply by mchavezMay 26, 2019

I suggest SigmaStudio and the SigmaDSP

[ - ]
Reply by rtomkinsMay 26, 2019

More excellent inexpensive resources,

[ - ]
Reply by rtomkinsMay 26, 2019

So, as I was saying, I did not mean to be SPAM, but if two more people in this forum declare that my original entry is SPAM, I will delete everything I posted and not darken your lofty doorsteps again.

[ - ]
Reply by Rick LyonsMay 26, 2019

Hi rtomkins. I hope you do not abandon this web site. dsprelated.com is an educational and valuable web site for guys interested in DSP.

[ - ]
Reply by rtomkinsMay 26, 2019

Hello Rick,

Thank you for your encouragement.

I have associated with folks from all over the world, in all walks of life and work and it has always seemed that sharing my knowledge with other folks can help other people learn, do their job, be aware of alternative solutions, and save money.

There are people out that that are so smart and the only thing they need to get something in gear is a helping hand.

I installed, commissioned and taught operations for a large system at Tsinghua University. At DIPIX, one of our engineers wrote a driver for RSX-11M Plus, to partition a single 200 MB disk drive (180 lbs, oh my back still hurts) into a logical spindle for the OS and a separate spindle for image data. During image processing, disk IO was really intense, but the driver was written with this in mind while still giving optimum repose to the OS. The engineer worked on that for a few months, as a lot of it was dark arts, DEC wanted you to buy their disks, so documentation was terse. Two weeks after installing the system, an engineering student at Tsinghua, who until that time had never actually had a real computer, terminal, printer and compiler to work with, cooked up a similar driver. Brilliant work and all he needed was a resource to enable him to fly.

So, thanks, I will continue to contribute. I want to help other people excel at making the world a better place for all of us, after all, we only have one spaceship for our foreseeable future.

[ - ]
Reply by Rick LyonsMay 26, 2019

Hi rtomkins. In an earlier reply you wrote: "I want to see this wonderful forum become a strong resource for others, people that are learning as well as people that have a vexing problem they need help in solving."

I believe this Forum is both of those desirable things!

In this thread there are a number of references to DEC's PDP-11 minicomputers. The word "minicomputer" was a bit misleading. Forty years ago I only knew a couple of guys who had the physical strength to lift a fully-loaded (with core memory) PDP-11 chassis up off the floor (myself not included). I used to have the job of "repairing" PDP-11s at military installations overseas when there was a PDP-11 problem the local military technicians couldn't solve.

The PDP-11 was neat in the sense that it had front panel switches and LED (I think) display lights that allowed you to load and examine the contents of the computer's main memory locations using the computer's front panel  toggle switches. You were able to load a sequence of octal machine code commands into the memory and then execute those commands.

For example, from the front panel you could load memory with the octal machine code commands to send the letter 'A' to a printer. If  you executed those commands and the printer printed the letter 'A' you have verified the proper operation of:

[1] the computer's Power supply

[2] most of the computer's central processing unit

[3] Some portion of computer memory

[4] The hardware interface board between the CPU and the printer

[5] The cable between the CPU and the printer, and

[6] The printer.

Keeping in mind now, I'm talkin' about trying to repair a computer that has no keyboard or monitor. If you're interested in hearing a mildly interesting, or perhaps painfully boring, PDP-11 story from me, just let me know.

[ - ]
Reply by rtomkinsMay 26, 2019

Love to hear it.

My work in manufacturing engineering was very broad, one of the tenets at DEC was that staff mostly defined their roles within the operation. Sure, we had responsibilities for specific items, but everyone was encouraged to get involved and do more of the stuff tat they enjoyed. Something behind this philosophy was that when you opened your mouth to say something like, "we otta do this, this way or someone should work to improve that...", well, your idea, you run with it. If you needed resources and guidance and training to make it a reality, you were responsible for soliciting others and getting buy in. We did a lot of stuff by consensus. VAX Notes was a tremendous kick to the corporation. Open discussions in universally accessible and public forums worldwide to all employees about almost any conceivable subject matter, including VAX Notes specific to every product being developed or sold and many experiments too. Thousands of discussions and everyone from the President to the guy that swept the floor could participate in every VAX Notes conference.

Hearing something for the outside would be a great thing.

As this is way off topic from my original post, maybe we should move to the electronics section?