#DigitalSignalProcessing

Got the urge to #code something quickly on Sunday at 11pm. 2 hours later all I had was the boilerplate set up and a firm realization that I don't remember literally anything I learned about fourier transforms at university.

Back onto the "revisit at more oppurtune time" pile it goes. Literally.

#programming #digitalsignalprocessing

Futurridefuturride
2024-01-04

Meridian Audio gives Kia’s EV9 an immersive, EV-optimized acoustic experience
The solution was to move the focus from hardware to software, according to Meridian Chief Executive John Buchanan, with the 14-speaker system employing a suite of proprietary digital signal processing technologies optimized for the surprisingly challenging acoustic environment.

futurride.com/2024/01/03/merid

2023-07-17

Clever work of using scintillation caused by the cold plasma in the interstellar medium to confirm the extraterrestrial nature of SETI radioastronomy signals beyond spatial reobservation!

#SETI #RadioAstronomy #Astronomy #SignalProcessing #DigitalSignalProcessing #DSP #Algorithms
news.berkeley.edu/2023/07/17/w

André DouzetteEonsv
2023-06-20

I have been experimenting with BPM and beat position algorithms lately to use in my music player app.
Got something working that is often more accurate than what I’m able to quickly get when counting the music tempo manually. I used this to make an iOS app (my first one!) that finds the tempo in the audio from the microphone. Check it out if you are interested in that sort of things: apps.apple.com/us/app/auto-bpm

2023-01-24

I was able to finally score a #HackRFOne #SoftwareDefinedRadio. Not easy to come by in these days of the #chipShortage. Working great so far with my #MacBook, with the software installed from #MacPorts. Now on to some adventures with #DigitalSignalProcessing and #gnuRadio

#SDR DSP #STEM

A black, rectangular plastic enclosure with the words "HackRF One" and "Great Scott Gadgets" on it in yellow letters. An antenna input is on the left side, and a clock input and output is on the right side, protected by cylindrical, soft plastic covers.
2022-04-18

Processing Audio With the RP2040

The Raspberry Pi, although first intended as an inexpensive single-board computer for use in education, is now ubiquitous in electronics communities. Its low price as well as Linux platform and accessible GPIO make it useful in many places outside the classroom. But, if you want to abandon the ease-of-use in favor of an even lower price, the Raspberry Pi foundation makes that possible as well with the RP2040 chip, commonly found on the Pico. [Jason] shows us one way to make use of this powerful chip by putting one in an audio digital signal processing board.

While development boards are available for this chip, [Jason] has opted instead for a custom PCB which he designed himself and includes an integrated headphone amplifier and 3.5 mm audio jacks. To do the actual DSP work, the RP2040 chip uses three 12-bit ADC channels and 16 controllable PWM channels. The platform is also equipped with the TLV320AIC3254 codec from Texas Instruments. With all of this put together, he has a functioning open-source platform he calls the DS-Pi.

[Jason] has built this as a platform for guitar effects and as a customizable guitar amp modeler, but with a platform that is Arduino-compatible and fairly easy to program it could be put to use for anything involving other types of music or audio processing, like this specialized MIDI-compatible guitar effects platform which is built around the same processor.

#microcontrollers #adc #arm #audio #digitalsignalprocessing #dsp #effects #guitar #pwm #raspberrypi #rp2040

image
2021-12-13

Active Pickguard Makes For A Great Guitar Mod

Much discussion goes on in the guitar world about the best hardware to use. Whether its pickups, how they're positioned, or even the specific breed of wood on the fretboard, it's all up for debate. [Eli Hughes] put much of that to one side, however, with his innovative "Active Pickguard" project.

The project reimagines the electronics of an electric guitar from the ground up. Instead of typical electromagnetic pickups, six individual piezo pickups are built into the bridge - one for each individual string. The outputs of these pickups is conditioned and then read by the analog-to-digital converter of a Freescale Kinetis K40. The DSP-capable chip can then be used to apply all manner of effects. [Eli] demonstrates the guitar providing an uncanny imitation of an acoustic guitar, before demonstrating jazz and overdrive tones as well.

The Kinetis chip also features touch-sensitive inputs, which [Eli] put to good use. All the hardware is built into a pickguard-shaped PCB, complete with touch controls for things like volume, tone, and choosing different DSP patches.

Unlike a regular guitar, this one needs a power supply, which it gets via a CAT 6 cable, in place of the usual 1/4″ guitar cable. The CAT 6 also carries audio out to a converter box which allows the audio to be output to a regular guitar amplifier.

It's a neat build, and one that shows just how modern technology can reimagine a simple 20th-century instrument. DSP really is magic, after all. Video after the break.

\

#musicalhacks #digitalsignalprocessing #dsp #electricguitar #guitar #pickguard

image
2021-07-12

The parameter modulation needs a place directly in the core DSP loop of HexoSynth. I just love how easy it is to write well structured and performant code with Rust.

#vstplugin #foss #opensource #linuxaudio #audioprogramming #programming #rustlang #rustprogramming #opensource #coding #vim #digitalsignalprocessing

2021-05-26

Speech Recognition on an Arduino Nano?

Like most of us, [Peter] had a bit of extra time on his hands during quarantine and decided to take a look back at speech recognition technology in the 1970s. Quickly, he started thinking to himself, "Hmm…I wonder if I could do this with an Arduino Nano?" We've all probably had similar thoughts, but [Peter] really put his theory to the test.

The hardware itself is pretty straightforward. There is an Arduino Nano to run the speech recognition algorithm and a MAX9814 microphone amplifier to capture the voice commands. However, the beauty of [Peter's] approach, lies in his software implementation. [Peter] has a bit of an interplay between a custom PC program he wrote and the Arduino Nano. The learning aspect of his algorithm is done on a PC, but the implementation is done in real-time on the Arduino Nano, a typical approach for really any machine learning algorithm deployed on a microcontroller. To capture sample audio commands, or utterances, [Peter] first had to optimize the Nano's ADC so he could get sufficient sample rates for speech processing. Doing a bit of low-level programming, he achieved a sample rate of 9ksps, which is plenty fast for audio processing.

To analyze the utterances, he first divided each sample utterance into 50 ms segments. Think of dividing a single spoken word into its different syllables. Like analyzing the "se-" in "seven" separate from the "-ven." 50 ms might be too long or too short to capture each syllable cleanly, but hopefully, that gives you a good mental picture of what [Peter's] program is doing. He then calculated the energy of 5 different frequency bands, for every segment of every utterance. Normally that's done using a Fourier transform, but the Nano doesn't have enough processing power to compute the Fourier transform in real-time, so Peter tried a different approach. Instead, he implemented 5 sets of digital bandpass filters, allowing him to more easily compute the energy of the signal in each frequency band.

The energy of each frequency band for every segment is then sent to a PC where a custom-written program creates "templates" based on the sample utterances he generates. The crux of his algorithm is comparing how closely the energy of each frequency band for each utterance (and for each segment) is to the template. The PC program produces a .h file that can be compiled directly on the Nano. He uses the example of being able to recognize the numbers 0-9, but you could change those commands to "start" or "stop," for example, if you would like to.

[Peter] admits that you can't implement the type of speech recognition on an Arduino Nano that we've come to expect from those covert listening devices, but he mentions small, hands-free devices like a head-mounted multimeter could benefit from a single word or single phrase voice command. And maybe it could put your mind at ease knowing everything you say isn't immediately getting beamed into the cloud and given to our AI overlords. Or maybe we're all starting to get used to this. Whatever your position is on the current state of AI, hopefully, you've gained some inspiration for your next project.

#arduinohacks #ai #alexa #artificialintelligence #cortana #digitalsignalprocessing #echo #privacy #siri #spectrum #speechrecognition

image
2021-05-19

FIR Filters for Xilinx

Digital filters are always an interesting topic, and they are especially attractive with FPGAs. [Pabolo] has been working with them in a series of blog posts. The latest covers an 8th order FIR filter in Verilog. He covers some math, which you can find in many places, but he also shows how an implementation maps to DSP slices in a device. Then to reduce the number of slices, he illustrates folding which trades delay time for slice usage.

Folding takes a multi-stage parallel multiplication and breaks it into fewer multiplications done over a longer period of time. This reuses slices to reduce the number required for high-order filters.

By the end, you can see three different implementations of the same filter and it is illustrative how each one uses resources, power, and time. The code is all available on GitHub. The posts focus mostly on Xilinx, although there is also discussion of other DSP block styles.

Mathematically, an FIR filter has no poles which means it is always stable. However, compared to IIR filters which use state information, they require higher filter orders to get similar performance.

If you want to play with FIR filtering, you could do some simulations. Or you could use a spreadsheet.

#fpga #digitalsignalprocessing #dsp #fir #firfilter #mac #verilog

image
2020-11-09

"Only a Synth deals in absolutes....."

My "nemesis", as I refer to them, said that to me once.
I disagreed at the time, citing the persistent fluctuations that exist with analogue synthesis systems, but we held accord on that there was argument to be had for digital (DSP) synthesis methods and absolutes.
(a copy log of that particular conversation can be found HERE)
But how much information is really needed for a workable "absolute"?

joindiaspora.com/posts/fb01773 friendica.feneas.org/display/7

eSagan 🇮🇳crackurbones@qoto.org
2020-01-28

When the FBI had too many fingerprints in storage | The mathematics of image compression
youtube.com/watch?v=fRjFwTbJfe
#digitalsignalprocessing #imageprocessing #FourierTransform #dsp #signalprocessing

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst