{"id":8570,"date":"2015-07-20T20:00:15","date_gmt":"2015-07-21T03:00:15","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=8570"},"modified":"2021-06-16T16:13:41","modified_gmt":"2021-06-16T23:13:41","slug":"8-step-fpga-sequencer-and-synthesizer","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/8-step-fpga-sequencer-and-synthesizer\/","title":{"rendered":"8-Step FPGA Sequencer and Synthesizer"},"content":{"rendered":"<div id=\"photoset-SSLLR3OI3B0D560\" class=\"photoset\" data-entry-id=\"SSLLR3OI3B0D560\" data-entry-url=\"\/id\/8-Step-FPGA-Sequencer-and-Synthesizer\/\">\n<div class=\"row\">\n<div class=\"photo-container\">Music is\u00a0one of the more delightful aspects of being human. Listening to it provides such a thrill, but creating it &#8212; that takes real work. But what if there were a way to simplify that? Of course there is! This Instructable posted by <a href=\"http:\/\/www.instructables.com\/member\/rinkintran\/\">rinkintran<\/a> tells how to make\u00a0an 8-step synthesizer on an\u00a0FPGA board.<\/div>\n<div class=\"photo-container\"><\/div>\n<div class=\"jetpack-video-wrapper\"><iframe loading=\"lazy\" width=\"735\" height=\"413\" src=\"https:\/\/www.youtube.com\/embed\/zJfWnLn4zno?feature=oembed\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe><\/div>\n<div class=\"photo-container\"><\/div>\n<div class=\"photo-container\">A sequencer plays sounds based on the pertinent board&#8217;s switch positions. This tutorial uses\u00a0the Digilent <a href=\"https:\/\/digilent.com\/blog\/Products\/Detail.cfm?NavPath=2,400,789&amp;Prod=NEXYS2\">Nexys 2<\/a> board, which has eight switches. (However, the code can easily be modified for other boards.) This project also utilizes a speaker (preferably a monotone one, for simplicity&#8217;s sake) and a computer so that you can upload programming onto the FPGA.<\/div>\n<\/div>\n<div class=\"row\">\n<figure id=\"attachment_8626\" aria-describedby=\"caption-attachment-8626\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.instructables.com\/id\/8-Step-FPGA-Sequencer-and-Synthesizer\/?ALLSTEPS\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-8626\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/07\/nexys-synthesizer-sequencer-600x294.jpg\" alt=\"The Nexys 2 connected to the speaker.\" width=\"600\" height=\"294\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/07\/nexys-synthesizer-sequencer-600x294.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/07\/nexys-synthesizer-sequencer-225x110.jpg 225w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/07\/nexys-synthesizer-sequencer.jpg 620w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><figcaption id=\"caption-attachment-8626\" class=\"wp-caption-text\">The <a href=\"https:\/\/digilent.com\/blog\/Products\/Detail.cfm?NavPath=2,400,789&amp;Prod=NEXYS2\">Nexys 2<\/a> connected to the speaker.<\/figcaption><\/figure>\n<\/div>\n<\/div>\n<div class=\"txt step-body\">\n<p>This project&#8217;s creators used\u00a0<a href=\"http:\/\/tonematrix.audiotool.com\/\" rel=\"nofollow\">Tone Matrix<\/a>, an online step sequencer, as a basis for their game. Before you get started, you should play a full scale and have a good grasp of Tone Matrix. This particular game sticks to inputs on the board, but you could add more notes with external buttons or LEDs pretty easily. To begin, you&#8217;ll have to configure the Nexys 2&#8217;s inputs and outputs. Using the buttons, you&#8217;ll connect a specific tone to each switch. Next, it&#8217;s necessary to create the components &#8212; including a finite state machine, a clock divider, debouncer, a pulse generator, and more. Once you&#8217;ve created them, you&#8217;ll have to connect them to each other. After creating a user constraints file (UCF), you&#8217;ll connect the physical components. Then it&#8217;s time to play the game!<\/p>\n<figure id=\"attachment_8627\" aria-describedby=\"caption-attachment-8627\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.instructables.com\/id\/8-Step-FPGA-Sequencer-and-Synthesizer\/?ALLSTEPS\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-8627\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/07\/nexys-synthesizer-sequencer-instructables-600x340.jpg\" alt=\"Ready for programming!\" width=\"600\" height=\"340\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/07\/nexys-synthesizer-sequencer-instructables-600x340.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/07\/nexys-synthesizer-sequencer-instructables-225x127.jpg 225w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/07\/nexys-synthesizer-sequencer-instructables.jpg 620w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><figcaption id=\"caption-attachment-8627\" class=\"wp-caption-text\">Ready for programming!<\/figcaption><\/figure>\n<p>What are you waiting for? Start making music (or very pleasant tonal combinations)!<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-8570 jlk' data-task='like' data-post_id='8570' data-nonce='d8c4d58d14' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-8570 lc'>0<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-8570 jlk' data-task='unlike' data-post_id='8570' data-nonce='d8c4d58d14' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-8570 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-8570 status align-left'>Be the 1st to vote.<\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Music is one of the more delightful aspects of being human. Listening to it provides such a thrill, but creating it &#8212; that takes real work. But what if there were a way to simplify that? Of course there is!<\/p>\n","protected":false},"author":7,"featured_media":8626,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[35,1561],"tags":[1662],"ppma_author":[4464],"class_list":["post-8570","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fpga","category-applications","tag-fpga"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/07\/nexys-synthesizer-sequencer.jpg","jetpack_sharing_enabled":true,"authors":[{"term_id":4464,"user_id":7,"is_guest":0,"slug":"amber_mear","display_name":"Amber Mear","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/d0fc56ab4035f79884675bde2a948e84c1d14dd33b730b4c142dde6f1a962395?s=96&d=mm&r=g","1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":"","9":"","10":""}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/8570","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=8570"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/8570\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/8626"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=8570"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=8570"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=8570"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=8570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}