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

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s