In the autumn of 2019 I was invited to a residency at Geidai at the suggestion of composer and multimedia artist Prof. Suguru Goto with whom I had worked when he lived in Berlin and with whom I communicated when he later lived in France.

The Geidai Kita Senju Campus is a music school so there were no facilities for woodwork, metalwork or electronics except for what I could carry with me. My Singing Machine was already in Japan, following an exhibition in Kyoto the month before, so this was a great opportunity to work on its software in a first-class music environment. I packed a PC running AVR Studio, PonyProg and voice analysis tools but mostly I used the Panasonic Toughbook running MS DOS 6.22 that drives the Singing Machine during exhibitions and in concerts.

An Automatic Tuning System for the Singing Machine

My software project was to realise an automatic tuning system for the Singing Machine. It sometimes goes out of tune when it travels as unaccompanied freight. Its pitch is controlled by a stepping motor which alters the effective length of a vibrating reed, its mechanical equivalent of a larynx.. Previously I had tuned it by ear, editing the list of steps that are taken by the stepping motor to arrive at the correct positions - a tiresome reiterative process!

My first move was to write a manual tuning program that required repeated pressing of a computer key to step the pitch motor while watching an analogue tuner and I demonstrated this to students. Now I wanted to make this process completely automatic.

Automatic Tuning

My concept was for the computer to read the LEDs of a simple digital chromatic tuner while the Singing Machine played a rising glissando through its range of one octave, C2 to C3, while making a note of how many steps it took to reach each correct pitch.

There was no electronic engineering support planned for my first weeks in Tokyo so before I left Berlin I asked Dipl. Ing. Manfred Fox to make me an LED-reading sensor circuit. He had it ready the next day, complete with a set of precise resistances for adjusting it rather than a potentiometer.

Drawing of tuner
  drawing of a tuner to illustrate a lecture.

In Tokyo I replaced the freebee Celicia Tuner that had given me the initial idea with a more stable Korg C2 Tuner, similar to the drawing above. Both tuners had a digitally-simulated analogue display and, beneath that, three LEDs: Flat - OK - Sharp. My program looked for the point where the Flat LED went off as the machine entered the OK sector. A couple of steps after that and the machine would be exactly in tune for that note! It then made a note of how many steps it had taken to get there. That was the theory. The test was repeatability:


The screen shot above shows an early result: 9 fast upward glissandi. The white lines show when the Flat LED was on. The right hand ends of these lines should have lined up vertically - but they didn't! And the small dots are where the LED flickered.
(Interesting that the mid-range notes lie closer together than the others - this probably relates to the shape I had chosen for my reed.)

To cut a long story short, there was a marked improvement when I made the glissando slower. I then changed the timing so that the stepper motor moved at full speed while the Flat LED was off but would step cautiously while the Flat LED was on. This was an exact emulation of my previous manual tuning procedure, slowing down when approaching the critical "in-tune" position. Seen in action, it looks very "intelligent"! This reduced the glissando to about 20 seconds - which is reasonable. I also taught the program to ignore the flickers of the LED. When it was done, as an aural check and as a visual check with the tuner, the machine then played back the 13 individual pitches that it had discovered. If I decided that they were satisfactory, the computer then recorded the steps to memory. This gave "good enough" results.

Later I was joined by artist / engineer johnsmith (sic). We had an immediate rapport and he made some sensible suggestions. He opened up my tuners and wired their LED outputs directly to my computer and added Schmitt triggers to sharpen up their signals. He also gave me an introduction to Arduino, a brief demonstration of MAX and Ableton and installed them on an English-keyboard DELL laptop which we bought in Akihabara. We also bought some Arduino bits and pieces. Arduino is based on the ATmega328p. For the past 12 years I have been writing Assembler for the closely-related ATmega8 so I know what they can do. Arduinos will save me work with the soldering iron.

In between times I programmed the Singing Machine with three characteristically elegant studies composed for it by Prof. Suguru Goto. His intervals between adjacent notes and vowels were initially too wide for the machine to play at his required tempi so I changed the stepping motors from half-step to full-step which brings a 42% increase in torque and he re-wrote his octave leaps.

Doctoral student Jie Man said that she too would like to write for the Singing Machine so I gave her a 20-minute explanation of my music data format, warned her about fast octave leaps and we made some brief experiments. A week later I received an email with her data and pasted it into the Singing Machine laptop where, after a couple of small tweaks, it ran perfectly!

Score by Jie Man
First page of the 3-page score.

Jie Man comes from the city of Hohhot, Inner Mongolia. She said that her remarkable ululating Another Door V was inspired by traditional Mongolian song.

These works were a great hit during the Senju Art Path event, an exhibition open to the public (see photos, below)

Other activities

Thinking Machine and fans
Singing Machine
Following the scores of the Singing Machine.

Thanks

A memorable and enjoyable visit.