
This is simplified implementation of Karplus-Strong (KS) string synthesis based on papers, Digital Synthesis of Plucked-String and Drum Timbres and Extensions of the Karplus-Strong Plucked-String Algorithm.
A register map controls and configures the KS synthesis module. This register map is accessed through a SPI interface. Synthesized sound samples are sent out through the I2S transmitter interface.
Connect a clock with frequency f_clk = 256 kHz and apply a reset cycle to initialize the design, this sets the audio sample rate at fs = 16 kHz. Use the spi register map or the ui_in to futher configure the design. The synthesized samples are sent continuously through the I2S transmitter interface.
An I2S DAC. The 8-bit signed sound samples are sent out at f_sck = 256 kHz through this interface.
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | ~rst_n_prbs_15, ~rst_n_prbs_7 | sck_i | |
| 1 | load_prbs_15, load_prbs_7 | sdi_i | |
| 2 | freeze_prbs_15 | sdo_o | |
| 3 | freeze_prbs_7 | cs_ni | |
| 4 | i2s_noise_sel | i2s_sck_o | |
| 5 | ~rst_n_ks_string | i2s_ws_o | |
| 6 | pluck | i2s_sd_o | |
| 7 | prbs_15 |