jamoma / jamoma2

A header-only C++ library for building dynamic and reflexive systems with an emphasis on audio and media.
MIT License
30 stars 6 forks source link

Create allpass interpolation class #67

Closed nwolek closed 8 years ago

nwolek commented 8 years ago

Detailed here. Foudn during research for issue #60.

To be implemented here: https://github.com/jamoma/jamoma2/blob/master/include/core/JamomaInterpolate.h

Notes:

tap commented 8 years ago

This is interesting. I'm trying to figure out where we don't have random access. For example, a wavetable oscillator is a random-access situation, as is playing a soundfile. Maybe not the majority of the time but certainly in some cases.

What happens if you have a fixed delay and change the delay time? Is whatever happens "acceptable"?

Also interesting about this is that we could use an allpass building block inside of the implementation. Which I guess means we need to port this class from Jamoma1: https://github.com/jamoma/JamomaCore/blob/master/DSP/extensions/FilterLib/includes/TTAllpass1a.h

nwolek commented 8 years ago

Actually @tap, you already ported it: https://github.com/jamoma/jamoma2/blob/master/include/objects/JamomaAllpass1.h

;)

tap commented 8 years ago

The Jamoma::Allpass1 class could work in terms of creating a proof-of-concept. It would be much more efficient, however, to use a dedicated building-block with a fixed 1-sample delay.

In Jamoma1 that filter was called Allpass1a instead of Allpass1. There's got to be a better way of naming these though.

nwolek commented 8 years ago

Closed with this pull request https://github.com/jamoma/jamoma2/pull/76