Synthesizing Strings On A Cyclone V

Cornell students [Erissa Irani], [Albert Xu], and [Sophia Yan] built a FPGA wave equation music synth as the final project for [Bruce Land]’s ECE 5760 class.

The team used the Kaplus-Strong string synthesis method to design a trio of four-stringed instruments to be played by the Cyclone V FPGA. A C program running on the development board’s ARM 9 HPS serves as music sequencer, controlling tempo and telling the FPGA which note to play.

The students created versions of four songs, including “Colors of the Wind” from the Pocahantas soundtrack, “Far Above Cayuga’s Waters” (Cornell’s alma mater) and John Legend’s “All of Me”. A simple GUI allows the viewer to select a song and to choose which instrument or instruments to play, providing multiple variations for each song.

Thanks, [Bruce]!

10 thoughts on “Synthesizing Strings On A Cyclone V

  1. It reminds of csound, I don’t know how they did it but here is one way to do it on an FPGA,

    https://www.researchgate.net/publication/3320564_Design_Methodology_for_Real-Time_FPGA-Based_Sound_Synthesis

    As a classical guitar player I’ve noticed that a lot of these algorithms seem to be lacking a parameter for the pick location relative to the bridge, and it does make a big difference to the timbre when you vary it on a real guitar.

    1. I believe she said that “Far Above Cayuga’s Waters” was Cornell’s Alma Mater, which would indicate that Cornell attended Far Above Cayuga’s Waters. Good for THEM.

      1. If you’re going to be pedantic, at least be correct at the same time.
        Alma mater has two definitions (according to Merriam Webster):
        1. a school, college, or university which one has attended or from which one has graduated
        2. the song or hymn of a school, college, or university

  2. I run the Karplus-Strong on a Attiny85.
    The example is here
    https://8bitmixtape.github.io/
    It is named “05092008_ChrisMicro_TraschMetalResearchGroup” because you can modulate it from classical guitar sound to an electro guitar.

    But attention: The wav-file you will here on the website is not the audio-sound but the hex-file to be programmed with the audio-bootloader:
    https://github.com/ChrisMicro/TinyAudioBoot

    Here are some instructions on how to build the Attiny85 Synthesizers:
    https://github.com/ChrisMicro/AttinySound

Leave a Reply to ValentinCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.