Plug n Play

Team Name

Plug N’ Play

Timeline

Summer 2025 – Fall 2025

Students

  • Alan Santoyo-Pina – Computer Science
  • Estefany Perez – Computer Science
  • Genaro Sierra – Computer Engineering
  • Americo Guerrero – Computer Engineering

Abstract

This project develops Plug N’ Play, an affordable autotune plugin paired with a custom MIDI controller to simplify real-time vocal processing. Built using the JUCE framework, the system provides an intuitive, cross-platform solution designed for both beginner producers and live performers, reducing cost and complexity while enhancing creative control.

Background

In the modern music production landscape, vocal processing tools, such as autotune, have become in-dispensable across genres. From subtle pitch correction to full-blown vocal manipulation, auto-tune software shapes the sound of contemporary music. However, the barrier to entry for high-quality vocal tuning often involves expensive plugins, convoluted licensing, and a steep learning curve for beginners. Meanwhile, the live performance sceneâparticularly among indie producers and DJs still lacks affordable, customizable autotune solutions that can seamlessly integrate with MIDI hardware and live mixing setups. Our team identified an opportunity to build a custom autotune plugin using the JUCE framework, alongside a bespoke MIDI controller, to address this gap. While the overall team effort is split between hardware and software components, my primary focus is the development of the software plugin. Our goal is to create a responsive, intuitive, and performant autotune plugin customized for both studio production and live performance.

Project Requirements

  • Ease of Use
  • Affordability
  • Intuitive UI/Ux Design
  • MIDI Hardware Integration
  • Cross-Platform Plugin Compatibility

Design Constraints

All Senior Design projects may be subject to some of the below design constraints as applicable to the specific project. Discuss or elaborate upon any of the applicable constraints (minimum 5):
(These should be documented in the System Requirement Specification document)

  • Final prototype demonstration must be completed by December 1st, 2025
  • Budget: The total cost for the entire project is 800 USD including the costs for hardware components, prototyping, design, and software programming/any licensing. Additionally, the MIDI
    controller must be affordable to manufacture so that users have an inexpensive entry
    point into music production.
  • Lab Safety Protocols: Usage of any lab equipment and/or hardware must comply with regulations
    set by the Department of Computer Science and Engineering, the College of Engineering, and the
    University of Texas at Arlington
  • Intellectual property usage: Any audio samples, icons, or interface graphics used must either be
    original, royalty-free, or properly licensed to avoid copyright infringement
  • USB MIDI class compliance: The hardware must adhere to the class specification to avoid legal
    issues with driver distribution
  • Interoperability: Both the audio plug-in and the MIDI controller must function on macOS and
    Windows. Additionally, each device must be capable of operating independently of the other.

Engineering Standards

  • MIDI 1.0 Implementation Chart; General MIDI 1 Spec.
  • ANSI/ESD S20.20 – Electrostatic discharge protection
  • ISO 9241 – Ergonomics of human-system interaction
  • FCC Part 15 – Unintentional radiators (USB-powered devices)
  • USB MIDI Class Compliance and Raspberry Pi Pico Complience
  • JUCE Coding Standards (JUCE Documentation)
  • MIDI Specifications
  • VST3 SDK Guidelines
  • AAX Plugin Development Standards

System Overview

MIDI Controller: The MIDI Controller hardware layer has the function of having user input and a microcontroller output to the Audio Plugin. It stores the functionalities of buttons, pads, knobs, sliders, and a visual OLED screen to be accessible by the user. The microcontroller handles, stores, and outputs data to different hardware components that translate the data through the USB into the Audio Plugin component. A reversal also occurs where the Audio Plugin can transmit data back to MIDI controller.

Audio Plugin: The audio plugin is divided into distinct layers, ranging from the front end, what the user sees and interacts with, and the backend. These layers are interdependent, and removing any layer would render the plugin unusable. These are the UI, Parameter, Audio Processing, DSP, and MIDI Communication layers. Their functions enable the audio plugin to give the user the window containing the sliders and knobs used to change the audio, take in audio, change/modify it according to certain parameters, then pass it on to either a downstream plugin or even the MIDI Controller.

Results

Software:

The plugin a real time signal processing synthesizer, generates raw sounds using a mathematically defined oscillator (sine, saw, square). In which the wave sounds are modified using filter and amplitude (Attack, Delay, Sustain, Release) envelopes. And adds spatial characteristics and movement using real time effects like reverb, chorus, and compression.

Hardware:

MIDI Controller successfully operated a piano, sample pads, and potentiometers (knobs) to manipulate sounds on DAW software. Through a TinyUSB connection, the controller can be used on any personal computer that uses USB. The controller now acts as a physical input for music creation

Future Work

In the future, we aim to 3D-print the casing design we created and refine the PCB layout to ensure full compatibility with the OLED display. Furthermore, we plan to successfully implement the piano keys and springs to make the MIDI controller more responsive and easier to use.

For the audio plugin, we aim to provide a second oscillator that would generate an additional sound wave. Along with this, an additional effect: Unison of Voices. This would simulate multiple sound waves playing at once. Finally, along with the oscillators, allowing the user to choose sounds from different instruments such as a grand piano or a pipe organ when playing keys

Project Files

Project Charter
System Requirements Specification
Architectural Design Specification
Detailed Design Specification
Main Body Schematic
Piano Keypad Schematic
Poster
Closeout Materials

References

  • JUCE, “JUCE: Cross-platform C++ framework,” ver. 8.0. [Online].
    Available: https://juce.com.
  • Raspberry PI Pico 2W Libraries:
    https://github.com/earlephilhower/arduino-pico/tree/master/libraries

Steven McDermott