Giter Site home page Giter Site logo

tobiaskozel / guitard Goto Github PK

View Code? Open in Web Editor NEW
57.0 2.0 6.0 6.33 MB

Node based multi effects audio processor

License: MIT License

C 4.14% Makefile 0.27% C++ 77.10% Inno Setup 1.68% Rich Text Format 0.53% TeX 0.41% Objective-C 0.13% Python 6.95% Shell 3.55% Batchfile 1.33% Faust 3.92%
audio-processing audio-effect vst-plugin audio plugin header-only amp-sim guitar pedal dsp

guitard's Introduction

Screenshot

GuitarD

It's a basic multi effects processor which follows a node based approach. It's fairly unstable and experimental but contains most of the important features. This whole thing started as my bachelors thesis, but I plan on developing it further to a point where it's usable.

Super rough demo of a few tones/effects that come with it

Builds

See here

I'm not responsible for any crashes or hearing loss. (Seriously, be careful)

The preset and cabinet library go online to fetch thier stuff.

So if a preset sounds different it might be because it couldn't fetch the IRs from the server. You can manually copy the IRs in the GuiutarD/ir_cache in your systems homefolder.

How to use

In progress. Have a look at ./manual/guitard manual.pdf

Compilation

The Plugin

To build a plugin you'll need this fork of iPlug2 and switch to the guitard branch there.

To get iPlug2 up and running, make sure all its dependencies are downloaded. Run both of these shell scripts (use git bash on windows):

iPlug2/Dependencies/download-prebuilt-libs.sh

iPlug2/Dependencies/IPlug/download-iplug-libs.sh

After that, simply clone this repository into the Examples folder of iPlug2 and open the IDE project for your platform.

You'll still have to generate the C++ code from FAUST as described below.

The VST/AU plugin works on Windows and Mac OS X. For 32 Bit support another renderer than SKIA has to be used. Head over to the iPlug2 Wiki for more info about the graphic backends.

Only the DSP

Make sure the FAUST compiler is installed and in your PATH environment variable (this should be the default case). Run python ./scripts/compile_faust.py to compile all the DSP code.

The DSP code can be compiled without iPlug and the GUI so it can be included in other projects easily. Just include ./src/headless/headless.h and you should be good to go. Everything is header only to make the code as portable as possible. The headless version was testet on Windows (MSVC, gcc), Mac OS X (clang) and Linux (gcc, clang).

A small demo using the systems default audio devices as in and output can be found here:

https://github.com/TobiasKozel/GuitarD/blob/master/src/headless/device.cpp

The readme besides it contains some info about compiling it.

There are currently some things that might need fixing, in order for the code to be as robust as a header only library should be, since I'm no C++ expert. Mainly #6 and #7

guitard's People

Contributors

tobiaskozel 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

Watchers

 avatar  avatar

guitard's Issues

Custom allocator

When integrating the dsp into for example wwise, there should probably be a way to use their allocation functions.

Own knob control class

The class should wrap ParameterCouplings and also be able visualize the automation state.

Inline globals

There are a few global variables which might cause issues when using the dsp from different compilation units.

Replace the eq

The current eq is hard to control, doesn't sound good and uses a good chunk of CPU.
Smaller nodes with only highpass, lowpass, peaks each might also be useful.

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.