Xarp-56 (pronounced "harp") is a 56 string harp of Karplus-Strong string models. (56 voice polyphony).

Each string model is an integer length 18 bit wide digital waveguide. Keyboard follow is applied to the bandwidth of the reflection filter and to a lesser extent linear attenuation.

Note that the highest note has 5.051 cents of tuning error. The rest of the harp tuning is better than 5 cents. I cannot hear the error in that one note.

This synth is targetted at a Xilinx Spartan-3A DSP 1800 Development board with a Cirrus CS4344 24 bit stereo DAC.

Ver_b: mono output signal to both channels.

ver_k: Added adjustable linear attenuation (connected to Y-joystick port) and added keyfollow for both linear attenuation and reflection filter bandwidth. Linear attenuation is controlled by a linear keyfollow value and bandwidth is controlled using the square of the keyfollow value (zero-based note number). This produces a much more playable instrument with better sustain for the high end of the pitch range. Added velocity influence of bandwidth.

Stereo output is provided such that low strings are more to the left and high strings are more to the right. A delay of approximately 1 mS is applied to the right channel for "depth".

The demo piece is music I wrote with inspiration from the instrument itself.
Project source
Sound clip
using only an Xarp-56 instrument.
There was no other processing.