Topic: 80s electric piano up-cycling with Pianoteq!
Hi everyone,
I hope that I can inspire a few people here with my recent up-cycling project: My wife has a very old Yamaha CLP 300 (built in the 80s!) that was still in perfect working condition but sounded quite a bit outdated. Because it was instant-on and has speakers built-in and good enough for quickly finding a chord it found a place in my studio next to a Kawai MP9II and a Fatar SL990.
Because the keyboard on the CLP is also actually rather good, I was reluctant to throw it away. So I decided it's time to take take what I like and replace what I don't like. The plan was to eliminate the huge Yamaha mainboard and keep the power supply, amplifier, speakers and all of the user interface. This would require understanding the circuits that remained in the piano - mostly the amplifier, PSU, control panel, keyboard and pedals - and to replace much of the required actual functionality with custom circuits and a mini computer running Pianoteq.
In order to allow the keyboard to shine, I was aiming at creating a high resolution and high dynamic range key scanner. This requires scanning the keyboard diode matrix much more frequently than for ordinary keyboards and also taking the electric design to the limit in terms of parasitic effects in the cables. I ended up designing a key scanning circuit that drives the diode matrix through 1k pull-up resistors towards 3.3V for enough current to minimise parasitic effects and to scan it with high speed CMOS shift registers and power line drivers able to sink enough current. The entire thing is controlled by a Teensy 3.6 micro controller board also responsible for connecting to the user control panel and using the former analog volume control as a midi controller.
The teensy easily interfaces with USB Midi which connects to an Odroid XU4q (fanless) running a custom-built Armbian with custom realtime kernel and all sorts of non-standard optimisations for best performance. Pianoteq runs as a system-service with realtime priority and explicit CPU affinity to only use the four high speed cores the Odroid offers. The other four cores run at the lowest possible clock speed and serve the kernel and OS needs.
Pianoteq obviously runs headless and is controlled using the Teensy's MIDI output. So the functionality of the original button panel is fully retained together with extra functionality like having 4 patches for each patch button, selected by repeated button pushes and indicated by the corresponding LED flashing differently.
The original plan was building an Audio interface for the Odroid's I2S output that would connect to the preserved CLP300 amplifier. During testing I however found that using a very simple and cheap USB interface already gave me the performance and sound that I needed. A simple adapter circuit with a relay switch connects it to the amplifier and splits off a balanced line driver for balanced stereo line output. Headphone amplification and silent switching is handled by the original amp.
Pianoteq runs wonderfully on this setup. I can achieve sub 2 ms latency and 96 voices at 48k easily. The keyboard action is also great and perfectly tuned to what Pianoteq expects.
I would love to share some pictures and additional details. But it seems like you cannot upload pictures here. I wouldn't want to rely on some image hoster that removes the images at some and leaves the links point to nirvana. Any best practices in the forum regarding images?
Cheers,
Andreas