Personal tools
You are here: Home development Google Summer of Code BLOSCLib
Views

Edit history

Edit: -1 of 1
Time: 2009-03-08 22:52:24
Note: /pd/pd/dev/summer-of-code/BLOSCLib/edit

changed:
-
----

=== Possible Mentors ===

 *Hans-Christoph Steiner
 *Andy Farnell

=== Description ===

The project aims to create a unified and efficient set of band-limited oscillators to make it easy to create synths that don't have “foldover noise”.  This project would include unifying the existing externals and abstractions, as well as possibly porting quality BLOSCS from Csound or other open-source projects.  It could implemented either in C or in Pd, but it probably should not be a mix.

Resources to start:

 *[http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/externals/creb/modules%2B%2B/blosc~.cc?view=log creb/blosc~] a C++ implementation of a bandwidth-limited oscillator
 *[http://lists.puredata.info/pipermail/pd-list/2004-03/017986.html band-limited square wave] discussion on pd-list
 *[http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/pd/doc/3.audio.examples/J09.bandlimited.pd?view=log  J09.bandlimited.pd] a reference implementation in Pd
 * [http://crca.ucsd.edu/~msp/techniques/latest/book-html/node193.html Predicting and controlling foldover] in MSP: Theory and Technique ...
 * [http://trac.rjdj.me/browser/trunk/rjlib/rj/ s_osc.pd] in the RjDj library for an example of bandlimiting using transition splicing
 * [https://devel.goto10.org/svn/pdmtl/trunk/pdmtl/  synth.osc.saw.bl~.pd] bandlimited saw from [http://wiki.dataflow.ws/PdMtlAbstractions pdmtl] abstractions, using a set of wave tables.
 * [https://devel.goto10.org/svn/pdmtl/trunk/pdmtl/  synth.osc.square.bl~.pd] bandlimited square from [http://wiki.dataflow.ws/PdMtlAbstractions pdmtl].
 * [https://devel.goto10.org/svn/pdmtl/trunk/pdmtl/  synth.osc.triangle.bl~.pd] bandlimited triangle from [http://wiki.dataflow.ws/PdMtlAbstractions pdmtl].

=== Required Skills ===

 *moderate knowledge of digital signal processing theory
 *solid Pd DSP skills
 *if the student desires, this could be implemented in C instead of Pd

=== Possible Breakdown of Steps ===

Ideally, this project would end with a complete set of common oscillators bundled together as a library.  But each individual object would be useful on its own.  So this project is basically made up of a some prep work, then a set of more or less even steps.  Here is a possible list of oscillators to include: sine, square, triangle, sawtooth, pwm.


Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser