This project aims to improve outdated audio devices by pairing them with contemporary technologies. I propose the development of an analog multi-effect chain unit that combines different types of vintage components and modern microcontrollers. I seek to preserve the warmth and organic character of the analog sound and expand its capabilities with the flexibility and integrability of digital tools. The core element of the effect chain is an analog delay line which, if sampled in various sequences, produces different modulation effects. By design, the unit can be expanded with additional analog modules such as spring reverbs and tape delays that are chained in an interchangeable order and controlled by the same central microcontroller. The user interface is divided between a minimalist control panel located on the unit and a mobile app that allows for in-depth parameter adjustment.
Category: Sound Design
Additional Analog Components
As I already mentioned in an earlier blog post, I aim to expand the unit with either a Spring Reverb or a Tape Delay by the end of the third project semester. For the reverb, my main idea is to build an add-on tube-driven spring reverb module based on the classic Ampeg and Swart-style circuits. The advantage of these circuits is the relatively small number of parts required. Besides an enclosure, a handful of components, and a valve socket, the only costly item is the reverb tank itself, which I already possess.
My main reference for the tape delay effect is a DIY project by Matsound, that combines a Marantz PMD430 portable cassette player with the Echo-Matict, a simple circuit that can turn any 3-head cassette recorder into a tape delay. The 3 head design allows for the separate use of record and play head, meaning that it is possible to record and playback from the tape simultaneously. The Echo-matic circuit splits the incoming signal and routes it both to the output and to the tape machine with a mix blend control. The delay effect is produced by mixing the dry input signal with the one going through the cassette tape. Initially, the delay time is fixed by the distance between the record and play heads, but by adding a voltage control to the motor its speed can be altered, and thus the delay time can be adjusted.
Sources:
Cary, J., 2021. Echo-Matic (DIY Tape Delay). [Blog] Proto-Schlock, Available at: <http://proto-schlock.blogspot.com/2015/04/echo-matic-diy-tape-delay.html> [Accessed 12 December 2021].
Effects, S., 2022. DIY Tape Delay? The Echo-Matic!. [online] The Gear Page. Available at: <https://www.thegearpage.net/board/index.php?threads/diy-tape-delay-the-echo-matic.1822557/> [Accessed 12 December 2021].
Hawkes, R., 2019. DIY CASSETTE TAPE GUITAR DELAY. [Blog] Hackday, Available at: <https://hackaday.com/tag/cassette-tape/page/2/> [Accessed 12 December 2021].
freestompboxes.org, 2017. Stompboxology Echo-Matic DIY Tape Delay. Available at: <https://www.freestompboxes.org/viewtopic.php?f=28&t=28316> [Accessed 12 December 2021].
Price, H., 2019. HOW TO BUILD YOUR OWN SPRING REVERB UNIT. [online] Guitar.com | All Things Guitar. Available at: <https://guitar.com/guides/diy-workshop/build-tube-spring-reverb-unit-amplifier/> [Accessed 19 December 2021].
Accutronicsreverb.com. n.d. The History of Spring Reverberation. [online] Available at: <http://www.accutronicsreverb.com/main/?skin=sub03_01.html> [Accessed 19 December 2021].
The Emotional Space | #10 | Next Steps
Now that the semester is coming to an end, there is finally a little bit of time to reflect upon what has happened in the last four months. And talking specifically about this project, it has come quite some way. In the past weeks I have finalized my exposé (which you can view and download below), worked more on the vision I have, laid out some basic design context and presented it to various people. I will keep this blog entry rather short and just touch upon some of the next steps.
The Emotional Space | #9 | Wristbands
I have been talking about wristbands in most of my recent blog entries and even mentioned that there is an own entry to come, dedicated to the wristbands. Well, here it is- the wristband post.
The choice of wristbands might seem like a small choice, but it actually had quite an impact on the conceptual design progress. To recap – the wristbands are supposed to measure motion data, which is most easily done by accelerometers and gyro sensors. And they should send this data with low latency (so basically in real time) to any module that can be interfaced with a computer.
Vision
Music Information Retrieval 2 – Algorithms
As we now have some questions about what we want to find in the signal we can look for algorithms that can provide information on that. here the questions are listed again:
- Is the sound noiselike or tonelike?
- Is the sound bright or dark in its sonic character?
- What is the rate of change?
For the last question, we did not find an answer yet but we found an algorithm that would interest me personally to experiment with. the MFCC.
Spectral Flatness
Or tonal coefficient is also known as Wiener entropy is a spectral measure that constitutes how ton-like or noise-like a sound is. By analyzing the ramps in the spectrum and determining their steepness it gives out a number between 0 and minus infinity where 0 is a few sine waves and -inf. pure noise. It can also be applied on subbands rather than across the whole band.
With the output of one number, the application of this could be quite straightforward. The distinction between the tonal and non-tonal content of a musician’s tonal repertoire gives great insight into the performative intent of that musician.
Spectral Entropy:
Spectral Entropy, with a choice of a number of sub-bands. If one band, a measure of general peakiness of the spectral distribution.
Spectral Pcilentile:
This calculates the distribution of the spectral energy in a frequency spectrum and outputs the frequency value which corresponds to the desired percentile. This means it puts out the frequency where the spectral roll-off is happening, which gives information of the cutoff frequency of a filter.
Spectral Centroid
This measures the spectral centroid, which is the weighted mean frequency, or the “center of mass” of the spectrum. This means it can determine if the measured signal leans more on the bright or dull side.
Mel Frequency Cepstral Coefficients
Are „a small set of features of a signal (usually about 10-20) which concisely describe the overall shape of a spectral envelope. In MIR, it is often used to describe timbre.“ (https://musicinformationretrieval.com/mfcc.html) Because of the multitude of values, it is problematic to implement it as modulation source in a eurorack environment as it is. But with more understanding of the output, a conclusion might be drawn to either one or multiple control voltages drawn from it.
Music Information Retrieval 1 – What?¿?
One property that puts our planned module apart from modules on the market which as we will get pitch-, gate-, and envelope-information from an input signal, is the usage of Music Information Retrieval (MIR). This relatively young and growing but still young field of research seeks to make music machine-readable with techniques of machine-learning. In todays’ music distribution which is by a big part catered to via streaming services, quick implementation and organization are crucial to monetize media collections and keep up with the market. This rather economic approach to music is merely one benefit to the capabilities of MIR. Things like source separation to create stems, for instance, transcription for notation programs, pitch tracking, tempo estimation and beat tracking for converting audio to MIDI for instance or have the chords of a song detected while playing it or Autotune, or key detection to quickly program quantizers in electronic music devices, can be useful tools in music education and music production and show a useful way to use MIR in an artistic sense.
There are more than methods to retrieve musical information. Some work with Data Source which derives its data mostly from digital audio formats such as .wav, .mp3, .ogg. Though many of those formats are lossy and machine listening is more deceptible to artifacts than the human ear much research in the field involves these in their data. Additionally, more and more metadata is mined from the web and incorporated into MIR for a better understanding of music in its cultural context.
Statistics and Machine learning play also an important role in this field of research. Many of the methods are comparing music to databases and come through that to information about music in question.
For the performance character of our module information retrieval has to come almost immediately from the signal put into the module without taking the computational time of searching databases. Feature representation must be the method in question to gain information quickly through an FFT for instance. Analysis of the music is achieved by summarising which is done by feature extraction. This summary has to give a feature representation that is reduced enough to reach a manageable set of values within a reasonable time frame.
As we ponder over the possibilities of MIR we should ask ourselves what could we retrieve from the signal to gain some knowledge over the expression of the musician playing into the synth. I did a short brainstorming with Prof. Ciciliani and we came up with a few parameters which we decided to make sense in a live performance.
Is the sound noiselike or tonelike?
This would give information about the sound coming from the instrument and if there would be a pitch to extract.
Is the sound bright or dark in its sonic character?
Information about the playing technique and depending on the instrument a form of expression as many instruments emit additional harmonics in the upper registers when played more vigorously.
What is the rate of change?
This can be interpreted in more ways. Over a longer period to get additional modulation after a phrase to create some kind of call and response or a performance reverb if we want to think out of the box. Or in addition to the envelope follower compare the Atack ramps of the signal to create a kind of punch trigger when the playing gets more intense.
Hardware 2 – Pepper and Bela IDE
The Bela Starter Kit comes with a Beaglebone and the extension of the Bela Cape which houses a myriad of IOs. This kit will connect to Bela Pepper which is a PCB with a matching Faceplate for integrating the Beaglebone into a modular system. The assembly of the PCB is described on Bela.io with an illustrated manual and a bill of materials to get for building the DIY kit. This will be my task on my days off in February.
Pepper will be an 18 HP Module that provides Stereo IO, 8CV IO, 8 CV offset potentiometers, 4 buttons, and 10 LEDs for the Beaglebone to connect to my modular. There is also a Faceplate for a USB breakout included.
To implement my code into the Beaglebone, on the different Belaboards is a Browser-based Integrated Development Environment (IDE). An IDE is a set of tools for a programmer to develop, test, and debug software. In the Bela IDE, one can program in C++, Pure Data, Supercollider, or Csound. It contains example code to work with and learn basic skills to use the Bela hardware. There is sample code in every language the Beaglebone can work with. Additionally, there is also a Pin Diagram which identifies all the pins that can be found on the respective board that one uses. In my case as said before it will be the Beaglebone. Further, there is a library of pre-coded functions in there which can be used.
Interface and App Control
To take full advantage of the ESP32’s features, I will set up a mobile phone interface that enables complete control over my multi-effect chain’s components via either WIFI or Bluetooth. The first notable solution for creating the app is the MIT App Inventor, a visual programming environment designed to build fully functional apps for Android and iOS smartphones or tablets.
A more complex option for my purposes is TouchOSC, a modular control surface toolkit used to design and construct custom controllers compatible with a wide range of operating systems and devices. TouchOSC can communicate with other software and hardware using the MIDI and Open Sound Control protocols in a variety of ways, also via different types of wired and wireless connections simultaneously.
The development of this remote control application will not only reduce the size of the physical interface on the device but will also expand its capabilities significantly. On the unit, the controls will include only the basic parameters, such as volume, rate, and mode, all controlled by rotary encoders and displayed on an LCD module.
In the app, however, the possibilities are greatly expandable, allowing for operations such as selecting which individual taps of the delay line will be scanned, setting presets, and changing the order of the components in the chain. Compared to the original Hammond unit that had a fixed rate and only 3 presets for both Vibrato and Chorus, this design will offer much more flexibility in shaping the width and rate of the phase shift that is applied to the audio signal.
Sources:
Appinventor.mit.edu. n.d. About Us. [online] Available at: <https://appinventor.mit.edu/about-us> [Accessed 27 December 2021].
Antonio, J., 2020. ESP32. WiFi. WebServer. LED on/off. Static IP. Soft Access Point. [online] MIT App Inventor Community. Available at: <https://community.appinventor.mit.edu/t/esp32-wifi-webserver-led-on-off-static-ip-soft-access-point/9323> [Accessed 27 December 2021].
Hexler.net. 2021. Introduction · TouchOSC | hexler.net. [online] Available at: <https://hexler.net/touchosc/manual/introduction> [Accessed 27 December 2021].
Forum.aemodular.com. 2022. OSC to CV with an ESP32 (TouchOSC) | AE Modular. [online] Available at: <https://forum.aemodular.com/thread/1887/osc-cv-esp32-touchosc> [Accessed 10 January 2022].
Teja, R., 2021. In-depth ESP32 PWM Tutorial | How to use PWM in ESP32?. [online] Electronics Hub. Available at: <https://www.electronicshub.org/esp32-pwm-tutorial/> [Accessed 11 January 2022].
Upgrading the microcontroller.
Regarding the microcontroller, I intend to opt for a better alternative than the Arduino. A significant upgrade would be the ESP32, manufactured by Espressif Systems, which is a low-cost, low-power system-on-chip with built-in Wi-Fi and Bluetooth. As it is supported by the Arduino IDE, it is also ideal for beginners and intermediate users, making it a suitable element of my project. Unlike the Arduino boards that were designed for educational purposes, the ESP32 was designed for DIY projects where the results can be turned into a commercial product.
In contrast to most Arduino boards, such as the UNO that have 8-bit chips, all ESP boards are based on 32-bit microprocessors. By comparing the features of the ESP32 to more advanced Arduino boards, such as the Zero, further considerable differences appear. While the Arduino has 256kB of flash memory, the Esp32 starts at 4 MB with some modules going as high as 8 or 16 MB of memory. Additionally, the Arduino Zero houses only 20 digital I/O pins, with 6 analog input pins and 1 analog output pin while the Esp32 ranges from 38 to 77 I/O pins depending on the module. Subsequently, the Zero enables internet connectivity only when paired with an Ethernet shield, while the ESP32 has built-in Wi-Fi capabilities, so no add-ons are required.
I think the ESP32 is a far better option than any Arduino board (especially the UNO) and will therefore be the brains of my second prototype that I will develop during the exploration phase of this project. .
Sources:
- Ghosh, A., 2020. ESP32 vs Arduino : How ESP32 is Different from Arduino. [online] The Customize Windows. Available at: <https://thecustomizewindows.com/2020/05/esp32-vs-arduino-how-esp32-is-different-from-arduino/> [Accessed 2 December 2021].
2. Tan, C., 2021. Esp32 vs Arduino: The Differences. [online] all3dp.com. Available at: <https://all3dp.com/2/esp32-vs-arduino-differences/> [Accessed 2 December 2021].
3. Teja, R., 2021. Getting Started with ESP32 | Introduction to ESP32. [Blog] Electronics Hub, Available at: <https://www.electronicshub.org/getting-started-with-esp32/> [Accessed 2 December 2021].