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
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • 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
Digilent, a National Instruments Company
  • Products
  • Manufacturers
  • Digilent, a National Instruments Company
  • More
  • Cancel
Digilent, a National Instruments Company
Blog Bluetooth controlled FPGA Based Synthesizer
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Digilent, a National Instruments Company to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: alexwonglik1
  • Date Created: 31 Jul 2020 12:05 AM Date Created
  • Views 4925 views
  • Likes 3 likes
  • Comments 0 comments
  • android
  • bluetooth
  • midi synth synthesiser synthesizer keyboard piano
  • make a simple synthesizer
  • oscillators
  • audio codec
  • audio
  • low power synthesizer
  • sound_synthesizer
  • sine wave
  • phase
  • music_synthesizer
  • nexys
  • audio signal
  • sine_generator
  • fpga
  • fast fourier transform
  • vhdl
  • apps
  • synthesis generator
  • digilent
  • fourier
  • sound
  • dsp
  • artix
  • diy synthesizer
  • audio processing
  • nexys video
  • fft
  • fourier transform
  • synthesizer
  • pmod
  • fft fpga
  • digital audio signal processing
  • microblaze
  • bluetooth modul
  • music synthesizer
Related
Recommended

Bluetooth controlled FPGA Based Synthesizer

alexwonglik1
alexwonglik1
31 Jul 2020

A student creates a Bluetooth controlled synthesizer with Digilent Nexys Video Digilent Nexys Video and Pmod BT2Pmod BT2. You can control the frequency and amplitude of 10 sine waves from the mobile apps.

 

image

 

Signal Processing for the Synthesizer

The synthesizer is designed in additive synthesis. This involves the summation of multiple sinusoidal signals to form a more complex signal. The additive synthesis parameters in a discrete-time implementation can be determined using the Fast Fourier Transform (FFT) that computes the Discrete Fourier Transform (DFT) of a sequence.

 

image

 

System Design

The system consists of

  1. Microblaze Processor - soft processor controls the data flow (FFT, DMA channel to codec, memory, Bluetooh, additive generator ceofficients)
  2. DDR3 Memory
  3. Audio Codec driven by custom IP (with central DMA channel and 512 samples FIFOs [L and R audio channels])
  4. Xilinx FFT IP with FIFO
  5. Bluetooth UART
  6. Additive Generator - Run the additive synthesis

 

image

 

Additive Synthesis Implementation

The student built a few IPs in Xilinx Vivado to run the additive synthesis. You can see the building blocks in the below block diagram.

 

  • AXI Memory-Mapped - block provided by Xilinx, allows Microblaze processor to access IP memory, which stores data about the sound pitch, amplitude(k), phase shift(k), where k is an index of the sine wave.
  • Phase generator - computes phase value based on sound pitch, phase shift, and previous phase value.

 

image

 

  • Data generator - provides signal flow to DDS Compiler
  • DDS Compiler - Xilinx IP, stores sine wavetable in Block RAM. Input : 16 bit phase value, output : 16 bit sine wave value.
  • Amplitude Multiplier - perform equation A * sin[n], where A is (0 ; 1) (16 bit fraction value).
  • Mixer - adds all of the sine waves.
  • Normalize - multiply output by a factor based on the count of the sine waves (provides full-scale output)

 

image

Putting everything together

 

After you complete the block design and generate the wrapper. You can run the synthesis, implementation and export the hardware to Xilinx SDK. Then, you can write the application in C programming language. Then, you can program the design in the FPGA.

 

image

 

After that, you can plug in Pmod BT2 and headphone on the Nexys Video.

image

You also need to download the mobile apps and pair that with the Pmod BT2. Then, you can create different sounds

 

image

You can follow the steps in the project page and replicate the project.

 

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

  • Sign in to reply
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 © 2025 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