SlideShare a Scribd company logo
Music Synthesis in Hardware
Howard Mao
April 25, 2013
ROMboard: An FPGA-based Musical Instrument
http://www.youtube.com/watch?v=ap7QOzf1rpI
What’s an FPGA?
A prototyping platform for digital hardware
Write a description of a circuit in a hardware description
language (HDL)
FPGA contains a bunch of configurable logic blocks (CLB)
Design tools take HDL code and compiles it to CLB settings
for FPGA
How do we make Romboard?
Part 1 - Audio CODEC
CODEC stands for COder DECoder
Turns digital signals into audio signals
Part 2 - Clock Divider
We want to generate a square wave as the audio signal
Why square wave? It’s easier to do in hardware
Problem: how do we get the right frequency?
Hardware clock is at 50 MHz
Our music range is 130 Hz (1 octave below middle C) to 523
Hz (2 octaves above middle C).
Answer: count up to 50MHz
2f then flip the output
Part 3 - Input Handling
How do we choose notes based on input?
4 Pushbuttons, 17 switches
Pushbuttons give 1 when up, 0 when down
Switches are 0 when off, 1 when on
Use switches to select what notes the pushbuttons map to
Pushbuttons + Switches -> Max count for clock divider
Use a ROM (Read-Only Memory) to store these values (That’s
why it’s called ROMboard)
Part 4 - Putting it all together

More Related Content

PPT
OSC and DMXControl
PDF
Open Sound Control as Middleware for Games Accessibility and Body-movement Co...
PDF
LinuxCNC 入門簡介
PPTX
Hard IP Core design | Convolution Encoder
PPT
generate IP CORES
PPTX
Leader election nlogn (1)
PPT
Internet Technology for the Commodore 64
PPTX
Audible Objects
OSC and DMXControl
Open Sound Control as Middleware for Games Accessibility and Body-movement Co...
LinuxCNC 入門簡介
Hard IP Core design | Convolution Encoder
generate IP CORES
Leader election nlogn (1)
Internet Technology for the Commodore 64
Audible Objects

What's hot (20)

PPTX
Alessandro Abbruzzetti - Kernal64
PPT
A2 Video Streamer
PDF
Interacting with Intel Edison
PPTX
Scratch pcduino
PPTX
pcDuino tech talk at Carnegie Mellon University 10/14/2014
PPT
Introduction to Vortex86DX2 Motion-Control Evaluation Board
PPTX
pcDuino Presentation at SparkFun
PDF
Controlling the internet of things using wearable tech - Design+Code Day; Ara...
PDF
VHDL Practical Exam Guide
PDF
Basics of Connectors
PPTX
IoT with openHAB on pcDuino3B
PPTX
Distance measurement using Ultrasonic sensor on Arduino Uno
PDF
Rdl esp32 development board trainer kit
PDF
IOTC08 The Arduino Platform
PDF
Manual usuario - Inspur cx-h81-m1 v2 0
PDF
Intel galileo
PPTX
Introduction to pcDuino
PPTX
Getting started with Intel IoT Developer Kit
PDF
DEF CON 27- SHEILA A BERTA - backdooring hardware devices by injecting malici...
Alessandro Abbruzzetti - Kernal64
A2 Video Streamer
Interacting with Intel Edison
Scratch pcduino
pcDuino tech talk at Carnegie Mellon University 10/14/2014
Introduction to Vortex86DX2 Motion-Control Evaluation Board
pcDuino Presentation at SparkFun
Controlling the internet of things using wearable tech - Design+Code Day; Ara...
VHDL Practical Exam Guide
Basics of Connectors
IoT with openHAB on pcDuino3B
Distance measurement using Ultrasonic sensor on Arduino Uno
Rdl esp32 development board trainer kit
IOTC08 The Arduino Platform
Manual usuario - Inspur cx-h81-m1 v2 0
Intel galileo
Introduction to pcDuino
Getting started with Intel IoT Developer Kit
DEF CON 27- SHEILA A BERTA - backdooring hardware devices by injecting malici...
Ad

Viewers also liked (10)

PPTX
Presentation
PDF
Modular Synth
PPTX
Magazine pitch - Synth
PPTX
Omni synth project pitch
PDF
Synth amplitude envelope
PDF
Tonepad rebotedelay25
PDF
Gate www.pt2399.com
PPT
synathesized function generator
PPTX
Week 6 introduction to music production important synth modules
PDF
Tonepad octaviarm
Presentation
Modular Synth
Magazine pitch - Synth
Omni synth project pitch
Synth amplitude envelope
Tonepad rebotedelay25
Gate www.pt2399.com
synathesized function generator
Week 6 introduction to music production important synth modules
Tonepad octaviarm
Ad

Similar to Hardware synth (20)

DOCX
Sound recording glossary imporved version
DOCX
Ig2 task 1 work sheet
DOCX
Ig2 task 1 work sheet
DOCX
DOCX
Ig2 task 1
DOCX
Ig2 task 1 work sheet
DOCX
Ig2 task 1 work sheet 2
PDF
uRock @ Jserv Course Final
DOCX
Ig2 task 1 no2
DOCX
Sound Recording Glossary
DOCX
Sound recording glossary
DOCX
Sound recording glossary
DOC
Ig2 task 1 work sheet (use this)
DOCX
Sound recording glossary
PPT
Embedded & pcb design
DOCX
Sound recording glossary
DOCX
Anthony bowes IG2 task 1
DOCX
Sound recording glossary improved
PPSX
Work placement viva
DOCX
Ig2 task 1 work sheet
Sound recording glossary imporved version
Ig2 task 1 work sheet
Ig2 task 1 work sheet
Ig2 task 1
Ig2 task 1 work sheet
Ig2 task 1 work sheet 2
uRock @ Jserv Course Final
Ig2 task 1 no2
Sound Recording Glossary
Sound recording glossary
Sound recording glossary
Ig2 task 1 work sheet (use this)
Sound recording glossary
Embedded & pcb design
Sound recording glossary
Anthony bowes IG2 task 1
Sound recording glossary improved
Work placement viva
Ig2 task 1 work sheet

Recently uploaded (20)

PPTX
Modernising the Digital Integration Hub
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
Chapter 5: Probability Theory and Statistics
PPTX
1. Introduction to Computer Programming.pptx
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
Tartificialntelligence_presentation.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Architecture types and enterprise applications.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
project resource management chapter-09.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Web App vs Mobile App What Should You Build First.pdf
Modernising the Digital Integration Hub
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Chapter 5: Probability Theory and Statistics
1. Introduction to Computer Programming.pptx
A contest of sentiment analysis: k-nearest neighbor versus neural network
WOOl fibre morphology and structure.pdf for textiles
Assigned Numbers - 2025 - Bluetooth® Document
O2C Customer Invoices to Receipt V15A.pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Tartificialntelligence_presentation.pptx
Developing a website for English-speaking practice to English as a foreign la...
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Architecture types and enterprise applications.pdf
DP Operators-handbook-extract for the Mautical Institute
project resource management chapter-09.pdf
Hindi spoken digit analysis for native and non-native speakers
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Web App vs Mobile App What Should You Build First.pdf

Hardware synth

  • 1. Music Synthesis in Hardware Howard Mao April 25, 2013
  • 2. ROMboard: An FPGA-based Musical Instrument http://www.youtube.com/watch?v=ap7QOzf1rpI
  • 3. What’s an FPGA? A prototyping platform for digital hardware Write a description of a circuit in a hardware description language (HDL) FPGA contains a bunch of configurable logic blocks (CLB) Design tools take HDL code and compiles it to CLB settings for FPGA
  • 4. How do we make Romboard?
  • 5. Part 1 - Audio CODEC CODEC stands for COder DECoder Turns digital signals into audio signals
  • 6. Part 2 - Clock Divider We want to generate a square wave as the audio signal Why square wave? It’s easier to do in hardware Problem: how do we get the right frequency? Hardware clock is at 50 MHz Our music range is 130 Hz (1 octave below middle C) to 523 Hz (2 octaves above middle C). Answer: count up to 50MHz 2f then flip the output
  • 7. Part 3 - Input Handling How do we choose notes based on input? 4 Pushbuttons, 17 switches Pushbuttons give 1 when up, 0 when down Switches are 0 when off, 1 when on Use switches to select what notes the pushbuttons map to Pushbuttons + Switches -> Max count for clock divider Use a ROM (Read-Only Memory) to store these values (That’s why it’s called ROMboard)
  • 8. Part 4 - Putting it all together