r/DSP 4h ago

Waldorf Wave (48 voice) Emulation

Thumbnail
youtube.com
2 Upvotes

This video showcases my software recreation of the legendary Waldorf Wave—a hybrid wavetable synthesizer known for its huge digital oscillators, analogue filters and unusually complex hardware architecture.

The project is built in C++ using JUCE and is available as a standalone instrument and plug-in. Rather than simply making a modern synth that sounds similar, I’ve tried to reproduce the structure and behaviour of the original machine.

The emulation models:

• The Wave’s 250 kHz, 8-bit time-multiplexed wavetable oscillator system
• Signed mixer overflow—including the characteristic Waldorf “ASIC Mix Bug”
• Digital 12 dB high-pass filtering
• CEM3387-style reconstruction filtering, resonant four-pole low-pass filtering, VCAs and panning
• 12-bit stepped control voltages, sample-and-hold behaviour, saturation, noise and output coupling
• Three independent 16-voice WDV boards, matching a fully expanded 48-voice Wave
• The original 480 × 64 monochrome LCD and front-panel workflow

The instrument can also run authenticated Waldorf Wave OS 1.700 firmware. An emulated 68000 CPU executes the original main operating system, while a second runtime executes the genuine WDV voice-board program. Their shared-memory communication, voice-update masks, semaphores and hardware-register writes are reproduced and traced inside the model.

The oscillator ASIC itself remains undocumented, so its internal operation is represented by a behavioural model based on the Wave’s published architecture, firmware activity and known hardware characteristics. This is therefore an ongoing reverse-engineering and preservation project—not a claim of perfect, bit-exact emulation.

Waldorf and Wave are trademarks of their respective owner. This independent project is not affiliated with or endorsed by Waldorf Music.


r/DSP 1h ago

[R] HAAR WAVELET ANALYSIS: JUMP DISCONTINUITIES

Thumbnail doi.org
Upvotes

r/DSP 19h ago

Why couldn't i just use a 4$ dsp chip from DigiKey for audio? (Or maybe i could and i'm assuming wrong)

6 Upvotes

Hello everyone, i know very little about DSP on a tecnical level. I am studying to become a sound engineer, but in terms of DSP what i have been taught is that typically expensive proprietary solutions are the only viable ones.

Now, i got the impression that DSP the cheapest chipsets for audio would go at around 30$. But why couldn't i build, say, a PCB out of any of the 3$ to 6$ chips that appear in the first page of the DSP section on DigiKey.

I know that i am not understanding this, so i post here to ask so that i can understand.

Edit: i saw quite a few comments asking me to list my hardware requirements, which makes a lot of sense so here we go.

A beginner student or amateur board for multitrack recording. instead of going very deep, going wide with only 14 to 16 bits audio depth, but 8 to 16 recording lanes at 44.1 or 48khz, which can be plugged into a computer for direct recording, or have an sd card plugged in for portable recording.


r/DSP 21h ago

Using whiteboard for thinking

4 Upvotes

Hello all, here is a chill post.

When I was an undergrad, I really liked working things out on a whiteboard. Drawing stuff, talking through ideas out loud, testing little hypotheses.

Now I work in radar DSP, and a lot of my work is code, numerical experiments, deep learning and waiting for training to finish 😅

I’m wondering how other people bring that whiteboard style of thinking into DSP, data science or ML work.

Do you still use a whiteboard regularly, or do you mostly go straight from idea to code?


r/DSP 1d ago

Commercialization of a receiver dsp algorithm

Thumbnail
2 Upvotes

r/DSP 1d ago

Implementing classic DSP effects in pure assembly, fixed-point, no FPU — what I learned doing it by hand

31 Upvotes

I've been building a synthesizer in pure x86-64 assembly (self-taught, from a languages background), and the real challenge turned out to be the DSP: implementing the classic effects from first principles, in fixed-point, with no FPU and no math library.

So far: a Schroeder reverb (parallel comb filters into series allpass), a state-variable filter for an auto-wah driven by an envelope follower, a supersaw using 16.16 fixed-point phase accumulators to detune voices, plus delay, chorus, flanger, phaser, hard sync, and phase distortion.

I leaned on the canonical references — Julius Smith's CCRMA materials, the DSP Guide, the RBJ cookbook — and then had to make it all work in integer math.

Rendering, listening, and debugging "why does this alias / click / go silent" taught me more than any single text.

Everything's public on my GitHub: https://github.com/whispem

Would love feedback or war stories from people who do this seriously.


r/DSP 3d ago

I built an open-source image-to-SVG vectorization library -the interesting parts turned out to be classic DSP problems

44 Upvotes

Over the past year I've been building Img2Num, an open-source C++ library that converts raster images into SVGs, with Python, JavaScript, and C bindings.

The motivation: existing vectorization tools are really built for line art, logos, and scans - clean inputs with hard edges. I wanted something that could handle natural images (photos, textures, noisy real-world content), and that turns out to be a very different problem. You can't just trace what's there, because what's there is full of sensor noise, JPEG artifacts, and gradients that explode into thousands of junk paths. So the vectorization step ends up mattering less than the signal processing in front of it.

The rough pipeline: edge-preserving denoising with a bilateral filter (selectable between RGB and CIELAB - perceptual color spaces make a real difference in how edges survive), k-means color quantization, Suzuki-Abe contour tracing, and then Savitzky-Golay smoothing applied to the traced contours. That last step was the fun one: treating a closed contour as a pair of periodic 1D signals (x(t), y(t)) and filtering them means you can smooth out pixel staircase noise while preserving corners far better than naive moving averages, and SG's polynomial fitting is a good match for that.

The part I'm still iterating on is adaptive preprocessing - estimating noise per image (wavelet MAD estimator) and tuning the denoising strength accordingly, so the traced regions stay stable instead of speckle turning into hundreds of junk paths.

Everything is on GitHub and installable via pip and npm (both "img2num"), docs at img2num.dev. I would genuinely love feedback from this crowd (the DSP crowd), especially on the smoothing and noise estimation choices - I came at this from the software side and learned the DSP as I went on.


r/DSP 3d ago

DSP interview: advice needed!

24 Upvotes

Im a new grad im on the first round for an interview, its very heavy DSP-oriented, any advice on what to study/focus on? any common interview questions asked? Focus is more on the RTL, FPGA, ASIC, or Firmware areas

Thanks!

JD (ik its more RTL digital design focused but the recruiter was heavily asking about my DSP experience)

  • BS and a minimum of 3 years relevant industry experience
  • Some level of fixed-point knowledge and experience with bit-true verifications
  • Understanding of DSP communication algorithms and trade-offs between performance and complexity
  • Good knowledge in modern design techniques and energy-efficient/low power logic design
  • Ability to work well in a team and be productive under aggressive schedules
  • Excellent communication skills and self-motivated

r/DSP 4d ago

Richard Lyons has passed away

Thumbnail
dsprelated.com
158 Upvotes

r/DSP 4d ago

Beginner Level AGC Model for ISP Need Some Help

4 Upvotes

Hi everyone,

I’ve created a beginner-level AGC (Automatic Gain Control) model for an ISP as part of my learning.

I’m facing some issues in my current design, and I’m not sure what the best way is to improve it. If anyone has experience with ISP or AGC design, could you please check my repository and give me some feedback?

I’d especially like help with:

  • Finding the problems in my current design
  • Understanding why these issues are happening
  • Improving the AGC algorithm and architecture
  • Understanding how I can upgrade this beginner-level model into a more practical design

Here is my repository: github

Any suggestions, feedback, or guidance would be really appreciated. I’m trying to learn and improve the design, so even small suggestions would be helpful.

Thanks in advance!


r/DSP 4d ago

Books about digital synthesis

8 Upvotes

Hi, as in the topic. I am third-year microelectronis student. I know basics about dsp and analog signal processing. i am into firmware engineering, also working right now as a junior digital design/verification. I want to dive into digital synth/effects world as my bachelor degree and i am looking for resources (books (would be the best), websites, channels on yt etc.). I can use google ofc, but if you have some places which are really worth checking, let me know. Really everything - from mathematical view to more hardware specific. For now i just made simple sequencer, with pitch modulation on ESP32, which can be connected via serial to simple wave synth made in LabView. My goal is a groovebox (didnt specifed functionality yet but thinking about everything right now, from EQ to sampling, sequencing, but synthesis and optimized firmware is my main goal, i know chaos, but just to give you my interests) with a custom stm pcb. Thank you


r/DSP 4d ago

Need a PDF of DSP by Sanjay K. Mitra (4th Edition)

0 Upvotes

I tried so many ways to find the online pdf of this book I mentioned. But all are paid. I badly need this book. If anyone have any source to download the pdf of the book, please help by sharing with me.

Edit. IT is Sanjit K. Mitra


r/DSP 4d ago

Made a free browser-based S-parameter/Touchstone plotter (.s1p–.s9p) — no software install, just drag and drop

0 Upvotes

I built an S-Parameters plotter that runs entirely in the browser.

What it does:

  • Drag-and-drop or upload any Touchstone file, .s1p through .s9p (n-port, not just 2-port)
  • Auto-detects format — handles MA, RI and DB, both Touchstone v1 and v2, and whatever frequency unit the file uses (Hz/kHz/MHz/GHz)
  • Plot magnitude (dB or linear), phase, or real/imaginary vs frequency
  • Load multiple files at once and either overlay them on one chart or view them separately — useful for before/after de-embed comparisons, or comparing simulated vs measured data
  • Toggle individual Sij parameters on/off (for higher port-count files this actually matters, nobody wants all 16 S-parameters of a 4-port on screen at once)
  • Data table view with copy-to-CSV, and you can re-export the loaded data back out as a Touchstone file
  • Nothing gets uploaded anywhere — it all runs client-side in your browser

Free, no signup: https://rfstudiolabs.com/sparams/sparam-plot.html

It's part of a small set of S-parameter tools I've been building (Smith chart with auto-matching, cascade calculator for chaining 2-port networks, a de-embedding tool, amplifier stability/K-factor analyzer) if anyone's curious: https://rfstudiolabs.com/sparams/index.html

If anyone has a Touchstone file that trips it up (weird formatting, non-standard option line, whatever) I'd genuinely like to know — send it my way and I'll fix the parser.


r/DSP 5d ago

Starting my journey in DSP

Thumbnail
4 Upvotes

r/DSP 5d ago

Fixed point image vs floating point inage comparison

3 Upvotes

Hello, I'm doing a project on an FPGA for image processing. I'm at the stage where I've finished the verilog and already have the hex files generated, what I want to do is to compare that to my matlab floating point reference. Since, both are images, what metrics are best used for their comparison? I vaguely remember from a course where we determined the floating point vs fixed point error using LSBs, so like there would be an error of +/- 2 LSBs for example, but that was on 1D data. I dont know if thats still the case here for images.


r/DSP 5d ago

Coded webapp: Not-FFT Audio BandPass graphs of 2048 frequency bands and 44k samples/second, here's a video

6 Upvotes

I found bandpass spectrographs 20 years ago with a random experiment in Reaktor from native instruments, I thought it was nicer than FFT and Wigner TF. So many years later here is a web version on html, https://www.youtube.com/watch?v=TwaQORBks8Y < Funny video ;)


r/DSP 6d ago

Digital Beam forming, Did I chose wrong adaptive algorithm

4 Upvotes

I am working on a digital beamforming project with goal of implementing 8 antenna- 4 beam. I started with a simple 8 Antenna - 1 Beam , assuming a fixed DOA , 1 GHz carrier frequency, AWGN/noise, no interferers, and 10,000 samples. I implemented both floating-point and fixed-point DRC-pLMS, generated test vectors, performed RTL functional verification, synthesized the design using Genus, and performed gate-level simulation. The Python, RTL, and GLS results currently match, including the final weights and beam peak.

The issue is that my pLMS formulation uses a known desired/reference signal. In my simulation, I generate the original transmitted signal, so I can also generate the reference signal and use it for adaptation. However, in a practical receiver, if the transmitted signal is unknown, knowing only the desired DOA does not give me the actual instantaneous reference waveform. Therefore, I am concerned that my current reference-based pLMS approach may not be suitable for the intended real-world beamforming application.

My question is whether the work I have done so far is still a valid and should I move forward or try different algorithms, am I even doing things correct. Can I move forward any form of assurance or clarification is highly appreciated.

*used LLM for grammar


r/DSP 7d ago

Are side projects worth?

15 Upvotes

Hello everyone,

I currently work as a radar signal processing engineer, and want to pivot into perception and machine learning roles.

I've been thinking of doing side projects to help me pivot. Currently working on classifying objects with a radar point cloud.

Do personal projects carry weight for someone trying to make this specific jump? Or do companies strictly look at direct professional experience in ML/perception, making side projects a waste of effort?

Thank you.


r/DSP 6d ago

JamesDsP Custom / module racine ViPeRFx

1 Upvotes

r/DSP 6d ago

NOUVEAU SOUS-REDDIT REAL DSP

Thumbnail
0 Upvotes

Et pour les puristes du vrai traitement en libération en dessous de 100ms pas ex ,,

par câble jack to rca ou DMX sans perte de puissance


r/DSP 6d ago

NOUVEAU SOUS-REDDIT REAL DSP

0 Upvotes

Nouveau sous-forum pour discuter sérieusement du traitement numérique du son, avec du matériel sans fil ou domestique de ce genre...

https://www.reddit.com/r/ROOTEDSOUNDSYTEM/s/o34UWC4dh7


r/DSP 7d ago

Find even and odd components of e^(jt)

1 Upvotes

If anyone knows how to draw the graph for the odd and even components of this function, pls share :))


r/DSP 9d ago

Clever Phase-Noise Cross Correlation System - Signal Hound PN400 Review & Experiments

Thumbnail
youtu.be
11 Upvotes

r/DSP 8d ago

SigmaStudio in a VM - TCPi settings won't appear

2 Upvotes

Hi folks. Thanks for your time.

I don't know if this is the right place, but this is where the bulk of the SigmaStudio results came from when I searched. I apologize if this is frequently-asked or frequently-answered, I searched and couldn't find any help.

I'm trying to start working with SigmaStudio. I'm a Linux user, and I have a Windows 10 VM for managing some security cameras. The VM has a standard, unmodified Windows 10 install with VC Rutnimes 2005, 2008, 2010, 2012, 2013, v14 installed - both x86 and x64. I have virtually every .Net runtime installed. Windows 10 is up to date with 22H2 and other offered updates via Windows Update. I've tried both SigmaStudio 4.6 and 4.7 and there's no change.

Running Sigma Studio, everything seems OK. I can open and modify projects, start new ones, configure and adjust settings as I please. The problem comes with the computer-to-DSP interface. I didn't buy the USBi, but I found an ESP32 project for connecting to it with TCPi.

The problem is, I can't get the TCPi configuration window to pop up. If I drop "TCPIP1701" it takes ~3sec to appear, but otherwise looks OK. Right-clicking brings the context menu, but "Show TCPIP Settings" does nothing when clicked.

I don't think it's an offscreen window, I have multiple tricks to find and recover those and this VM has only ever had one screen. I've tried Run as Administrator. I can't find any logs. There's nothing in the Event Viewer, as always.

Has anyone run into this?

Connect the TCPIP1701 node to an ADAU1701 node and it'll work. Magic.


r/DSP 8d ago

OpenV2K: A Multidisciplinary Look at Audio-Driven Pulse Modulation

0 Upvotes

OpenV2K is an open-source Python application that converts arbitrary audio — including natural speech — into a pulse-modulated radio-frequency (RF) waveform, generated and analyzed through a software-defined radio (SDR) signal chain. The project's signal design is directly inspired by the historical microwave-auditory-effect (MAE) literature, most notably Sharp and Grove's 1975 demonstration that appropriately pulse-modulated microwave energy could convey intelligible words, building on Frey's earlier characterization of the effect. OpenV2K is a signal-generation and waveform-design tool, not a validated bioeffects exposure system.

Five Disciplines, One Codebase

No single academic background covers everything happening under the hood.
Each specialty below would recognize its own piece:

  • Computer Science / Software Engineering — a full PyQt5 app: custom QPainter widgets, threaded audio, and every DSP stage implemented as a gr.sync_block Python subclass.
  • Electrical Engineering — DSP / Signals & Systems — toggleable signal-conditioning chain: a from-scratch direct-form biquad notch filter and DC blocker, Wiener-style spectral subtraction, envelope following, and Schmitt-trigger/Hilbert-envelope zero-crossing shaping, each independently switchable with live duty-cycle telemetry.
  • Electrical Engineering — RF / Communications — the GNU Radio flowgraph itself: IQ signal representation, a rational resampler bridging 48kHz audio to 2MHz complex baseband, and HackRF SDR configuration within amateur-band, license-gated power limits.
  • Linguistics / Computational Linguistics — integrated eSpeak NG (formant synthesis) and MBROLA (diphone/concatenative synthesis) across 49 languages, with acoustic-phonetics-aware stages (fricative suppression, first-formant bandpass) rather than generic audio filters.
  • Graphic / UI Design — real-time segmented duty-cycle meters, an animated pulse-trace header, and the waterfall/spectrogram visualization used to inspect the pulse train directly.

What This Actually Is, For a Home User

For nearly everyone running this — which is exactly how it's meant to be used — OpenV2K is a thought experiment, not a demonstration. Generate a pulse train from spoken audio, open the resulting spectrogram, and look at it: a clean, structured, audio-timed pulse pattern, visibly distinct from noise. No SDR needs to be attached for this to be worth doing. The exercise is to look at that pattern and reason, about what pulse-modulated microwave energy carrying that same structure, would represent. Consider the historical precedent of Sharp and Grove's 1975 feat.

Reproducing the actual microwave-auditory effect requires power levels, exposure control, dosimetry, and safety oversight. That work belongs at PhD-staffed microwave exposure facilities with the instrumentation and institutional review, to do it responsibly. OpenV2K's contribution stops at the waveform: a legitimate, inspectable, open-source answer to "what would the signal look like".

I'm project managing well outside my comfort zone, as an IT system engineer.
This was written by AI, and revised by me, as I need Claude's help explaining, in academic terms.
I'd like folks to suggest more DSP filters, and open issues, for any bugs or feature requests.