element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Project Videos
  • Challenges & Projects
  • element14 presents
  • Project Videos
  • More
  • Cancel
Project Videos
Documents FPGA MIDI Music Synthesizer -- Episode 388
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Project Videos to participate - click to join for free!
Related
Recommended
Engagement
  • Author Author: tariq.ahmad
  • Date Created: 2 Mar 2019 6:37 PM Date Created
  • Last Updated Last Updated: 5 Apr 2019 7:24 AM
  • Views 7816 views
  • Likes 10 likes
  • Comments 21 comments

FPGA MIDI Music Synthesizer -- Episode 388

image
FPGA MIDI Music Synthesizer

element14 presents   |  Andy West's VCP Profile |  Project Videos

 

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

Have you ever wondered how digital synthesizers work? In today's video, Andy shows how to build one with just a handful of parts. He'll use a standard MIDI interface and line-level output for maximum compatibility, and an FPGA for maximum fun!

 

The documents for the code is attached below.

 

Bill of Materials

 

Product Name Manufacturer Quantity Buy Kit
P0082 - Development Kit, FPGA, DE0-Nano, 2x GPIO Headers, 32MB RAM, Accelerometer TERASIC TECHNOLOGIES 1 Buy Now
BBP-32701 - Power Supply, BB Series Breadboards, Dual Voltage, 3.3V, 5V, 0.7A BUD INDUSTRIES 1 Buy Now
Breadboard, Solderless, ABS (Acrylonitrile Butadiene Styrene), 8.3mm, 54.5mm x 83.5mm MULTICOMP 1 Buy Now

 

Additional Parts

 

Product Name
I2S Stereo Decoder - UDA1334A Breakout (Adafruit product 3678)
4-channel I2C-safe Bi-directional Logic Level Converter - BSS138 (Adafruit product 757)
ubld.it MIDI Breakout Board Kit
Attachments:
fpga-synth-master.zip
  • programmablelogicch
  • fpga
  • vcpfpga
  • andy west
  • element14 presents
  • e14p_AW
  • programmable logic
  • e14presents_andywest
  • episode 388: fpga midi music synthesizer
  • friday_release
  • Share
  • History
  • More
  • Cancel
Actions
  • Share
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • andywest
    andywest over 6 years ago in reply to celcius1 +5
    Yeah, there's lots of things I'd like to add. Polyphony, pitch bending, velocity, and so many cool effects are possible. Oh, and ADSR envelopes, definitely.
  • celcius1
    celcius1 over 6 years ago +4
    I would love to see this project revisited in the future to expand on its functionality, I also have a huge soft spot for MIDI devices!!
  • DAB
    DAB over 6 years ago +3
    Very cool project. I have always wondered about MIDI formats and use, so I found this episode very interesting. Well done. DAB
  • andywest
    andywest over 6 years ago in reply to steve_j_w

    The sound module can't play sound effects that way, at least not without reprogramming it. It can only do periodic waveforms. If you want to go with actual hardware, you could try a sampler or rompler, but I think a lot of people today use VST plug-ins instead.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • jc2048
    jc2048 over 6 years ago in reply to andywest

    If you do get interested in trying FM synthesis, this blog by Shabaz is worth a read.

     

    Sound Synthesis and the Billion Dollar Paper

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • andywest
    andywest over 6 years ago in reply to celcius1

    Absolutely, yes! If you are in the US like me, you can order the parts in the Bill of Materials above from newark.com. Otherwise farnell.com.

     

    Adafruit parts can be ordered directly from their site or elsewhere. The MIDI board can be found at ubld.it.

     

    There are a couple of additional parts I forgot to add: male-to-female jumper wires and a MIDI cable. And of course you'll need a MIDI instrument or sequencer or something. And speakers / headphones.

     

    If you have any questions problems, please feel free to ask and I'll try to help.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • celcius1
    celcius1 over 6 years ago in reply to andywest

    Andy, to play around with the project, are the parts needed available on element 14??

     

    And to add to that would i be able to get it direct from e14 or would I need to see if a retailer stocks the required parts?

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • steve_j_w
    steve_j_w over 6 years ago

    Just getting back into helping local amateur dramatics society with lighting and sound. Aim to build one of these, Midi keyboard ideal for sound effects, i.e. gunshot, breaking glass, door creaking etc. Assigning a sound effect to each key and you can deliver it precisely on cue.  

     

    Cheers

    Steve

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 6 years ago

    Very cool project.

     

    I have always wondered about MIDI formats and use, so I found this episode very interesting.

     

    Well done.

     

    DAB

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • andywest
    andywest over 6 years ago in reply to celcius1

    I'm no expert so it's hard to say, but it looks like you'd need to add a filter, maybe using an FFT or similar? FM synthesis (and most of the other types) were too complicated for this project, at least for me.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • celcius1
    celcius1 over 6 years ago in reply to andywest

    I’ve always wanted to learn how to understand the midi specification, considering I prefer the old school way of making music using hardware synths over soft synths.

     

    Personally if I had the time, I would work on my own variation using older style FM synthesis or MT-32 style LA synthesis.  Actually with the current wave table how hard would it be to do LA synthesis on the same lines as a MT-32?

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • andywest
    andywest over 6 years ago in reply to celcius1

    Yeah, there's lots of things I'd like to add. Polyphony, pitch bending, velocity, and so many cool effects are possible. Oh, and ADSR envelopes, definitely.

    • Cancel
    • Vote Up +5 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • cstanton
    cstanton over 6 years ago in reply to celcius1

    celcius1 how would you expand it?

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
<>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube