AI prompts
base on Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications <h2 align="center">
<img src="data/com.github.wwmm.easyeffects.svg" alt="Easy Effects icon" width="150" height="150"/>
<br>
Easy Effects
</h2>
<p align="center">
<strong>Audio effects for PipeWire applications</strong>
</p>
<p align="center">
<a href="https://github.com/sponsors/wwmm">
<img alt="GitHub Sponsors donation button" src="https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&link=https://github.com/sponsors/wwmm">
</a>
<a href="https://liberapay.com/wwmm/donate">
<img alt="Liberapay donation button" src="https://img.shields.io/badge/liberapay-donate-green">
</a>
<a href="https://www.patreon.com/wellingtonwallace?fan_landing=true">
<img alt="Patreon donation button" src="https://img.shields.io/badge/patreon-donate-green.svg">
</a>
<a href="https://www.paypal.com/donate?hosted_button_id=RK723F4EKH2UE">
<img alt="PayPal donation button" src="https://img.shields.io/badge/paypal-donate-green.svg">
</a>
</p>
<br>
<p align="center">
<a href="https://hosted.weblate.org/engage/easyeffects/">
<img alt="Translation status" src="https://hosted.weblate.org/widgets/easyeffects/-/svg-badge.svg"/>
</a>
<a href="https://github.com/wwmm/easyeffects/actions/workflows/CI.yaml">
<img alt="CI status" src="https://github.com/wwmm/easyeffects/actions/workflows/CI.yaml/badge.svg"/>
</a>
<a href="https://circleci.com/gh/wwmm/easyeffects">
<img alt="CircleCI status" src="https://circleci.com/gh/wwmm/easyeffects.svg?style=shield"/>
</a>
</p>
This application was formerly known as PulseEffects, but it was renamed to Easy Effects after it started to use GTK4 and
GStreamer usage was replaced by native PipeWire filters.
![GitHub Light](images/easyeffects-light-screenshot-1.png#gh-light-mode-only)
![GitHub Light](images/easyeffects-light-screenshot-2.png#gh-light-mode-only)
![GitHub Light](images/easyeffects-light-screenshot-3.png#gh-light-mode-only)
![GitHub Dark](images/easyeffects-dark-screenshot-1.png#gh-dark-mode-only)
![GitHub Dark](images/easyeffects-dark-screenshot-2.png#gh-dark-mode-only)
![GitHub Dark](images/easyeffects-dark-screenshot-3.png#gh-dark-mode-only)
## Effects available
- Auto gain
- Bass enhancer
- Bass loudness
- Compressor
- Convolver
- Crossfeed
- Crystalizer
- De-esser
- Delay
- Deep noise remover
- Echo canceller
- Equalizer
- Exciter
- Expander
- Filter (low-pass, high-pass, band-pass and band-reject modes)
- Gate
- Level meter
- Limiter
- Loudness
- Maximizer
- Multiband compressor
- Multiband gate
- Noise reduction
- Pitch shift
- Reverberation
- Speech processor
- Stereo tools
The user has full control over the effects order. Just use the up/down arrows
next to the effect labels on the left side.
Some packages do not provide all plugin packages by default. In case some effects are not available, ensure you have the following installed on your system:
<details>
<summary>Dependencies</summary>
Plugins needed for effects:
- [Linux Studio plugins](https://lsp-plug.in/). Version 1.1.24 or higher.
- [Calf Studio plugins](https://calf-studio-gear.org/). Version 0.90.1 or higher.
- [Libebur128](https://github.com/jiixyj/libebur128). For Auto gain and Level meter.
- [ZamAudio plugins](https://www.zamaudio.com/). For Maximizer.
- [Zita-convolver](https://kokkinizita.linuxaudio.org/linuxaudio/). For Convolver.
- [MDA](https://gitlab.com/drobilla/mda-lv2). For Bass loudness.
- [SpeexDSP](https://www.speex.org/). For Speech processor.
- [SoundTouch](https://www.surina.net/soundtouch/). For Pitch shift.
- [RNNoise](https://gitlab.xiph.org/xiph/rnnoise). For Noise reduction.
- [DeepFilterNet](https://github.com/Rikorose/DeepFilterNet). For Deep noise remover.
Other dependencies include:
- [libsamplerate](http://www.mega-nerd.com/SRC/index.html)
- [libsndfile](http://www.mega-nerd.com/libsndfile/)
- [libbs2b](https://sourceforge.net/projects/bs2b/files/libbs2b/)
- [fftw](https://fftw.org/)
- [speexdsp](https://www.speex.org/)
- [nlohmann json](https://github.com/nlohmann/json)
- [tbb](https://www.threadingbuildingblocks.org)
</details>
## Donate
You can help me to keep developing Easy Effects through donations. Any amount will be greatly appreciated :-)
[GitHub Sponsors](https://github.com/sponsors/wwmm)
[Liberapay](https://liberapay.com/wwmm)
[Patreon](https://www.patreon.com/wellingtonwallace?fan_landing=true)
[PayPal](https://www.paypal.com/donate?hosted_button_id=RK723F4EKH2UE)
## Installation
### Distribution-specific packages
Most up-to-date Linux distributions have an `easyeffects` package that can be installed with the distribution package manager. See [the wiki](https://github.com/wwmm/easyeffects/wiki/Package-Repositories) for a full list.
### Flatpak
Alternatively, click here to install via Flatpak:
<a href='https://flathub.org/apps/details/com.github.wwmm.easyeffects'><img width='240' alt='Download Easy Effects on Flathub' src='https://flathub.org/assets/badges/flathub-badge-en.png'/></a>
Flatpak packages support most Linux distributions and are sandboxed. The Easy Effects Flatpak package also includes all available plugins.
If your distribution does not yet include packages required to build Easy Effects, Flatpak is a convenient option.
## Warning
**Do not set** Easy Effects virtual devices as your default audio input/output.
Easy Effects is designed assuming that your hardware stays as default device.
## Help
A comprehensive set of help pages are included in the application itself, accessed via the hamburger menu in the top right. If the help pages are inaccessible ensure the [yelp](https://gitlab.gnome.org/GNOME/yelp) package is installed.
The latest version of the help pages can also be [seen here](https://wwmm.github.io/easyeffects).
## Changelog
For information about changes between versions, take a look at our [changelog](https://github.com/wwmm/easyeffects/blob/master/CHANGELOG.md)
## Frequently asked questions
Take a look at our [FAQ](https://github.com/wwmm/easyeffects/wiki/FAQ) to see
if you are facing a known issue.
## Community presets
See the wiki: [Community presets](https://github.com/wwmm/easyeffects/wiki/Community-presets)
This page also has instructions for converting PulseEffects presets to Easy Effects presets.
Guildelines for package maintainers: [Guidelines](COMMUNITY_PRESETS_GUIDELINES.md)
## Command-line options
See the wiki: [Command Line Options](https://github.com/wwmm/easyeffects/wiki/Command-Line-Options)
## GNOME Shell extension
See the wiki: [Preset Selector GNOME Extension](https://github.com/wwmm/easyeffects/wiki/Preset-Selector-GNOME-Extension)
## Reporting bugs
See the wiki: [Reporting Bugs](https://github.com/wwmm/easyeffects/wiki/Reporting-bugs)
## Translating Easy Effects
See the wiki's [Translating Easy Effects](https://github.com/wwmm/easyeffects/wiki/Translating-EasyEffects) article for detailed instructions.
## Installing from source
To install from source, see the wiki's [Installing from Source](https://github.com/wwmm/easyeffects/wiki/Installation-from-Source) article for detailed instructions.
## CI artifacts
Flatpak bundles and Arch packages for testing and development purposes are built for PRs and pushes to master.
See the [installation instructions](https://github.com/wwmm/easyeffects/wiki/Package-Repositories#ci-artifacts).
## License
Easy Effects is licensed under GNU General Public License version 3 or later. See the [LICENSE file](https://github.com/wwmm/easyeffects/blob/master/LICENSE).
", Assign "at most 3 tags" to the expected json: {"id":"11348","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"