1971 Technics Cassette Deck With Machine Generated Music & RGB Graphics

by Andyv34 in Circuits > Microcontrollers

92 Views, 1 Favorites, 0 Comments

1971 Technics Cassette Deck With Machine Generated Music & RGB Graphics

1971_Technics_tape_deck_Acidbox.gif
title.png
1971 Technics tape deck Acidbox (part 1)
1971 Technics tape deck Acidbox (part 2)

This project takes a 1971 Technics RS-273US cassette deck and removes almost all the electronics and replaces it with more modern tech. At the heart is an ESP32 S3 board that generates music using AcidBox - an ESP32 headless acid combo of tb303 + tb303 + tr808 like synthesizers. A second ESP32 S3 board analyses the audio and displays the graphics and sends MIDI commands to the AcidBox. The line out is connected to my stereo system.

Code links:

  1. https://github.com/andyvans/tapedeck-midi-acidbox
  2. https://github.com/andyvans/AcidBox

More info: https://www.codify.nz/acidbox-tape-deck/

Supplies

acidbox0.jpg
acidbox1.jpg
  1. 1971 Technics RS-273US cassette deck or similar
  2. ESP32-S3 with 8mb x2
  3. PCM5102 DAC
  4. RGB 12x4 panel
  5. 18K resistors to limit current to the VU meters
  6. Circuit boards
  7. RGB leds
  8. Pink led
  9. Wires
  10. Micro-switches
  11. Diffusing plastic (source from an old LCD tv)
  12. CD drive motor (optional)

What Was Done

acidbox4.jpg
acidbox6.jpg
counter.gif
acidbox5.jpg
acidbox3.jpg
acidbox2.jpg
  1. Two ESP32 S3 and a single DAC board were added.
  2. The original motor was been removed. All gears and belts have been removed.
  3. The potentiometers have been replaced with rotary encoders.
  4. All cassette deck controls mechanisms were removed and microswitches installed.
  5. A 12x4 RGB matrix has been added inside the cassette slot. An opaque plastic sheet has been added to the front of the cassette slot to diffuse the light.
  6. The original VU meters have been retained and are driven by the ESP32 S3 board via 18K resistors.
  7. RGB LEDs have been added into the display behind the arrow lights.
  8. RGB LEDs have been added into the analog VU meters.
  9. An OLED has been added inside to show the MIDI effects that are being applied to the music.
  10. A small motor from a CD drive has been added to made the cassette counter spin.
  11. The unit is powered by a USB-C power supply. A USB-C plug has been added to the back of the unit to allow for easy power connection.
  12. The line-out plugs are used to provide audio out to a stereo system.
  13. The line-in plugs are used to provide audio in to render VU meters of incoming audio. The switch between the VU meters is used to determine which audio source to use. This is used if render your own music on the cassette deck.

How It Works

acidbox7.jpg
oled-screen.gif
play-leds.gif

There are two ESP32 S3 boards:

  1. One ESP32 generates music using [AcidBox](https://github.com/andyvans/AcidBox). In addition, it receives MIDI commands from a serial pin and polls the cassette buttons to control the synthesizers and volume.
  2. One ESP32 analyses the audio using FFT and displays the results on an 12x4 RGB matrix. It processes the buttons and rotary encoders for MIDI message control. Lastly, it controls LEDS, OLEDs, original and analog VU meters. The code can be found at [here](https://github.com/andyvans/tapedeck-midi-acidbox).

Controls

  1. The cassette deck buttons (play, stop, pause, rewind, fast forward, record) now trigger microswitches. These changes the MIDI sequence being played.
  2. Color themes drive the colours of the RGB LEDs. This is controlled by the button of a rotary encoder.
  3. The rotary encoders change the music sequences by sending MIDI messages to control the synthesizers.
  4. The MIDI changes are displayed on the OLED.
  5. The VU meters show the audio levels of the incoming audio from the synthesizers.
  6. The input switch determines which audio source to use for the VU meters.

Credits

Copych (https://github.com/copych) has done a really great job pulling together code from various sources to refine and create AcidBox (https://github.com/andyvans/AcidBox).