Git Product home page Git Product logo

peakeater's Introduction

PeakEater

Free open-source VST3/AU/LV2/CLAP wave shaping plugin for macOS, Windows and Linux.

Download · Request Feature · Report Bug

screenshot

Table of Contents

About

PeakEater is a free, easy-to-use wave-shaping plugin. PeakEater lets you choose between different wave-shaping functions to clip everything above ceiling level. Therefore, you can boost the overall volume of your track safely without worrying that some nasty peak would go above the maximum allowed volume level of your DAW. It supports various features such as multiple clipping types, oversampling and visualizations of a clipping process that aims to make clipping easy and fun.

Features

RMS Meters

input-rms-screen<--->output-rms-screen

See how loud the signal was before and after the plugin.

Input & Output Gain

input-gain-screen<--->output-gain-screen

Adjusts gain level before and after processing. Input Gain is useful when you're either working with too quiet or too loud a signal and Output Gain can be helpful to compensate for loss of gain.

Link Input with Output

link-in-out

Use linking to automatically set the Output Gain level to the opposite of the Input Gain. For example, if the Input Gain value is set to +5dB then the Output Gain value will be automatically set to -5dB and vice versa.

Ceiling control

link-in-out

Control your ceiling. Everything above this level would be "eaten". Build-in RMS meter would show you the signal level that comes into the clipper and help you set the threshold.

Visualizer

clip-visualizer

Displays magnitude(in dB's) so you can see how peaks were eaten over time.

Analyzer

clip-analyzer

Shows approximated RMS that was cut ("Eaten") in the last 2 seconds and current clipping algorithm. Double-click on numbers to drop them to zero and force them re-calculate.

Configurable Tick marks

switch-db-level-scales

Right-Mouse-Click on Visualizer to switch between different tick marks.

Configurable Scaling

switch-db-level-scales

Also, you can switch between linear and non-linear scaling.

6 Clipping Types

clip-type

Choose between 6 clipping functions, from Hard clipping to different types of Soft Clip (Up to Arctangent). Available clipping functions are:

  • Hard
  • Quintic
  • Cubic
  • Tangent
  • Algebraic
  • Arctangent

You can read more about the difference between Hard and Soft clipping here and here.

Oversampling

oversample

Choose between 2x, 4x, 8x, 16x and 32x oversampling to avoid signal aliasing. You can also turn off oversampling.

Note High values of oversampling may hurt CPU performance.

You can read more about oversampling here.

Dry/Wet

drywet

Control mix between original and clipped signal. Useful when the clipper is used as an exciter.

Bypass mode

bypass

Bypasses all plugin's processing. Useful when you need to make side-by-side comparisons before and after processing.

Resizing

bypass

Drag the corner to change the size of the window.

VST3, AU, LV2 and CLAP support

vst3 au lv2 clap

You can use either VST3, AU (macOS only), LV2 or CLAP type of plugin.

Warning LV2 and CLAP support is experimental and may be unstable.

Available on all major platforms

macOS windows linux

You can use it on macOS, Windows or Linux.

Warning Linux support is experimental and may be unstable.

Verified by Pluginval Pluginval

pluginval is a cross-platform plugin validator and tester application. It is designed to be used by both plugin and host developers to ensure stability and compatibility between plugins and hosts. GitHub Project Link

VST3 and AU versions are verified by Tracktion Pluginval for all platforms. Maximum possible strictness level 10 is used. For macOS and Linux - Headless Mode is being used and GUI Mode is used for Windows. Starting from v0.6.5, you may find proofs of Pluginval verification in the "Assets" section on the Release page(*.txt files are split by platform and plugin format).

Installation

  1. Go to the latest release page.
  2. In the Assets section choose the installer for your platform.

macOS

Supported formats are VST3, AU, LV2 and CLAP. Tested on: macOS 12.6.2 Processors: Intel(x86_64), Apple Silicon M1+(arm64)

Install the plugin via the .dmg file. Drag the plugin in a format of your choice into the folder with your plugins.

Note
Plugin is build as an Universal Binary. This means that same plugin supports both x86_64 and Apple Silicon(M1+). Just install it and it will automatically run natively with respect to your processor.

Note
Due to macOS restrictions, you cannot drag files into untrusted directories. Therefore, double click on directory shortcut, open it and drag it directly there.

Note
VST3 directory is /Library/Audio/Plug-ins/VST3
AU directory is /Library/Audio/Plug-ins/Components
LV2 directory is /Library/Audio/Plug-Ins/LV2
CLAP directory is /Library/Audio/Plug-Ins/CLAP

Windows

Supported formats are VST3, AU, LV2 and CLAP. Tested on: Windows 10 21H2

Extract the zip and copy the plugin in the format of choice into the folder with your plugins.

Note
Standard VST3 folder is C:\Program Files\Common Files\VST3
Standard LV2 folder is C:\Program Files\Common Files\LV2
Standard CLAP folder is C:\Program Files\Common Files\CLAP

Linux

Supported formats are VST3, AU, LV2 and CLAP. Tested on: Ubuntu 18.04

Extract the zip and copy the plugin in a format of your choice into the folder with your plugins.

Note
Standard VST3 directory is ~/.vst3
Standard LV2 directory is ~/.lv2
Standard CLAP directory is ~/.clap

Building from sources

Prerequisites

Note
It is recommended to use PowerShell on Windows

Building

just setup
just build

Build artifacts will be stored in the /build/Release/peakeater_artefacts.

Code signing on macOS

By default, code signing is turned off. To enable it:

  1. Make sure you have a valid Apple Developer ID, Apple Team ID and your signing certificate installed on your Mac(Use this guide as a starting point. Be aware - they are not free)

  2. Create a file called .env with the following content(replace the value with your Apple Developer ID, Apple ID, password from your Apple ID and Team ID):

MACOS_APPLE_DEVELOPER_ID="Developer ID Application: John Doe (XXXXX6XX42)"
MACOS_APPLE_ID="[email protected]"
MACOS_APPLE_PASSWORD="jhnd-oejh-ndoe-jhnn"
MACOS_APPLE_TEAM_ID="JHNDO6E642"
  1. Setup the notarytool(used to notarize DMG):
just setup-notarytool

You should see something like this in the terminal:

xcrun notarytool store-credentials "APPLE_SIGN_PROFILE" --apple-id $MACOS_APPLE_ID --password $MACOS_APPLE_PASSWORD --team-id $MACOS_APPLE_TEAM_ID

This process stores your credentials securely in the Keychain. You reference these credentials later using a profile name.

Validating your credentials...
Success. Credentials validated.
Credentials saved to Keychain.
To use them, specify `--keychain-profile "APPLE_SIGN_PROFILE"`

After this just run the build. CMake will automatically sign all binaries.

Contributing

If you found a bug, please report it using Bug Template. If you have any feedback, feel free to open a feedback ticket using Feedback Template. If you have a specific feature request, please create it using Feature Request Template. If you have a pull request, then just make it using common Fork & PR flow.

License

Distributed under the GPL-3.0 License. See LICENSE.md for more information.

Acknowledgments

peakeater's People

Contributors

gregkare avatar vvvar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

peakeater's Issues

Ошибка запуска на macOS Mojave в Bitwig 4.4

/Library/Audio/Plug-Ins/CLAP/PeakEater.clap

com.bitwig.flt.library.metadata.reader.exception.CouldNotReadMetadataException: could not read metadata: Could not load executable: Пакет поврежден или отсутствуют необходимые ресурсы.

/Library/Audio/Plug-Ins/VST3/PeakEater.vst3

com.bitwig.flt.library.metadata.reader.exception.CouldNotReadMetadataException: could not read metadata: Could not load executable: Пакет поврежден или отсутствуют необходимые ресурсы.

/Users/Anonim/Documents/CLAP/PeakEater.clap

com.bitwig.flt.library.metadata.reader.exception.CouldNotReadMetadataException: could not read metadata: Could not load executable: Пакет поврежден или отсутствуют необходимые ресурсы.

/Volumes/PeakEater-0.4.0/PeakEater.vst3

com.bitwig.flt.library.metadata.reader.exception.CouldNotReadMetadataException: could not read metadata: Could not load executable: Пакет поврежден или отсутствуют необходимые ресурсы.

МакБук с процессором intel

Display scaling above 0db

Currently, we're displaying scaling up to 0db. I would like to try out how scaling above that will feel(+3db - +6db)

Investigate how PDC feature works in Reaper

[RnD] How Reaper handles PDC feature.

To check PDC:

  1. Open Reaper
  2. Add plugin
  3. Right click on "I/O Routing" button(usually shows 2 in 2 out)

Goal is to investigate how to integrate the plugin with the Reaper's PDC feature.

[Bug]

Describe the bug
Plug-in Doesn't Appear (VST3) or Load (AU) in Studio One on Mac (Intel)

To Reproduce
Steps to reproduce the behavior:

  1. Install plug-in
  2. VST3 version not listed in Studio One.
  3. AU version appears in plug-in list but doesn't load onto channel.

Expected behavior
Plug-in should appear in plug-in list and load onto channel.

Screenshots

Desktop (please complete the following information):

  • OS: macOS 10.15.7
  • Plugin format VST3, AU
  • Version Latest

DAW:

  • Name: Studio One Professional
  • Version 5.5.2

Additional context

Ceiling level vs input-output link

Hi,

First of all, I wanted to say thanks for the plugin! It's something I was looking for but could not find in the free/open source world yet.

I was wondering if there should be any difference between linking the input and output levels and using the ceiling level. Maybe you can include a block diagram of the processing chain in the readme file? After a null test I didn't find any differences in sound. However I like to use the ceiling level knob so peaks don't go over the available screen.

Better Color

Hi, light green and light grey are a bit hard to see. Maybe more saturated/darker tones would help. Thanks.

Linear Phase Filters for oversampling

I don't really like the way the upper frequencies of my master bus begin to sound when using oversampling (muddy and dull). I assume it's the phase, which suffers from nonlinear-phase filters.

The ability to select the type of filters for oversampling (non-linear, linear-phase) would be very helpful.

[Bug] Text size problem after resizing the GUI

Describe the bug
The text font changes after resizing the UI and some labels no longer fit the available space.

To Reproduce
Steps to reproduce the behavior:

  1. Open the plugin window
  2. Increase the GUI size from the bottom right corner
  3. Reduce the GUI size to the original size
  4. Observe the text is not the same as before. "Oversample" text does not fit the availalble space.

Expected behavior
I expect the text to go back to the original state.

Screenshots
imagen

Desktop (please complete the following information):

  • OS: Windows 10 x64
  • Plugin format: VST3
  • Version: 0.5.1
  • Resolution: 3840x2160px. UI scaling 150% (maybe the issue is related to this?)

DAW:

  • Name: FL Studio
  • Version: 21.0.2.3399

Build fail with recent JUCE and manufacture code.

With JUCE-6.1.2 when doing Projucer --resave you'll got the:

Error when saving: The plugin manufacturer code must contain exactly four characters.

It could be easy fixed by changing to pluginManufacturerCode="T-AD" for example.

PeakEater Feedback

After testing the plugin yesterday there's some stuff I noticed both good and bad. This is mere feedback on the plugin, nothing code-related. Given that this plugin is very similar to Venn Audio's Free Clip I'm gonna be comparing PeakEater to it.

Pros:

  1. Simple GUI.
  2. Input/Output Link option.
  3. Gain reduction measure (EATEN).
  4. No "Post-Oversampling Clip" options that Free Clip has. Those options only made the sound worse and were confusing to use.
  5. Internal Bypass button.
  6. Less CPU usage than Free Clip with the same settings, almost half of it.
  7. It allows to type numeric values on some controls. Free Clip didn't have this option.

Cons:

  1. There's no 32x setting for Oversampling. I'm not completely sure about how much difference it would make tbh.
  2. It sounds similar to Free Clip: Harsh. I can't find a setting to make the plugin sound pleasent.
  3. I like how simple the Algorithm control is, but it's not as flexible as a Knee control would be. Maybe both controls could exist in the plugin?
  4. The plugin can't be resized. This is specially annoying when trying to read the numbers (differenciating a 6 from an 8 is difficult on a 1080p monitor).
  5. It seems that the plugin isn't reporting latency properly. Accorinding to Reaper 6.23 (x64) on Windows 10, the latency is always 0 no matter which settings are used.
  6. The EATEN measure doesn't change very quickly. I think a graphical change inside a meter would be a better idea.

That's it for now. I hope this feedback can help the plugin to improve.

Investigate DSP formula for Custom Algorithm

[R&D] "Custom" type of algorithm

Goal is to give user ability to adjust curving angle of waveshaper manually by introducing new type of algorithm called "Custom". It should display additional UI element that will give opportunity to change "level of curve" for the function, from "hard" which is 90 degrees angle to reasonable soft clip.

Installer doesn't install any vst3

I ran the installer and could not find the vst3 in the designated common files folder, Win10

Found an uninstall instance in 'Apps and Features' but couldn't find the plugin.

[Bug] When set to Tangent Clip mode, the signal peaks above 0dB

Description of the Issue:

When I set the clipping mode to Tangent and the oversampling is set to OFF, the signal still goes above 0dB, Is there a chance you can fix that?

Desktop (please complete the following information):

  • OS: [Windows 10]
  • Plugin format [VST3]
  • Version [e.g. 2.2]

DAW:

  • Name: [Ableton Live]
  • Version [11.0]

Does not load in Win 7.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Hi, i would like to use your plugin in Win 7. However, it doesn't show up in the VST3 list (Live 11).

Describe the solution you'd like
A clear and concise description of what you want to happen.
Ability to use Peakeater in Win7.

Additional context
Add any other context or screenshots about the feature request here.

Visualise clipping algorithm

Add visualisation for currently chosen clipping algorithm.
Draft idea: display waveform in the central panel after algorithm was switched, and fade it away.

[Bug] AU fails plugin validation in Logic

I Can't get the plugin to work in Logic Pro 1.7.4 nor N.I. Maschine.

OS: Big Sur 11.7.4

Below you find the log from Logic's Plugin Validation:

validating Audio Unit PeakEater by T-Audio:

    AU Validation Tool
    Version: 1.8.0 
    Copyright 2003-2019, Apple Inc. All Rights Reserved.
    Specify -h (-help) for command options

--------------------------------------------------
VALIDATING AUDIO UNIT: 'aufx' - 'Tape' - 'Tado'
--------------------------------------------------
Manufacturer String: T-Audio
AudioUnit Name: PeakEater
Component Version: 0.5.1 (0x501)

* * PASS
--------------------------------------------------
TESTING OPEN TIMES:
COLD:
FATAL ERROR: OpenAComponent: result: -1,0xFFFFFFFF


validation result: couldn’t be opened

[Bug] bypass button, is supposed to work ?

Hello, plugin from Proaudio repo on openSUSE tw, on Ardour 7.2 the bypass button inside the plugin windows does nothing when clicked. It becomes green when I bypass the plugin with the host bypassa button. It should work or it's just an indicator ?

Another small issue is that if a move the mouse cursor over the plugin, it flow faster while the cursor is moving.
Xorg with Amd rx 550. Let me know if you want more info and/or a specific bureport.
Thanks.

Add manifest.json file

Add root-level manifest.json file so that following fields could be defined project-wise there centrally:

  • version
  • name

[Bug] Resetting the set interface size

Describe the bug
The plugin does not remember the changed size of the interface and resets it to default after each new opening.

To Reproduce
Steps to reproduce the behavior:

  1. Insert the plugin
  2. Resize to the desired
  3. Close the plugin
  4. Open it again
  5. Size reset to default

Expected behavior
I was expected to keep the size I had chosen. Whether opening one instance, loading a new one, or moving from session to session.

Desktop:

  • OS: Windows 8.1
  • Plugin format VST3
  • Version 0.5.1

DAW:

  • Name: Studio One
  • Version 6.0.2

Additional context
Perhaps adding a default preset for the user would be helpful. In any case, thank you very much for the awesome freebie! :)

Windows 7 compatibility possible?

Congratulations on the huge visual improvement, the screenshots look fantastic.

I noticed that the plugin is not found when using Windows 7 (Ableton Live 11). I know its probably not a priority issue, but would it be possible to make it Win 7 compatible or does the used framework not allow for it? (I have a lot of recently released plugins that don't officially support Win 7, but work perfectly fine).

Offline rendering mode (for oversampling)

Is your feature request related to a problem? Please describe.
It would be nice to allow higher level of oversampling at render time than during mixing.

Describe the solution you'd like
Maybe plugins, like KClip3, support this. Could be just another knob on the UI.

Scale above 0dB

Would be great to have an option to show waveform above 0dB up to +3dB or +6dB.

Support for High Sierra

Would love for PeakEater to run on MAC OS High Sierra (10.13.6). Is this possible? I'm using Ableton 11.2.7 Suite.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.