I want to reduce the linearity of a triangle wave by reducing the bit-depth of the amplitude, basically make it into a fine, triangle-shaped step-function. I'm trying to think of what would be the best way (least CPU work) to achieve this?
I suppose the most direct approach would be to convert from digital to a low-resolution (like 8-bit or even 4-bit low) analog approximation, but is that possible in PD?
Could I somehow get the triangle into a table, and then use tabwrite~ (or tabosc4~?) to create another table that is incremented at the same rate (hopefully real-time), but the amplitude values written to the new table are only updated on every n-th sample of the input? I'm a little confused on the differences between the various table objects... I know I need to do some more reading, but I'm hoping someone may have a quick answer for me