Code Monkey home page Code Monkey logo

rtconvolve's Introduction

RTCONVOLVE

##Author Graham Barab

[email protected]

##About RTConvolve is a zero-latency real-time audio effect plugin written in C++ and built on the JUCE framework. It outputs the convolution an input signal with an arbitrary impulse response provided by the user. The goal of this project was to produce a working implementation of an algorithm that performs the computationally expensive operation of convolution with a long impulse response with the constraints that it run in real-time without latency, and that it use only a single thread. It is able to do this by using a combination of uniform and non-uniform partitioning of the impulse response, and by implementing a time-distributed version of the fast Fourier Transform such as that described by Jeffrey R. Hurchalla in his paper "A Time Distributed FFT for Efficient Low Latency Convolution." The plugin is compatible with mono and stereo inputs, and with mono and stereo impulse responses.

##Usage Use the Projucer application to set the paths for the Juce library modules, then select "Save Project and Open in IDE".

##OS Support Currently, the jucer file only contains an exporter for a Mac OSX Xcode project. However, aside from the Juce framework, this project uses standard C++11 features. It should therefore be straightforward to create exporters for other operating systems.

rtconvolve's People

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.