Giter Site home page Giter Site logo

claudioeutizi / sfaser25 Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 448.48 MB

Wave Digital Filter (WDF) Virtual Analog Model of the MXR Phase90

License: MIT License

AGS Script 0.12% MATLAB 0.03% C++ 91.83% C 1.39% Objective-C++ 0.01% CMake 1.23% Shell 0.09% HTML 0.07% Cuda 0.53% Fortran 4.59% XSLT 0.02% Python 0.04% JavaScript 0.03% CSS 0.02%

sfaser25's Introduction

Sfaser25

Wave Digital Filter (WDF) Virtual Analog Model of the MXR Phase90

sfaser

Music And Acoustic Engineering Capstone Course Project - Politecnico Di Milano

polilogo maelogo

Authors

Abstract

In this project we focus on the analysis and modeling of one of the most famous electric guitar effect pedal, the phaser MXR Phase 90. We exploit the Wave Digital Filter white-box method in order to create the physical model of the device, mainly focusing on the implementation of the operational amplifiers using nullors and on the description of a novel non-iterative explicit approach to implement the non-linear behavior of the Junction Field Effect Transistors (JFETs) as voltage-controlled resistors. To validate the proposed physical model, both a MATLAB implementation and a real-time audio plug-in JUCE Framework have been developed and compared with the LTSpice reference circuit.

Installation

The BUILDS folder contains both a .exe standalone version and a .vst3 version of our project. In order to build the entire project, it is recommended to

  • clone the repository:
git clone https://github.com/claudioeutizi/Sfaser25.git
  • install JUCE and open the /JUCE/Sfaser25.jucer file with Projucer. Choose an IDE e.g., Visual Studio, XCode exporter and click on Save and Open with IDE (the button on the right of the selected exporter).
  • Build the entire solution using the chosen IDE.

Folder Organization

BUILDS

This folder contains the executables, both for standalone and VST3 usage.

JUCE

Here the JUCE/C++ implementation of the project can be found. The Eigen C++ library is needed in order to work with linear algebra. The folder "Sfaser25" contains:

  • Sfaser25.jucer file that can be opened with Projucer.
  • GUI folder contains knob, LED and buttons' stripes and the Cinema4D project with which the plugin GUI has been designed.
  • JuceLibraryCode contains the files that JUCE needs in order to build the project.

MATLAB

The folder contains the 3 stages implementation and the main with some output files. The two sub-folder contain the matlab scripts and the files used to create the plots that can be seen in the report

SPICE

SPICE folder has the "cmp" sub-folder with the LTSpice models of the transistors used and the "datasheet" sub-folder with some useful datasheets. Then, we can find the spice circuits for a single stage, the ideal circuit with resistors instead of JFETs, the ideal circuit with JFETs and the real circuit (with non-ideal op-amps)

sfaser25's People

Contributors

mattiamassimi avatar claudioeutizi avatar samueledelmoro avatar

Watchers

Kostas Georgiou avatar  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.