Git Product home page Git Product logo

dkmethod's Introduction

DK-Method for JUCE

A JUCE module for analog emulation using the Discrete K-Method.

Authors: João Rossi Filho - [email protected] Jaromir Macak - [email protected]


How to Use?

The code is formated as a JUCE for module, allowing easy integration with JUCE based applications.
After cloning the repository, there are 2 options for adding the module to Projucer:

  • Adding the dkmethod directory to Projucer's Global Path -> User Modules
  • Specifying the dkmethod directly on Module -> + -> Add module from specified folder...

Dependencies

JUCE (obviously...) and Armadillo

Mac OSX

If you're on Mac, then it should be easy. All you'll have to do is get Armadillo, and add its include directory to Header Search Paths field. The module should automatically link it to Accelerate framework.
You won't even have to build Armadillo!

Windows

Suport for Windows isn't tested, but it should work fine, the main issue is that Armadillo relies on LAPACK and OpenBLAS and it isn't trivial to build them for Windows, specially considering you should build them for static linking, to allow easier distribuition.
After building it (please let me know if you get there) you'll have to add Armadillo include search paths, library search paths for LAPACK, OpenBLAS and Armadillo, and add them at External Libraries to Link.
The goal is to ship pre-built LAPACK and OpenBLAS binaries with the module, until then Windows users will have to build Armadillo on their own.

Linux

Suport to Linux isn't tested, but should also be fine.
Build or installing BLAS, LAPACK and Armadillo on Linux is quite trivial, follow their instructions.
After building and installing, add the Armadillo include and library search paths and add the libraries at External Libraries to Link.


Roadmap

  • Add variable resistor component.
  • Switch nonlinear solver to Damped Newton-Raphson
  • Employ pre-calculated Lookup-Tables to increase efficiecy.
  • Add Windows support (include pre-built BLAS and LAPACK binaries).

Acknowledgements

  • Nodal DK Framework, by Jaromir Macak. Repo
  • M. Holters, U. Zölzer – Physical Modelling of a Wah-wah Effect Pedal as a Case Study for Application of the Nodal DK Method to Circuits with Variable Parts, Proc. of the 14th International Conference on Digital Audio Effects (DAFx-11), Paris, France, September 19-23, 2011
  • C. Sanderson, R. Curtin. - A User-Friendly Hybrid Sparse Matrix Class in C++. International Congress on Mathematical Software, 2018

License

This code is under GPL3 license and everybody is encoureged to use it!
For comercial licensing inqueries, please contact the authors.

dkmethod's People

Contributors

joaorossi avatar

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.