All Projects → velipso → Sndfilter

velipso / Sndfilter

Licence: mit
Algorithms for sound filters, like reverb, dynamic range compression, lowpass, highpass, notch, etc

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Sndfilter

Ffmpegandroid
android端基于FFmpeg实现音频剪切、拼接、转码、编解码;视频剪切、水印、截图、转码、编解码、转Gif动图;音视频合成与分离,配音;音视频解码、同步与播放;FFmpeg本地推流、H264与RTMP实时推流直播;FFmpeg滤镜:素描、色彩平衡、hue、lut、模糊、九宫格等;歌词解析与显示
Stars: ✭ 2,858 (+1061.79%)
Mutual labels:  filter
Fabulousfilter
Android library to animate Floating Action Button to Bottom Sheet Dialog and vice-versa
Stars: ✭ 2,477 (+906.91%)
Mutual labels:  filter
Torchdata
PyTorch dataset extended with map, cache etc. (tensorflow.data like)
Stars: ✭ 226 (-8.13%)
Mutual labels:  filter
Structured Filter
jQuery UI widget for structured queries like "Contacts where Firstname starts with A and Birthday before 1/1/2000 and State in (CA, NY, FL)"...
Stars: ✭ 213 (-13.41%)
Mutual labels:  filter
Image Shrinker
App for macOS. Minify your images and graphics with just one drop. Autorenamed in the same place where it comes from. Immediately!
Stars: ✭ 217 (-11.79%)
Mutual labels:  compressor
Caddy Authz
Caddy-authz is a middleware for Caddy that blocks or allows requests based on access control policies.
Stars: ✭ 221 (-10.16%)
Mutual labels:  filter
Filter Console
Filter out unwanted `console.log()` output
Stars: ✭ 203 (-17.48%)
Mutual labels:  filter
Htmlpurifierbundle
HTML Purifier is a standards-compliant HTML filter library written in PHP.
Stars: ✭ 234 (-4.88%)
Mutual labels:  filter
Ios Gpuimage Plus
GPU accelerated image filters for iOS, based on OpenGL.
Stars: ✭ 217 (-11.79%)
Mutual labels:  filter
Iir1
IIR realtime filter library written in C++
Stars: ✭ 224 (-8.94%)
Mutual labels:  filter
Sortfilterproxymodel
A nicely exposed QSortFilterProxyModel for QML
Stars: ✭ 214 (-13.01%)
Mutual labels:  filter
All In One Customized Adblock List
An all-in-one adblock list that thoroughly blocks trackers, popup ads, ads, unwanted cookies, fake news, cookie warning messages, typosquatters, unwanted comment sections, crypto-coin mining, YouTube clutter, Twitter guff and social network hassles.
Stars: ✭ 217 (-11.79%)
Mutual labels:  filter
Php Validate
Lightweight and feature-rich PHP validation and filtering library. Support scene grouping, pre-filtering, array checking, custom validators, custom messages. 轻量且功能丰富的PHP验证、过滤库。支持场景分组,前置过滤,数组检查,自定义验证器,自定义消息。
Stars: ✭ 225 (-8.54%)
Mutual labels:  filter
Turbobench
Compression Benchmark
Stars: ✭ 211 (-14.23%)
Mutual labels:  compressor
Decept
Decept Network Protocol Proxy
Stars: ✭ 229 (-6.91%)
Mutual labels:  filter
Python Benedict
dict subclass with keylist/keypath support, I/O shortcuts (base64, csv, json, pickle, plist, query-string, toml, xml, yaml) and many utilities. 📘
Stars: ✭ 204 (-17.07%)
Mutual labels:  filter
Yui Css Compressor Php Port
A PHP port of the YUI CSS compressor.
Stars: ✭ 220 (-10.57%)
Mutual labels:  compressor
Rack Reducer
Declaratively filter data via URL params, in any Rack app, with any ORM.
Stars: ✭ 241 (-2.03%)
Mutual labels:  filter
Magiccamera3
30+Camera different effects with C++ and opengles 3.0
Stars: ✭ 235 (-4.47%)
Mutual labels:  filter
Dsp.jl
Filter design, periodograms, window functions, and other digital signal processing functionality
Stars: ✭ 226 (-8.13%)
Mutual labels:  filter

sndfilter

Algorithms for sound filters, like reverb, dynamic range compression, lowpass, highpass, notch, etc.

It's easy to find countless math equations on sound filters, but a bit harder to find simple source code. This library is my attempt at cleaning up and presenting the math-heavy filter algorithms for the programming community.

Please note that I favored simple code over fast code. Hopefully it's made it more understandable.

(MIT License)

Build Instructions

The ./build script is a simple bash script that compiles the source files using clang. It's dirt simple, I promise.

Simply run ./build and the executable should be ./tgt/sndfilter.

Filters

Implementation

The reverb.c, compressor.c, and biquad.c are the core algorithms.

I do not understand the biquad math, so please don't ask me any questions :-). The core formulas were extracted from Biquad.cpp (Chromium source), and cleaned up a bit to make easier to read.

The compressor came from DynamicsCompressorKernel.cpp (also from Chromium), and cleaned up a bit more. I swapped out the adaptive release curve and simplified the knee calculations. I feel a little more comfortable with that algorithm because there isn't a whole lot of magical math involved.

The reverb effect is a complete rewrite of Freeverb3's Progenitor2 algorithm. It took quite a lot of effort to tear apart the algorithm and rebuild it, but I'm pretty sure it's right.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].