I REACT TO THINGS
OZAN TEZVARAN
INFO(AT)OZANTEZVARAN(DOT)COM


MIDI PHONE
9 Step Patter Generator
April 2024,



Technical exploration, hardware hacking, CircuitPython development

I found an old phone and converted it into a MIDI controller using a Lolin S2 Mini and CircuitPython.

What started as a technical curiosity led to the creation of an irregular drum machine (?).

It was a rewarding experience to explore electronic components and integrate pre-existing circuitry into a new system.

How it works

1. Connect: Plug in the USB cable to power the device and establish a MIDI connection.

2. Activate MIDI: Make sure MIDI input is enabled in your DAW (for example, Ableton Live).

3. Start Playing: Press any button to generate a pattern and start the sequencer.

Basic Controls

  • Pressing a button once generates a new 9-step pattern.
  • Repeatedly pressing the same button continues evolving the pattern by adding new random notes.
  • Once activated, the sequence automatically plays as a 9-step loop.

Adjusting Your Sequence

  • The left potentiometer controls the tempo (speed) of the sequence.
  • The right potentiometer adjusts either:
  • The duration of each note (how long notes are held), or
  • The number of steps in the sequence (from 1 up to 9).

Switching Modes

  • Button 9 toggles between Duration Adjust Mode and Step Adjust Mode.

Step Changes Explained

When you change the number of steps while the sequence is running, the new setting only takes effect after the current loop finishes.

This ensures that the sequence updates smoothly without any "jumps" or glitches — maintaining a continuous musical flow.

Sound Selection (Drum Rack Setup)

We mapped the buttons to different Drum Rack setups in Ableton Live:
  • Button 1: Kick-only patterns
  • Button 2: Kick and hats patterns
  • Button 3: Kick, hats, and woods patterns
  • Button 4 & 5: Full patterns with toms
  • Button 7: Full patterns with additional textures
  • (Button 6 is disabled.)

Conclusion

 This project gave me valuable insights into button bouncing, switch behavior, and parameter design. Hardware It also strengthened my understanding of how to reuse and reprogram existing hardware for creative purposes. At the same time, it became clear that trying to keep everything perfectly under control eventually became a bit pointless — it was a good experience to recognize the system's limits and accept them.

 Sometimes, pushing further doesn't help. After dealing with cabling (somewhat poorly), I started encountering frequent hardware errors. The more I tried to fix things, the more the setup started falling apart — haha. Later on, I realized I was naturally starting to ask for — and need — better quality and more reliable equipment. Hacking is fun, but it can also lead to unpredictable outcomes.

 Sound 

I think the soundbank needs improvement. At one point, I found myself explaining: "I’m using around 18 samples for this." Since it's based on a phone concept, it would be interesting to reintroduce speech and voice elements. I realized that 18 words are already a lot — enough to create many absurd, poetic sentence combinations. I should definitely explore adding words instead of only sounds. I'm also wondering: what if it could connect to the internet? Would it even be possible? It opens up wild possibilities. 

Coding — I will come back to this section later — 

TouchDesigner (TD) I'm curious to keep developing this concept — for example, using it to generate real-time visuals in TouchDesigner.

While Research/Documentation:
The funny part was that I wanted to have a video reference, i wanted to entertain with the documentation video.

I found a VHS tape, 
https://archive.org/details/TheFamilyGuideToComputers1996VHS

Funny.

Special thanks to Ludwig, Tamlab, and Enrique Tomás for their support.
Indirect thanks to Thomas Geissl for his perspectives on programming. I found the phone with dearest Behiye. She gave me lots of emotional support. 
And finally, a big thanks to ChatGPT for technical guidance throughout the process.


Starter Files & Working with MIDI & Code:




Notes/Memories


IF brand new chip >>> Flash. Otherwise you won’t see it.

  • Press button "0" and do not release
  • Press button "RST" and release
  • Release button "0"




she is a saver