October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
DocumentaryTube
Arduino

A Synthesizer Built Using an Arduino to Control a Cassette Player

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Zack Scholl’s project turns a variable-speed cassette player into a monophonic, MIDI-controlled instrument. An Arduino Uno does not generate the sound: it sends note-dependent values to an MCP4725 digital-to-analog converter, which controls the player’s tape speed. A prerecorded drone therefore rises or falls in pitch as the transport accelerates or slows.

The result is best understood as a hybrid digital-control/analog-tape synthesizer—a cassette sampler/transposer with mechanical character, rather than a conventional oscillator-based synthesizer.

How the cassette synthesizer works

The signal path is:

MIDI keyboard → computer/browser MIDI interface → local serial server → Arduino Uno → MCP4725 DAC → cassette-player speed-control circuit → prerecorded tape → audio output

Faster playback compresses the recorded waveform in time and raises its pitch. Slower playback expands it and lowers the pitch. Because the whole recording is sped up or slowed down, this is mechanical transposition, not independent digital pitch shifting: timing, vibrato rate, noise and the duration of recorded material change as well.

A sustained tone or drone makes the effect usable as a keyboard instrument. Any sustained source can work, including a synthesized tone, voice, noise or an evolving texture.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Arduino Uno REV3 [A000066] - ATmega328P Microcontroller, 16MHz, 14 Digital I/O Pins, 6 Analog Inputs, 32KB Flash, USB Connectivity, Compatible with Arduino IDE for DIY Projects and Prototyping
  • ATmega328P Microcontroller: Powered by the reliable ATmega328P, running at 16 MHz with 32KB of flash memory, 2KB SRAM, and 1KB EEPROM, offering ample resources for a wide range of basic to advanced electronics projects.
  • 14 Digital I/O Pins & 6 Analog Inputs: Features 14 digital I/O pins (6 of which support PWM output) and 6 analog inputs (10-bit resolution), providing flexible options for sensors, motors, and other external components.
  • USB Connectivity for Easy Programming: The built-in USB port allows for direct programming and serial communication, enabling a simple connection to your computer for sketch uploading and debugging through the Arduino IDE.
  • Compatible with Arduino IDE: Full compatibility with the Arduino IDE ensures easy access to a vast array of libraries, code examples, and community-driven projects, making the Uno a great choice for both beginners and experienced makers.
  • Widely Used in Education & Prototyping: The Arduino Uno is a standard in educational environments, widely used for learning and teaching electronics and programming. It's perfect for prototyping, robotics, IoT projects, and more.

Why it is only partly “analog”

The audio is magnetic tape reproduced through an analog cassette circuit, but the control chain is digital. MIDI note selection is digital, the Arduino computes the control value, and the MCP4725 produces the speed-control voltage over I²C. Tape hiss, saturation, wow, flutter, head alignment and motor instability remain in the audio path.

“Mellotron-inspired” is a useful description, but this is not a Mellotron: one tape stream is being transposed by speed, rather than separate tape recordings being selected for individual keys.

Hardware required

  • A variable-speed cassette player. The documented example is a GE 3-5362A Walkman-style player.
  • An Arduino Uno.
  • An MCP4725 DAC breakout.
  • A MIDI keyboard or other MIDI controller.
  • A computer able to run the browser and serial software.
  • A cassette and an audio source for recording a drone.
  • An audio jack or breakout, jumper wires, soldering equipment and a multimeter.

The project documentation gives historical estimates of $15 for the cassette player, $23 for the Arduino, $11 for the MCP4725, $8 for an audio-jack breakout, $5 for jumper wires and $25 for soldering equipment. These are original estimates, not verified 2026 prices, and exclude a MIDI controller, tape, shipping and replacement parts. See the project documentation and the Hackster overview.

Choosing a cassette player

The GE 3-5362A is an example, not a universal requirement. A suitable donor should have:

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Nano V3.0, Nano Board ATmega328P 5V 16M Micro-Controller Board Compatible with Arduino IDE (Nano x 3 with USB Cable)
  • Original ATmega328P CH340 chip is used. Improved new version CH340G Replace FT232RL.
  • LAFVIN Nano V3.0 card is 100% compatible with the Nano card, and fully compatible with Windows, Mac and Linux operating system.
  • Works the same as original Nano, runs perfectly on programming software.
  • Using Atmel Atmega328P-AU MCU, Support ISP download; Support USB download and Power.
  • LAFVIN Nano CH340 controller is a compact board similar to the R3 board, smaller and breadboard-friendly than Diecimila.
  • An existing variable-speed control or an accessible motor-regulation circuit.
  • A usable voltage-control point that can be identified from its schematic or board layout.
  • Reliable tape contact, head alignment and transport mechanics.
  • An accessible audio output, or enough room to add one.
  • Healthy belts, pinch rollers, heads and battery contacts.

A random Walkman may have no convenient control node, or its regulator may fight an injected voltage. USB power can make some players more stable; a related cassette-synth build reported that result, but the correct supply depends on the player’s internal voltage requirements. Never assume that a wire color, pad label or motor terminal is equivalent between models.

Modifying the player safely

Add electronic speed control

On the documented GE example, the builder adds a control-voltage lead at the variable-speed circuit and a ground lead. The repository identifies the active connection as the player’s VS+ point and the ground as the pad below the location marked B+. Those labels are specific to that board.

Trace the exact player’s circuit before soldering. The DAC should feed the speed-control input, not the motor supply, unless a purpose-built driver has been designed. Connect the DAC ground and player control ground to a common reference, verify the control voltage with a meter, and begin at a low value. Excessive voltage can cause runaway speed or damage.

Add an input for recording

The original instructions identify microphone connections marked MIC- and MIC+ and use them for an external recording input. Inject audio at a low level first; overdriving the cassette record amplifier produces distortion. Exact wiring again depends on the player’s circuit.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
LUIRSAY 2Pcs Nano V3.0 Board ATmega328P/CH340G Chip Microcontroller Kit Compatible with Arduino IDE/PWM/SPI 5V 16M(USB C Port with 2Pcs USB Cable)
  • Powerful: The Arduino Nano V3.0 Board Microcontroller Built with ATmega328P and CH340 chips instead of FT232, Improved new version CH340G Replace FT232RL, making it ideal for beginners
  • Seamless Compatibility: Fully compatible with Arduino Nano, supporting Arduino IDE, ISP programming and USB download. Works seamlessly with Windows, Mac, and Linux operating systems for a hassle-free experience.
  • Versatile I/O & Compact Design: Features 14 digital I/O pins (6 PWM outputs), 6 analog inputs, a 16MHz quartz oscillator, USB-C power socket, ICSP port, and reset button. Its compact, breadboard-friendly design ensures easy handling and integration.
  • Flexible Power Supply Options: Supports multiple power sources, including USB-C, 6-12V unregulated external power, or 5V regulated external power. The Nano board intelligently switches to the higher voltage source automatically—no jumper selection required.
  • Excellent Communication Capabilities: Designed for seamless communication with PCs and arduino microcontrollers, the Nano board is fully compatible with multiple operating systems and offers stable and reliable performance for a variety of projects.

Disconnect power while opening the case, insulate exposed conductors, and remember that cassette mechanisms can contain moving parts and unexpected battery or supply voltages.

Preparing the cassette

  1. Record a sustained drone or single reference tone.
  2. Start in a middle register so the mechanism has room to transpose upward and downward.
  3. Record a long passage—about 30 minutes is suggested in the original instructions—or use a loop when continuous operation matters more than retaining a conventional cassette.
  4. Keep the source steady if accurate melodic notes are the priority; use a more complex source when changing texture is the goal.

The recorded source determines the instrument’s timbre. A sine-like tone remains clear, while a vocal, noisy or harmonically rich drone becomes increasingly transformed as it is transposed.

Arduino, DAC and MIDI software

The original software is in Zack Scholl’s tape-synth repository. Its documented workflow is:

  1. Clone and enter the repository:
git clone https://github.com/schollz/tape-synth
cd tape-synth
  1. Build the program:
go build
  1. Start it with the Arduino’s actual serial port:
./tape-synth -com ARDUINOCOM

ARDUINOCOM is a placeholder, not a universal port name. Replace it with the port shown by your operating system. The local browser interface is then opened at http://localhost:8080. The computer supplies MIDI input; the server sends serial commands; the Arduino updates the DAC.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
ELEGOO UNO R3 Microcontroller Board ATmega328P+ATmega16U2 with USB Cable
  • START CODING WITH THE ELEGOO UNO R3: Connect the included USB cable, upload your first sketch, and build sensor, motor, display, and automation projects, making it a practical controller for maker desks, classrooms, coding clubs, and robotics labs
  • ATMEGA328P CORE FOR EVERYDAY PROJECTS: A 16 MHz clock, 32 KB flash, 14 digital I/O pins with 6 PWM outputs and 6 analog inputs provide a versatile foundation for LEDs, buttons, relays, servos, displays and sensors
  • RELIABLE USB PROGRAMMING AND CLEAR WIRING: The ATmega16U2 USB interface supports sketch uploads and serial communication, while clearly labeled headers help simplify connections to jumper wires, shields and modules
  • POWER AND EXPAND YOUR WAY: Run the board from USB or a recommended 7-12 V external supply, then add compatible shields and modules for data logging, automation, robotics, test fixtures and custom electronics projects
  • BOARD AND USB CABLE INCLUDED: Comes with 1 ELEGOO UNO R3 development board and 1 USB-A to USB-B data cable; breadboard, sensors, shields and power adapter are not included, and younger learners should work with an experienced adult

The repository is an older project, and compatibility with a current browser, Go release, Arduino toolchain or operating system has not been established here. Treat the documented commands as the reference workflow and expect possible adaptation.

Calibration: the essential step

Voltage does not map to musical pitch in a universal way. The tape speed, regulator, motor, supply voltage and mechanics of each player change the relationship. The original note table was measured for Scholl’s particular player.

Note label Example voltage
C 0 V
C# 0.7 V
D 0.9 V
D# 1.2 V
E 1.4 V
F 1.62 V
F# 1.85 V
G 2.25 V
G# 2.6 V
A 3.0 V
A# and B 0 V in the illustrative map

These values are examples, not MIDI or DAC standards. The Hackster summary likewise gives D♯ at about 1.2 times normal speed and E at about 1.4 times normal speed for that build only.

A repeatable tuning procedure

  1. Record a known reference tone and let the player reach operating speed.
  2. Send a low DAC value and identify the resulting pitch.
  3. Increase the voltage gradually while measuring or listening for each target note.
  4. Store measured values by MIDI note. Do not assume equal voltage intervals.
  5. Measure several octaves and use interpolation only where the mechanism behaves predictably.
  6. Check ascending and descending changes, because motor acceleration and deceleration can produce different transient behavior.
  7. Retune after changing power, belts, tape, source pitch or the player’s mechanical condition.

A related MIDI-tape implementation measured frequency against applied voltage and derived an interpolation function, illustrating why a fixed table cannot be transferred safely between machines.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Sale
Pro Micro with Atmega32U4 chip Development Board, AYWHP 1 PCS Pro Micro 5V/16MHz Nano microcontroller Development Board with Built-in USB updater Type-C Interface Compatible with Arduino IDE
  • Maximum performance: the Pro micro microcontroller development board runs at 5 V/16 MHz and supported by IDE V1.0.1 for smooth programming. Suitable for Arduino.
  • Versatile connections: Pro micro with 4 x 10-bit ADC pins, 12 x digital I/Os and serial Rx and Tx hardware connections, you have all the ports you need.
  • Easy programming: Pro micro simply connect the motherboard to the on-board micro USB port and program it. If it is not detected, just install the driver.
  • Multifunctional I/O: Pro micro there are 54 digital input/output pins available, including analogue inputs/outputs, as well as interfaces such as PWM, SPI, I2C etc., which offer a wealth of hardware connection options.
  • Good compatibility: the seamless integration with the Arduino IDE and the extensive development tools and libraries ensure a smooth learning curve and make it a good choice for beginners.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What playing it feels and sounds like

  • Monophonic: one transport produces one playback stream. Chords require multiple transports or a different architecture.
  • Slides: the motor accelerates and decelerates, creating portamento-like transitions rather than instantaneous digital note changes.
  • Limited range: extreme speeds can become unstable or sound unnaturally slow and fast.
  • Mechanical variation: wow, flutter, hiss, drift and motor noise are part of the sound.
  • Changing timbre: speeding up or slowing down changes the entire recorded waveform, including vibrato and transients.
  • Power sensitivity: battery discharge and warm-up can move the tuning.

Those imperfections are the project’s appeal for experimental music, but they make it a poor choice where stable tuning, low noise, repeatable latency, polyphony or plug-and-play reliability are required.

Troubleshooting by symptom

The motor does not respond

  • Confirm the cassette player works normally with the DAC disconnected.
  • Check that the modified node is the speed-control input, not a motor terminal.
  • Verify a shared ground and measure the DAC output.
  • Confirm that the player actually supports voltage-based speed control.
  • Use buffering or current limiting if the player’s circuit requires it.

The motor runs away or sounds endangered

Disconnect power immediately. Excessive voltage, a connection to the motor supply, an incompatible DAC range or a missing reference can cause runaway speed or damage. Recheck the schematic for the exact model before applying power again.

The notes are out of tune

Discard the copied map, check the recorded reference pitch, use stable power, clean and service the mechanism, and recalibrate after warm-up. Treat the low and high ends separately if the voltage response is nonlinear.

The audio is weak or distorted

Reduce the recording level, verify the MIC-/MIC+ input arrangement for that player, inspect the tape and heads, and check output wiring and shielding.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The software will not connect

  1. Confirm the Arduino is recognized and the sketch has been uploaded.
  2. Find the correct serial-port name.
  3. Close other programs using that port.
  4. Run the server from the repository directory.
  5. Open http://localhost:8080.
  6. Grant the browser MIDI access and test one note.
  7. Watch for a corresponding DAC-voltage change.

Alternatives and upgrades

  • Different controller: A Raspberry Pi Pico design demonstrates the same principle with a different software and DAC architecture and can add portamento or CV/gate outputs; see MIDI Tape.
  • CircuitPython: Adafruit’s Walkmellotron uses a microcontroller, MIDI and an MCP4728 DAC, but is not the same Arduino build.
  • Manual cassette loop: Knobs and a tape loop provide hands-on texture without MIDI. A 2026 Make project reported more stable behavior with USB power, while noting that player modifications and potentiometer values vary.
  • Digital sampler: Software or hardware sampling offers stable pitch, polyphony and predictable mapping, but removes the mechanical tape behavior.
  • Multiple transports: Several independently controlled players could provide polyphony, at the cost of considerable synchronization and maintenance work.

Is this project worth building?

Build it if you want an unusual tape timbre, physical controls, mechanical imperfections and a reverse-engineering challenge. Avoid it as a first choice for dependable stage performance or precise equal-tempered tuning. The Arduino and MCP4725 are straightforward parts; the cassette player is the compatibility risk, so a multimeter, serviceable transport and model-specific schematic matter more than an expensive MIDI keyboard.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Read next

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.