Skip to content

STARS-Design-Track-2023/silly-synthesizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STARS 2023 Design Final Project

Silly Synth Specialists (Triple SSS)

  • Austin Bohlmann
  • Ethan Christie
  • Adam Mack
  • Andre Ponsot
  • Noah Rediker

Silly Synthesizer

A synthesizer with the following specifications:

  • Thirteen note buttons to play an entire octave from C to C
  • A note range from C2 to C7
  • Two octave buttons to raise or lower the octave being played
  • One button to change the shape of the wave between off, triangle, sawtooth, and square modes
  • One button to goof-off.
  • Clock speed of 10MHz
  • Supply Voltage of 3.3V

Pin Layout

Input: GPIO [0:12] keyboard (C, C#, D ... A#, B, C), [13] mode key, [14:15] octave change (down, up), [16] goof-off

Output: GPIO [33] PWM

Supporting Equipment

To properly output audio, the synthesizer utilizes an audio amplifier as shown below. It requires 12V supply and uses an LM386 (shown as LM393 in diagram) op amp integrated circuit to amplify the analog wave output of the synthesizer device. image

RTL Diagrams

Top level Diagram: image Sound Driver RTL. This section creates and outputs the sound wave based on which button is being pressed. image Clock Divider RTL Diagram, supplying a 4Hz signal to the RNG block and a 49kHz signal to the wave shaper. image Pulse Width Modulator, controlling the output based on the calculations performed by the wave shaper. image Oscillator, which counts from 1 to the divisor value given from the lookup table. image Wave Shaper Module Diagram. This module uses a sequential divider to divide the oscillator's output by the lookup frequency of the note played, then performs combinational logic to output a wave. image Sequential Divider Diagram as a submodule of the wave shaper. image Random Number Generator Module, which is applied to the goof-off button. image Linear Feedback Shift Register (LFSR) as part of the RNG module. image Input Modules, which outputs the correct frequency to play based on the note pressed, normal or goof-off mode, and the selected octave. image Keypad Encoder Module: image Wavetype State Diagram to determine which wave shape the device outputs. image Octave State Diagram to determine what octaves the keyboard corresponds to. image

Statement from Purdue

Pending

Peace and love to hall from the Silly Synthesizer Specialists <3

About

Purdue STARS Design 2023 Silly Synthesizer Project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published