GithubHelp home page GithubHelp logo

lewark / lpc.lv2 Goto Github PK

View Code? Open in Web Editor NEW
21.0 21.0 1.0 82 KB

LPC analysis + synthesis LV2 plugin for glitchy/robotic vocal effects, built on rt_lpc

License: GNU General Public License v2.0

Makefile 6.27% C++ 89.72% C 4.01%
dsp lv2 lv2-plugin

lpc.lv2's People

Contributors

lewark avatar

Stargazers

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

Watchers

 avatar  avatar

lpc.lv2's Issues

Needs peak limiter

As mentioned in the README, high filter orders can create unstable situations that result in loud, high-pitched noises. To protect users' hearing, I should add a simple peak limiter to the plugin itself.

Changing buffer size causes brief artifacts

When the buffer size is changed, the plugin adjusts, but chunks of audio are briefly played out of order as a result of buffer read/write positions changing. Adding some sort of interpolation or filter on the parameter might help.

Add more excitation waveforms

Potential waveforms to try:

  • Sawtooth
  • Square (or pulse with adjustable width)
  • Custom (allow user to open an audio file containing the desired waveform)

GUI toolkit

From the LV2 github wiki:

https://github.com/x42/robtk - Robin's LV2 UI ToolKit. x42. Robin doesn't recommend using.

So far, robtk has worked fine, but if this is true I still might want to consider AVTK, BWidgets, Redkite, or another toolkit that is designed for use by third-party plugins.

Performance issues

At large buffer sizes, xruns can occur. I need to figure out how to better divide the work over the time given by the DAW. The solution could involve multithreading or LV2 Workers, but I'm not sure how well thread scheduling works within a realtime audio context.

Cross-platform support

Currently, the Makefile only specifies the compilation settings for Linux. LV2 and the robtk toolkit do work on other platforms, so support for Windows or Mac is possible.

Graph doesn't work

Currently, the graph on the left side of the UI displays nothing. I need to figure out how to use LV2 Atoms to communicate the appropriate information to the plugin UI to display a plot of the frequency response.

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.