{"id":28570139,"url":"https://github.com/tiagolr/filtr","last_synced_at":"2026-03-04T23:31:57.662Z","repository":{"id":297046157,"uuid":"987850033","full_name":"tiagolr/filtr","owner":"tiagolr","description":"Envelope based filter modulator","archived":false,"fork":false,"pushed_at":"2025-06-14T17:33:23.000Z","size":1013,"stargazers_count":79,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-14T18:40:41.756Z","etag":null,"topics":["audio-effect","filter","lv2","modulation","vst3"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tiagolr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yaml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["tiagolr"],"custom":["https://www.buymeacoffee.com/tilr"]}},"created_at":"2025-05-21T17:18:48.000Z","updated_at":"2025-06-14T17:33:07.000Z","dependencies_parsed_at":"2025-06-04T01:08:28.744Z","dependency_job_id":"cf2bda93-bfd0-403f-b7e7-0e0581fb539f","html_url":"https://github.com/tiagolr/filtr","commit_stats":null,"previous_names":["tiagolr/filtr"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/tiagolr/filtr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiagolr%2Ffiltr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiagolr%2Ffiltr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiagolr%2Ffiltr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiagolr%2Ffiltr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tiagolr","download_url":"https://codeload.github.com/tiagolr/filtr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiagolr%2Ffiltr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272004289,"owners_count":24856937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio-effect","filter","lv2","modulation","vst3"],"created_at":"2025-06-10T17:40:11.249Z","updated_at":"2025-08-25T03:44:52.791Z","avatar_url":"https://github.com/tiagolr.png","language":"C++","funding_links":["https://github.com/sponsors/tiagolr","https://www.buymeacoffee.com/tilr"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003c!-- \u003cimg src=\"doc/logo.png\" width=\"200\" style=\"padding: 5px;\" /\u003e --\u003e\n  FILT-R\n  \u003cbr\u003e\n\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\n\n[![Windows Support](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge\u0026logo=windows\u0026logoColor=white)](https://github.com/tiagolr/filtr/releases)\n[![Ubuntu Support](https://img.shields.io/badge/Linux-E95420?style=for-the-badge\u0026logo=linux\u0026logoColor=white)](https://github.com/tiagolr/filtr/releases)\n[![Mac Support](https://img.shields.io/badge/MACOS-adb8c5?style=for-the-badge\u0026logo=macos\u0026logoColor=white)](https://github.com/tiagolr/filtr/releases)\n\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n\n[![GitHub package.json version](https://img.shields.io/github/v/release/tiagolr/filtr?color=%40\u0026label=latest)](https://github.com/tiagolr/filtr/releases/latest)\n![GitHub issues](https://img.shields.io/github/issues-raw/tiagolr/filtr)\n![GitHub all releases](https://img.shields.io/github/downloads/tiagolr/filtr/total)\n![Github license](https://img.shields.io/github/license/tiagolr/filtr)\n\n\u003c/div\u003e\n\n**FILT-R** is a cross-platform filter modulator based on plugins like ShaperBox and FilterShaper. It is the second version of [FLTR-1 JSFX](https://github.com/tiagolr/tilr_jsfx?tab=readme-ov-file#fltr-1) for the Reaper DAW.\nIt includes 6 filter types: Linear, Sallen-Key, Moog, 303, MS-20 and Phaser. The filters also come with different modes and slopes.\n\n\u003cdiv align=\"center\"\u003e\n\n![Screenshot](./doc/filtr.png)\n\n\u003c/div\u003e\n\n\nAlso check other plugins from this collection:\n\n* [GATE-12](https://github.com/tiagolr/gate12) - An envelope generator for volume/gate control.\n* [TIME-12](https://github.com/tiagolr/time12) - An envelope based delay modulator.\n* [REEV-R](https://github.com/tiagolr/reevr) - Convolution reverb with pre and post modulation.\n\n## Features\n\n  * 6 Unique filters with different slopes and modes\n  * 5 Modes per filter (LP, BP, HP, Notch and Peak)\n  * 12 patterns for resonance and cutoff triggered by midi notes\n  * Paint mode with user defined shapes\n  * Point type - hold, curve, s-curve, stairs ..\n  * Built-in sequencer and randomizer\n  * Envelope followers for resonance and cutoff\n  * Tempo sync or lfo rate (Hz)\n  * Attack and release smooth\n  * Pre and post waveform display\n  * MIDI trigger mode\n  * Audio trigger mode\n\n## Download\n\n* [Download latest release](https://github.com/tiagolr/filtr/releases)\n* Current builds include VST3 and LV2 for Windows, Linux and macOS plus AU for macOS.\n* Clap is planned when there is official [JUCE support](https://juce.com/blog/juce-roadmap-update-q3-2024/).\n\n## About\n\nFILT-R is an envelope generator plugin that applies the same engine of GATE-12 and TIME-12 to filter modulation. It includes 6 unique filters, three of them grabbed from [Saikes Yutani Bass](https://github.com/JoepVanlier/JSFX) (303, MS-20 and Linear), a Moog filter which is the JUCEs stock ladder filter adapted to this project and finally an Analog/Sallen Key and Phaser filters which came from [Vital](https://github.com/mtytel/vital) synth source code.\n\n### Features\n\n#### Point types\n\nLike GrossBeat, FILT-R includes 8 point types that can be changed by right clicking a point, the default point type can also be changed in the tools-bar.\n\n![curves](/doc/curves.png)\n\n#### Paint mode\n\nPaint mode was remade in version 2, it now works with custom patterns that can be edited like the main audio patterns and rescaled before placing on view.\n\nThis mode has to be activated by clicking the `Paint` button, a list of patterns will show above the editor window.\n\n![patterns](/doc/patterns.png)\n\nThere are 32 patterns that can be used and edited, these patterns are saved in the settings file and shared by any instances of the plugin.\n\n#### Envelope Followers\n\nEnvelope followers for cutoff and resonance can be activated in the `Envelope` section by setting the amount positive or negative. This feature like many others was introduced by ShaperBox and had to be included in this project.\n\n#### Self repeating patterns\n\nPatterns are not constrained by start and endpoints like they used to, they can have only one point or no points, this mainly allows patterns to be seamlessly rotated to create new rhythm variations.\n\n#### Multi-point selections\n\nMultiple points can be selected and moved around, the selections can also be scaled and skewed by holding `Alt + drag` the leftmost or rightmost handles, this allows to quickly make rising or falling wedges as well as compress or expand sets of points.\n\n![rising-wedge](/doc/rising-wedge.png)\n\n#### Audio Trigger\n\nAudio transients can be used to trigger the envelope or restart its cycle, its heavily based on ShaperBox and includes two modes of detection: *Simple* - based on envelope following and *Drums* - based on total energy during a small time window. This feature is also heavily based on ShaperBox and also allows to use sidechain as input.\n\n#### MIDI Trigger\n\nMIDI can be used to trigger the envelope or restart its cycle, it can also be used to change patterns (defaults to channel 10).\n\n#### Pattern sync\n\nPattern changes can be synced to the playback beat position, this allows for to make timely transitions in real time in sync with the song position.\n\n#### Sequencer\n\nClicking the `Seq` button toggles the sequencer mode where patterns can be built and randomized with ease.\n\n![sequencer](/doc/sequencer.png)\n\nThe left buttons are the edit mode used when clicking the view. On the right there is a row of shapes used to draw on the view and below is the randomization of the current selected mode.\n\nAfter creating a sequence click `Apply` to save it as the current pattern and edit from there.\n\n## Tips\n\n- `Shift` for fine slider adjustments.\n- `Shift` toggles snap on/off.\n- `Mouse wheel` on view changes grid size\n- `Right click` points changes point type.\n- `Alt + click` to insert new points.\n- `Alt + drag` selection handles skews selected points.\n- `Right click + drag` in paint mode changes paint tool tension.\n- `Shift + mouse wheel` on sequencer to change step size.\n\n## MacOS\n\nMacOS builds are untested and unsigned, please let me know of any issues by opening a ticket, don't expect a promptly fix as I don't have access to that OS.\n\nBecause the builds are unsigned you may have to run the following commands:\n\n```bash\nsudo xattr -dr com.apple.quarantine /path/to/your/plugins/FILT-R.component\nsudo xattr -dr com.apple.quarantine /path/to/your/plugins/FILT-R.vst3\nsudo xattr -dr com.apple.quarantine /path/to/your/plugins/FILT-R.lv2\n```\n\nThe commands above will recursively remove the quarantine flag from the plugins.\n\n## Build\n\n```bash\ngit clone --recurse-submodules https://github.com/tiagolr/filtr.git\n\n# windows\ncmake -G \"Visual Studio 17 2022\" -DCMAKE_BUILD_TYPE=Release -S . -B ./build\n\n# linux\nsudo apt update\nsudo apt-get install libx11-dev libfreetype-dev libfontconfig1-dev libasound2-dev libxrandr-dev libxinerama-dev libxcursor-dev\ncmake -G \"Unix Makefiles\" -DCMAKE_BUILD_TYPE=Release -S . -B ./build\ncmake --build ./build --config Release\n\n# macOS\ncmake -G \"Unix Makefiles\" -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=\"x86_64;arm64\" -S . -B ./build\ncmake --build ./build --config Release\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiagolr%2Ffiltr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftiagolr%2Ffiltr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiagolr%2Ffiltr/lists"}