Last 12 weeks · 0 commits
2 of 6 standards met
DF1 / DF2 biquads have serious numerical issues and introduce lots of noise especially if you have a lowish cutoff. You may want to have a look into using a low cpu linear analog modelled state variable filter instead, which has not only much better noise performance but you can also modulate it at audio rate without issue like you can with analog filters, but without nasty digital "thumps" the direct form approaches have. I've written some technical papers them here: https://cytomic.com/technical-papers/ and I've done some noise plots of an SVF vs DF1 vs other popular filters here: https://cytomic.com/files/dsp/SVF-vs-DF1.pdf All the regular biquad shapes can be reproduced with the linear SVF and I've also included mappings from raw DF1 biquad coefficients to SVF coefficients, as well as direct mappings to SVF coefficients based on filter specifications. There are also many specific program language implementations around the web based on these papers, but please feel free to get in contact with me if you have any questions, and I hope you'll find them compelling enough to use in your project.
During the last few days I've (and AI, Cursor) coded a simple but very effective audio FFT analyzer which may be of some help to audio musicians, audio enthusiasts and engineers, it's called jackoviz, targetting Linux and MacOS. For now it's only available in source form, it's at version 0.6.0, I will provide binary release not before version 1.0.0. The repo is here: https://github.com/phstrauss/jackoviz It uses Jack audio connection kit for audio input, is currently (but also inherently) mono, and use the wonderful Datoviz for visualization. It may be of great help when designing audio effect, maybe more particulary distorsions, but also filtering. Regards to all and have a happy music time.
Made several attempts to fix its oscillating volume with the 'Smoothstep' formula instead of sinewave LFO, as the simple triangle crossfade worked but resulted in clicking. With my faulty implementation, clicks anyway. Maybe it's the beat. UPD: Maybe some odd harmonics can be added to the sine LFO to bring it closer to the triangle but keep it smooth. Best I can think of. Stopped clicking with simple triangle LFO with frequency x2, less annoying tremolo but anyway. Tried to compensate with another tremolo, but it has to be adjusted by oscilloscope :) Also comb filtering, which is the nature of delays. ...Even better with an LFO like a hybrid of triangle and square (trapezoidal), but no good anyway. Has to be redesigned from scratch. The tremolo on the 'scope is irregular so it's probably due to phase interference. https://github.com/freealise/bilberry-jam/blob/main/discont.h I'd turn it into a chorus instead, or tremolo & vibrato with only one varying delay line (done all in the same effect).
Repository: torvalds/AudioNoise. Description: Random digital audio effects Stars: 4471, Forks: 215. Primary language: C. Languages: C (58.1%), Python (38.2%), Makefile (3.7%). License: GPL-2.0. Open PRs: 13, open issues: 19. Last activity: 3mo ago. Community health: 42%. Top contributors: torvalds, phstrauss, flaukowski.