Skip to the content
PCBKitNew board
2 layersString Drum Synthesizer, the printed circuit board in 3D

String Drum Synthesizer

AbhiN30/String-Drum-Synthesizer

Purpose/Requirements: This subsystem must be able to power the processor and the USB keyboard. Capacitors will be used to stabilize the power block.

Copper layers
2
Thickness
1.6 mm
Parts
62
Nets
161
Pads
370
Tracks, vias
325, 0
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
17 Sep 2024
Updated
17 Dec 2024

Overview

String Drum Synthesizer is an open-source printed circuit board by AbhiN30, from the AbhiN30/String-Drum-Synthesizer repository on GitHub. It is a 2-layer board with 62 parts on 161 nets, routed with 325 tracks and 0 vias.

It is built around the SII1136CTU, LM1117MP-3.3 and USB-A1HSW6, with the 10029449-111RLF and 74LS257PC among its other parts. Its parts include 32 resistors, 11 capacitors and 5 ICs. It belongs with the audio and music boards and the STM32 boards of this library.

Main components

5

README

README.md

String/Drum Synthesizer (Initial Project Proposal)

Team Members:

  • Abhi Nayak (arnayak2)
  • Joel Schurgin (joelbs3)

Problem

A musical artist brings with them a sense of how to evoke certain emotions or create particular atmospheres, but may lack the technical knowledge to bring it to life. Sound design can be challenging as it involves crafting the unique timbres and textures that define a piece of music, which can be both an art and a science. The learning curve is steep, not only because it requires a grasp of complex technical tools but also because it demands a creative intuition that isn't easily taught. Musicians and producers must learn to navigate a vast array of software and hardware tools, each with its own set of knobs, sliders, and buttons. Understanding how to shape sounds means diving deep into the physics of sound waves, the principles of digital signal processing, and the subtleties of different synthesis methods. This process can feel overwhelming, especially for beginners who might feel lost amidst the jargon and the sheer number of options.

Solution

Our proposal is to build a synthesizer. A synthesizer is a machine that is capable of producing a range of sounds when given a simple key or noise pulse. The range of sounds are controlled by a set of parameters such as filter cutoffs, oscillator types, low frequency oscillators, etc. The proposed solution is two-fold. The first part of the project is to build emotive knobs that feature descriptive ranges such as soft to aggressive or thin to thick. These knobs would also control the internal parameters of the system to achieve the desired effects on the input sound. The other part is to create a system that records a sound and finds the best way to set the synthesizer's internal parameters to recreate it. The intended work flow of this device for a musical artist is to record a sound, tweak the knobs, and play that sound by pressing a key on a MIDI keyboard. It is up to the musician to record the sound into their own recording software for further manipulation.

Solution Components

Subsystem 1: Power Block

Purpose/Requirements: This subsystem must be able to power the processor and the USB keyboard. Capacitors will be used to stabilize the power block.

Components:

  • 5V DC Power Supply Adapter
  • Capacitors
  • Subsystem 2: Synthesizer

Subsystem 2: Software Synthesizer

Purpose/Requirements: This subsystem will generate sounds using the Karplus Strong algorithm which features a pulse generator and an echo chamber (modeled with digital delay, feedback, and filtering). When a note is played on a USB keyboard, this component must be able to change the pitch based on which key is pressed. The algorithm’s parameters must be controllable using potentiometers, but several parameters can be determined as a function of one knob. We chose the Karplus Strong algorithm to reduce the computational load, but we are modifying certain aspects to allow for a greater range of sounds. The pulse that we will use is a blend of noise and sine wave oscillator which are added together and distorted. In addition, there will be some soft distortion applied on the output. In addition, the echo chamber will use 3 IIR filters: highpass, lowpass, and a bell. The choice to use IIR filters is to lower the amount of computation.

We made a demo of the synthesizer algorithm using a digital audio workstation in order to play with parameters and determine the names of the emotive knobs. Below are the emotive knobs and how the corresponding synth parameters should change to implement them:

Aggression

  • Synth Params: Pulse distortion, output distortion
  • Knob Left: Low distortion
  • Knob Right: High distortion

Brightness

  • Synth Param: Low pass filter cutoff
  • Knob Left: 20 Hz
  • Knob Right: 20 kHz

Boominess

  • Synth Param: High pass Cutoff
  • Knob Left: 20 kHz
  • Knob Center: Note pitch
  • Knob Right: 20 Hz

Dampening

  • Synth Param: Bell Q
  • Knob Left: High Q
  • Knob Right: Low Q

*Not sure what to call this yet, but it affects how the echo chamber resonates. Note: setting this to around 3.6 kHz sounds good, so it could be fine to keep this completely internal and forgo the corresponding knob.

  • Synth Param: Bell frequency
  • Knob Left: 20 hz
  • Knob Right: 20 kHz

Scratchiness

  • Synth Param: Length of pulse
  • Knob Left: 0
  • Knob Center: 1/(Note pitch)
  • Knob Right: 4/(Note pitch)

Sharpness

  • Synth Param: Mix between pulse noise and oscillator
  • Knob Left: Pulse consists of only oscillator
  • Knob Right: Pulse consists of only noise

*Strike weight => Corresponds to simulated weight of object striking the string/drum head.

  • Synth Param: Pulse oscillator pitch
  • Knob Left: 20 kHz
  • Knob Right: 20 hz

Notes:

  • The value "note pitch" is determined by USB keyboard input.
  • Bell gain is fixed and should be set to attenuate the signal.

Components:

  • Microprocessor
  • DAC
  • Potentiometers for parameters (linear, should be able to snap to center position if center value has meaning other should be smooth all the way through)
  • USB Port

Subsystem 3: Amplifier

Purpose/Requirements: This subsystem should output the smallest possible signal to noise ratio through a guitar cable or headphones. In order to achieve this we will experiment with using several inverting op-amp amplifier circuits in parallel and summing them together with an inverting mixer. The gain of each amplifier will be set, but the volume control will be part of the inverting mixer circuit.

Components:

  • Mono 1/4in audio jack
  • 4 Op-amps
  • Logarithmic Potentiometer (for volume control)

Subsystem 4: Screen/Monitor

Purpose/Requirements: This subsystem should display the waveform of the sound being processed. The purpose of this subsystem is for the user to be able to receive a visual representation of the sound they are developing using their input pulse and emotive knob manipulations. The screen could enhance the usability of the synthesizer by providing visual indicators or icons for each emotive knob, making it easier for users to identify how different settings affect the overall sound. This would bridge the gap between technical sound parameters and intuitive control.

Components:

  • Mono 1/4in audio jack
  • Op-amp/Transistors
  • Raspberry Pi Screen, 7 inch portable monitor external display

Criterion For Success

High-Level Goals:

  1. Get a simple sound, such as a sine wave at 440 Hz, out of DAC output from the synthesizer subsystem. Should be viewable in an oscilloscope, but not important to hear yet.

  2. Add potentiometers to the synthesizer and use to control pitch of simple sound for testing.

  3. Build the amplifier in order to hear the previously described sound.

  4. Add USB port and code for parsing keyboard input.

  5. Use synthesizer algorithms to implement the emotive knobs, starting with the pulse generator and then building the echo chamber. Reach Goal:

  6. Implement the screen into the entire system. It will show the waveform of the generated sound, including its amplitude, frequency, and potential distortions. This helps users better grasp the effect of parameters like distortion, brightness, dampening, etc. This visualization would assist the user in creating more precise and desired sounds.

Important Notes:

-The screen is peripheral and not required for the rest of the system to operate. Therefore implementing it is a reach goal.

Parts

62
QtyValueFootprintReferences
12220Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR3, R4, R5, R7, R9, R17, R27, R28, R29, R30, R31, R32
8EmotiveKnobConnector_Molex:Molex_KK-254_AE-6410-03A_1x03_P2.54mm_VerticalPot0, Pot1, Pot2, Pot3, Pot4, Pot5, Pot6, Pot7
510kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR10, R15, R19, R21, R23
410uFCapacitor_THT:CP_Radial_D7.5mm_P2.50mmC2, C4, C6, C7
44k7Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR8, R18, R20, R22
30.1uFCapacitor_THT:C_Disc_D6.0mm_W4.4mm_P5.00mmC1, C3, C5
31MResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR24, R25, R26
22kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R12
2400pFCapacitor_THT:C_Disc_D6.0mm_W4.4mm_P5.00mmC11, C12
275kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR14, R16
2LM1117MP-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U1, U5
2USB-A1HSW6USB_A1HSW6:OST_USB-A1HSW6KeyboardUSBPort1, ProgrammableUSBPort1
10.01uCapacitor_THT:C_Disc_D6.0mm_W4.4mm_P5.00mmC8
110029449-111RLF10029449_111RLF:CONN_10029449111_AMPHDMI_Port1
11kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR11
12.2uFCapacitor_THT:C_Disc_D6.0mm_W4.4mm_P5.00mmC9
13.3kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR2
174LS257Package_DIP:DIP-16_W7.62mm_Socket74LS257
1750Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR13
1820Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR6
1Conn_01x03_PinConnector_Molex:Molex_KK-254_AE-6410-03A_1x03_P2.54mm_VerticalAudioJack1
1LM3900DRPackage_DIP:DIP-14_W7.62mm_SocketU4
1SII1136CTUPackage_QFP:TQFP-100-1EP_14x14mm_P0.5mm_EP5x5mmU2
1STM32F722RCTxPackage_QFP:LQFP-64_10x10mm_P0.5mmU6
1Volume (100k)Connector_Molex:Molex_KK-254_AE-6410-03A_1x03_P2.54mm_VerticalVolume

Questions

What parts does the String Drum Synthesizer use?

62 parts, built around the SII1136CTU, LM1117MP-3.3, USB-A1HSW6 and 10029449-111RLF. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the String Drum Synthesizer KiCad files?

From the AbhiN30/String-Drum-Synthesizer repository on GitHub, at the commit this page was made from: the board is Schematic/String-Drum-Synthesizer.kicad_pcb and its schematic Schematic/String-Drum-Synthesizer.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the String Drum Synthesizer design in my own project?

Its repository states no licence, so its author keeps all rights: ask AbhiN30 before reusing the design.

Similar boards

  • 4 layers72.9 × 61.3 mmGraphics card rev-2, the printed circuit board in 3D

    Graphics card rev-2

    ShaneTWilliams/worlds-worst-graphics-card

    Custom HDMI transmitter PCB with 480 MHz STM32H7 microcontroller

    131 parts18MIT
  • 2 layers75 × 40 mmPicoTop Board Rev2, the printed circuit board in 3D

    PicoTop Board Rev2

    7west/PicoTop

    A very basic computer & OS based on the RP2350 microcontroller

    86 parts66
  • 2 layers190.9 × 99.8 mmDaisyRoguePanel 3x1, the printed circuit board in 3D

    DaisyRoguePanel 3x1

    robertsonics/DaisyRogue_PCB

    Daisy Rogue PCB KiCad Project

    235 parts6
  • 2 layers99 × 44.3 mmUSB HUB PCB, the printed circuit board in 3D

    USB HUB PCB

    Erolctk/CH334R-USB-HUB

    a compact 4-port USB 2.0 hub designed in KiCad using the WCH CH334R USB Hub Controller

    25 parts1MIT
  • 2 layersRobot seg, the printed circuit board in 3D

    Robot seg

    benja47012/Robot-de-seguridad

    Robot de seguridad con diversas funciones, planteado con un protocolo I2C.

    48 parts
  • 6 layers128 × 117.8 mmFPGA DevBoard, the printed circuit board in 3D

    FPGA DevBoard

    Benny-Chippers/Enchanted_Rocks

    The dev board PCB for the MacroController project

    301 partsMIT
  • 2 layers87 × 63.5 mmSr Design, the printed circuit board in 3D

    Sr Design

    EngineerGuySam/Cat-Turret

    A Raspberry Pi 4–powered pan-and-tilt water gun that uses a camera and YOLO machine learning to detect cats on counters.

    46 parts
  • 2 layers220 × 125 mmControllerPCB, the printed circuit board in 3D

    ControllerPCB

    jbayert/ControllerPCB

    26 parts