Tuesday, September 8, 2015


This project was a commission for an overseas musician who i have been in touch with for a while. we had talked back and forth for a year or two about having something made, but had trouble coordinating our availability. we were finally able to get a project rolling after all that time though, and ironically enough, the guy happened to be in my neck of the world when the keyboard was finished, so he came and picked it up in person! it is very rare that i get to meet my customers personally. especially since most of them are overseas. it was very encouraging.

The synth is based off of a Yamaha HS200 that the musician had owned since he was a kid. the keyboard is a regular piece of his performance rig, so the finished product needed to stay compact. i had never had the chance to play an HS200 before it was shipped to me. the keyboard is actually pretty powerful for its size. it has 5 timbres, 4-note polyphony, and sustain. the keyboard had some issues, as most toys of this age usually do, but after a good tare-down and cleaning, the keyboard had a lot of potential. one interesting thing about this keyboard was the auto-power-off function. it was actually a separate dedicated IC made by Yamaha. never seen that before. needless to say, i took it out of the circuit.

The customer and i went back and forth on the signal path for a while. it was pretty easy to come up with because he knew exactly what he wanted, and after a little learning on my part, i was able to give him all those things. one particular aspect of this project that required some learning was adding a decent PT2399 delay to this circuit. the PT2399 IC is a fun little chip to use, but the fidelity can be trouble sometimes. in this case, the customer wanted to have separate HP and LP filters for the echo signal. in order to add filters with any amount of flexibility to the delay, i would have to "widen" the range of the PT2399's input and output filters, which would introduce a lot of noise to the chip. i had also found that the HS200 signal was substantially hotter when more than one note was held, so i thought i would try my hand at companders. i had read about companders before, but never really understood what i could use them for until i saw a schematic for the "PT80" delay. i ordered some up thinking that it would solve all of my noise problems, but after a week or two of bread-boarding different configurations, it seemed that the companders were just adding to the problem. in the end i was able to reduce the noise as much without the companders as i was able to with them. it was a great learning experience though...

The signal path is pretty straight forward. the HS200 voice signal is sent to a 12db lowpass filter. the filter has resonance control, and the cutoff can be modulated manually, by the envelope generator, or the LFO. there is also a CV input for the filter cutoff. there is a line in jack to the filter, as well as a "dry" line out for the HS200 signal that takes the HS200 out of the filter mix when used. the filtered signal is then sent to the PT2399 circuit via "send" level knob or through the "100%" switch. the 100% switch is a three-way rocker switch. in the center position it is off. in both outer directions it is on, but one direction is momentary, and the other latches. the PT2399 delay time can be modulated manually, by the envelope generator, or by the LFO. there is also a CV input for delay time. the delayed signal is then sent to  6db highpass, and 6db lowpass filters. the filters can be independently modulated manually, by envelope, or by LFO. once the echo signal is filtered, it can be sent back to the delay input via the regen(eration) knob. the "wet" signal is mixed with the "dry" signal from the 12db filter via their respective level knobs before being sent to the master volume knob, and finally the power amp that drives the internal speaker and the line out. 

the envelope generator is your basic attack-release generator with a depth control knob. the EG is triggered by keyboard data messages that i buffered into a single key-on gate. the high F key does not trigger the EG though. this is because the data pin for the high F is shared by the timbre select switch, so it sends continuous data messages to the gate circuit. i ran in to the same problem with some other keyboards i have modded in the past. small price to pay for the key-on EG gate ability though. the gate can also be sent out to other devices with the gate out jack. there is also a gate input jack so the EG can be gated externally. the EG also has a CV output jack that can be used to modulate external devices or to modulate other local parameters externally as well as internally. this gives the keyboard a lot more flexibility since the internal signal can only be set to one parameter at a time. the EG has a 6-position slide switch to send the EG signal to either the keyboard pitch, 12db filter cutoff, echo rate, LFO rate, echo HP filter, or echo LP filter. the depth control knob of the envelope generator only controls the internal level of the EG. the EG CV out is always at full. 

The LFO is pretty cool. it is the same dual op-amp triangle wave VCO i use a lot, however, this time i added a triangle-to-sine wave-shaper after. the wave-shaper can actually be swept from triangle, to sine, to square-wave gradually. this is a great circuit to have in the toolbox. more fun to play with than a three position switch. might have been cool to add a CV input to control the wave-shape. maybe next time. the frequncy of the LFO can be controlled manually, by the EG, or by the external CV input to the LFO. the LFO has a depth control knob that controls the level to the internal parameter it is set to. the LFO has a CV output, but like the EG CV output, the signal is output at full, and can not be controlled with the depth knob.  the LFO has a 5-position slide switch that can be set to modulate either the HS200 pitch, 12db filter cutoff, echo rate, echo HP filter, or echo LP filter.

The HS200 itself has a pitch control circuit that can be modulated manually, by the LFO, by the EG, or by the CV input jack. the range is pretty limited but enough to get some great warping sounds. the keyboard also has a 5-position switch to select the timbre, as well as a single on/off switch that engages the sustain mode. 

The enclosure of this keyboard was pretty straight forward to design and build, but fitting everything into it was a real feat. all of the hardware, wiring, and circuit boards are built so close together, there was really not a whole lot of flexibility when it came to designing the interface. it is tight in there! i think it came out pretty nice though. i am just glad i didn't have to arrange all of the hardware in a more grid-like fashion. i hate that. the only thing that bothered me about the faceplates in the end was the engraving job. unfortunately my laser cutter is really starting to show its age... it is really time for me to buy a new tube, i think. it still does OK at cutting, although it takes a couple passes now, but engraving is a different story. the pulses are really starting to show in the lettering and graphics when looking at them from the reverse side. the customer didn't seem to mind though, so maybe i am overthinking it. either way, i should probably bite the bullet and buy a new tube. three and a half years is a pretty good run for something that was only supposed to last one.


Wow, been a busy summer! been slowly chipping away at this waiting list i have accumulated over the past few months. to everyone who has waited, thanks for hangin' in there! i'm doing the best i can to get to all of you. that said, i am not adding to the list until i can get through some first.

This project was a commission for an artist who needed a circuit to add to one of his installation pieces. the intent was to have the circuit and all of its hardware be removable from the temporary enclosure, so that it could be installed in the installation piece at a later time. this seemed easy enough in theory, but was actually pretty complicated. it is hard to know what vulnerabilities exist in the wiring when you are looking at it through someone else's eyes.  i did my best to make things as strong and clean as possible. that in itself was a real challenge since the circuit was pretty complex for the amount of hardware it uses. 

The piece was designed to have maximum sonic flexibility through the use of only two analog joysticks. this was because in the art-installation application, the analog joysticks would be the only thing to be used. the customer was OK with having simple functions, since there are really a limited number of things you can do with four joystick axis(four), but i convinced him that i could cram some more functions in to it that could be toggled by the joysticks' center push switches, and still be small enough to fit into a small enclosure. i ended up biting off more than i could chew, as always, but after some backtracking, we came up with a good signal path that had enough flexibility that it was not boring, but not so much complexity that the enclosure would have to be substantially larger. 

This project took a lot of back and forth. over the past few months that i have been working on a commission basis, i have really been learning a lot about communication, and it has really been great. i really feel like i am getting better and better at giving people what they want, and whining less about why it is difficult for me to do. anyway, back on topic. it was really great to work with this particular artist and talk with him on the phone. that rarely happens. in fact, lately it has been rare that i work for someone who lives in the US!

Anyway, back to the circuit. the circuit consists of one square-wave VCO that is fed to a 12db lowpass filter with a fixed resonance. the signal is then sent to a VCA, and finally a PT2399 delay before being sent to the power-amp and output section. there is also one triangle LFO that can be toggled on or off to modulate the VCO or VCF. the LFO can modulate the VCA in a kind of interesting way. on one joystick axis, the VCA can be controlled manually from center(full-off) to one outer direction, and in the other direction from center, can control the depth of the LFO to the VCA. this was a pretty fun circuit to design and i will definitely be using it again someday. the center-push switches of the two joysticks are hooked up to a counter chip that sequences through the LFO modulation combinations, as well as turns the PT2399 on or off, and switches the LFO range to high or low. in all, there are 16 different mode combinations possible. there are four mode LEDs that indicate when a mode is active or not. the VCA also has a manual gate switch that opens up the VCA to full when pressed. the volume control knob has the power switch built in, so when the master volume is turned all the way down(counter-clockwise), the power clicks off. i also added CV inputs. the CV inputs simply bypass the positive rail to the joysticks, so the joysticks act as threshold controls for the CV inputs.

Because this was only to be a temporary enclosure for the circuit, i used an enclosure from my NT series. i had an extra box from the NT01 series, so i used it. it was a really good fit too. 

Tuesday, June 23, 2015


Well! it has been a long time since my last post. it has been a pretty busy past few months. Heidi an d i bought an old fixer house in southeast Portland in late February, and there has been little time for new projects that are not related to fixing up an old-dump house. but inevitably we got in and set up, and i have been spending most of the last month and a half building a custom synth for none other than Meng Qi! he contacted me shortly after my last post, and asked to have a custom synth made. he was willing to wait until i was moved and set up in my new shop too. how could i resist?

After some back and forth, we came up with a general formula for the synth-to-be. it would be comprised of two sequencers with capacitive-touch sensors, two voices with analog filters, frequency modulation, reverb, a few modular inputs and outputs, and a Meng Qi logo. knowing that this would likely turn in to a pretty large and time consuming project, i quickly got to work designing synth. the project did end up taking almost two months to design and build, but actually, it could have taken much longer and i am actually kind of impressed with how quickly this one came together, considering the complexity of the build.

(before jacks were added)
The first thing i drew up was an overall signal path schematic to work from. from there i prototyped each part of the synth in small sections. and by small, i mean four breadboards stuffed with circuits. prototyping is always a little difficult on this scale, because it is not really possible for me to build the entire synth with all of its hardware on breadboards. i suppose i could try, but i have found that a circuit on a breadboard will likely always need some amount of debugging once converted to a circuit board. my resolve is to design everything into working sections, connect them to their respective hardware, connect them to each other, then cross my fingers and turn the power on. crossing my fingers has never helped though. certainly not in this instance. however, when all of the shorts and reversed connections were solved, the sections of this synth all played pretty well together. i didn't have to swap out too many components, which was nice for a change. 
One thing that did kind of give me trouble though, were the capacitive sensor switches. i bought several of these capacitive modules on ebay from china. the TTP224 was something that i had always wanted to play around with, and this was the perfect chance. the modules are very cheap, and have lots of modes to choose from. i tested the modules when i got them just to see how they worked, but i actually didn't test them with the circuit until everything was wired up, so i really had no idea if they would work, and my whole interface was kind of designed around them, so i crossed my fingers extra hard this time. thankfully they worked just fine, but i did have to change the design a bit once i was able to actually see how the sensors would play with the rest of the device. initially, i had thought it would be cool to have the ability to change the input mode of the sensors from SINGLE to TOGGLE, but in order to do that, the power to each module has to be turned off before the mode can be changed. that reset period has to be held for a good second too, to get the module to fully power down, so the mode switch was a three position switch where the center position was reset. the whole idea was kind of goofy though, and when i was able to use the sensors with the rest of the circuit, i found that the TOGGLE mode was probably redundant, as well as confusing, because all or any of the sensors can be toggled individually, and since the inputs were being sent out to a priority encoder, it just seemed over complicated just to hold a specific step. the setting also conflicted with one of the envelope generators' mode, so i decided to get rid of the TOGGLE mode, and its goofy switch, and add some other cool stuff like an extra envelope generator mode, and glide for the two voices.  
The design of the enclosure is an original design i made in sketch up. i thought it would be cool to try and incorporate some bent panels, just to give it an edge over traditional acrylic face plates. the rounded edges add a lot more character, i think. i had originally planned to paint the face plates a light beige color, but i really wanted to do a blond birch finish on the end cheeks, and i thought the beige and blond would be too conflicting, so we went with blue on a sky-blue tolex. the box assembly went together pretty quick with no problems. i have had my laser cutter for just about three years now, and i am still able to cut plywood and acrylic with little effort. that is unprecedented for a laser tube that is only supposed to last one year! i can definitely recommend buying one from
Once the enclosure was built, i quickly got to work designing the faceplate layout. once the orientation was generally acceptable, i cut some proto-face plates to mount the hardware in, and attach the circuitry. i usually use cardboard from cereal boxes for this stage, because they are disposable and flexible if i need them to be, but this time i used clear acrylic. the rigid plastic did make it a little more difficult to get at parts of the circuit than when using cardboard, but the clear plastic let in a lot more light, which was really helpful when trying to solder deep inside the box.
The circuit boards were mostly pretty easy to design, and i didn't make that many mistakes this time around. i ended up with four large boards for the voices, sequencers, and filters, and one small board for the power supply and loudspeaker amplifier. the sequencer boards were pretty easy to design , just because there were far fewer components involved, but they ended up having more flaws than the other circuits. i spent a significantly longer amount of time designing the voicing circuits, paying extra attention to not make any mistakes that would potentially be hard to find. they ended up working without too much trouble. actually, the biggest trouble maker throughout the whole project was probably with the hardware. i buy nearly all of my parts from China because the low prices are what really make it possible for me to do these projects for so cheap. the downside to that is sometimes you get some dud-parts. i never had this issue as much as i had with this project, so when something wasn't working, it was always the last thing i checked. i found three or four different dud-potentiometers total in this project. you get what you pay for i guess.
Once all of the circuit were mounted in place, and wired up to the hardware, i had to spend quite a few days tracking down all of the mistakes and fixing them one at a time. it is always pretty discouraging when you turn the power on and nothing happens. but you just start going through the circuit, bit by bit, until everything is exactly how it is supposed to be. when the whole thing was finally working, the next step was the delicate task of removing all of the wired up hardware from the proto-face plates, and carefully mounting them to the blue finished face plates. this is always kind of tricky because it is very easy to damage or scratch the paint on the reverse side of the face plate. i use water-based acrylic paint to coat the face plates, because enamels will cause the plastic to form stress fractures. the acrylic paint works great as long as it is not disturbed. for additional protection, i also laser cut dust-guard fabric to place between the faceplate and the hardware. it protects the paint very well, but getting all of the hardware through the dust-guard, and then through the face plates without scratching anything or breaking any wires is kind of a balancing act. it all worked out in the end, but the final week of this project was pretty damn stressful. 
The signal path of this synth is pretty straight forward, but extremely fun to play. basically the circuit starts out with two square wave voltage-controlled oscillators. the oscillators have a pretty wide range, from high to low. I probably should have measured.. the oscillators' pitch is controlled by its own respective 8-step sequencer. each step can be manually tuned with a pretty decent amount of stability, considering the range. the sequencers are driven by a single clock signal, or they can be triggered individually by an external gate input via the respective input jack. each clock input signal, whether internal or external, is sent through a frequency multiplier, and then a divider, before being sent to the sequencer clock input. the multiplier has four settings; X1, X3, X4, and X5. the frequency multiplication is achieved through the use of a CD4046 phase-locked-loop circuit. at lower frequencies, the PLL takes longer to latch on to the multiple, but eventually it ramps up or down until it is in sync. it is actually kind of a neat affect because the sequencer will sound kind of glitch for a while, and then gradually falls into sync, and then totally syncs up. this made it tricky for the external input though, because the PLL is looking for regular intervals, so if you were manually triggering the sequencer or you had a pattern sequencer running to the input, the multiple would be all kinds of crazy.. to remedy this, I simply set up the X1 mode to bypass the PLL to the sequencer, so it is still possible to get the crazy multiples when using the external input, but it can also be controllable in the X1 position. after the multiplier stage, the clock signal is then sent to the divider stage which also has four settings; 1/1, 1/2, 1/4, and 1/8. the multiplier and divider section can create some pretty interesting time signatures, and each sequencer has their own! the two clock signals also have individual outputs too, so it is possible to sync to the multiplied and divided clock, whether internal or external. the sequencer can run in either direction, and the step function can be turned on or off. each sequencer also has eight capacitive touch sensor inputs. whether the step function to a sequencer is on or off, the capacitive touch sensors will interrupt the sequence and hold the corresponding step in the sequence until the sensor is no longer being held, or until a higher priority sensor is touched. the sensors are prioritized from 1 to 8. when the step function to the sequencer is disengaged, and there is no activity on the sensor buttons, the sequence will hold step-8. step-1 is the highest priority step in the sequence, so holding it will overcome all other sensors. if you were to hold step-5, and let go of step-1, the sequence would return to step-5, and so too, if you let go of step-5, the sequence would return to step-8, or whatever lower priority step was held. sequencer A's output goes directly to VCO-A, and also has an output jack, so it can control other CV inputs, locally or externally. sequencer B's output can be sent to six different parameters of the synth; VCO-B, internal clock VCO, VCA-B, VCF-B, VCA-A, or VCF-A. if sequencer B is set to anything other than VCO-B, sequencer A is sent to VCO-B, and the two VCO's are loosely synced. each VCO has its own TUNE/GLIDE switch and knob. the switch sets the function of the knob to either TUNE or GLIDE. in TUNE  mode, the knob will detune the respective oscillator by about an octave, give or take. in Glide mode, the knob controls how fast or slow the oscillator transitions from step to step in the sequence. the range is pretty substantial. I am really glad I included this. the two voice VCO's are sent through their own signal chain. first, they are split in to two identical voices, 1 and 2. each voice is then sent through a frequency divider with four modes; 1/1, 1/2, 1/4, and 1/8. each divided frequency is then sent to a pulse width modulation circuit. each of the four PWM circuits can be controlled manually, or control can be bypassed externally with the corresponding CV input jack. the manual control knob acts as a threshold control to the parameter when it is being controlled externally. each of the four voices are then sent to their own respective volume control knob. voices A1, and B1 are also sent to their own XOR ring modulator circuit. the XOR is not like your traditional ring modulator, but it really works well. an XOR gate is one that has two inputs and one output. if the inputs of the XOR are the same, the output will be low. if the inputs are opposite each other, the output will be high. put audio frequencies on the inputs, and you have FM! A-1 and B-1 are sent to one input of the respective XOR gate, and the corresponding second input is set by a three position switch. A-1 can be modulated by A-2, B-1, or B-2, and B-1, can be modulated by B-2, A-1 or A-2. each XOR voice has its own volume control that mixes the signal with the VCO's other two voices before being sent to its respective filter and amplifier circuit. both voice A and B have their own voltage controlled filter and voltage controlled amplifier. the VCF is a 24db/oct. band pass filter with resonance control. the cutoff frequency of the filter can be controlled manually, or eternally using the corresponding VCF bypass input jack. the manual control knob acts as a threshold for the external input while in use. the VCA can be controlled in the same way, with its respective VCA input bypass jack. after each voice has been sent through its respective VCF and VCA, the signals are combined and sent to the effects processor. the effects processor is based around the COOLAUDIO V1000 chip. it is a 24bit effects processor with 16 built in programs. it includes reverbs, delays, flanger, and more.. the real fun starts with the bit-rate knob though. rather than using a fixed frequency crystal to clock the V1000, I used a voltage controlled oscillator. this effectively pitches the processor up or down, and it sounds really cool, especially when sequenced, which can be achieved with the external bypass CV input jack. the manual control knob acts as a threshold control when the bit-rate is being controlled externally. the effects section also has a WET/DRY control knob to control how much of the original signal and the effect signal is fed to the output. from there, the signal is sent to the master volume knob, where it is connected directly to the line out jack. if there is nothing plugged in to the line out jack, the signal is sent to the built in power amp and speaker.
hmm, what else? oh yeah, the envelope generators! each voice(A and B) have their own envelope generator too. the envelope generators have three modes each; SINGLE, GATED, or CLOCK1(2). in SINGLE mode, the envelope will only trigger when a capacitive sensor is first touched, and will not retrigger until all of the voice's capacitive sensors have been released, and one is touched again. in GATED mode, the envelope will only trigger when a capacitive sensor is held, but it will continuously be retriggered by the respective clock input as long as a sensor is held, regardless of whether the corresponding sequencers' step mode is on or off. in CLOCK1(2) mode, the envelope generator will retrigger continuously to its respective clock input, regardless of the sequencer mode. each envelope generator's input clock can also be bypassed with an external gate source with the corresponding external bypass input jack. the envelope generators have manual controls for ATTACK(rise time), DECAY(fall time), and DEPTH. each envelope can be sent to one of four of its respective parameters; VCA, VCF, PWM-1, and PWM-2. the envelope generators also have their own secondary output jacks to connect to other CV inputs, both externally or locally. however, the envelope outputs can not be controlled be their corresponding DEPTH knob. the out put is always set to full. all of the 12 input and output jacks on the rear panel were actually not in the original plan. I added them last minute because I felt it would be criminal to leave them out :)
well I guess that about covers it. needless to say there was really no doing this thing justice as far as a video clip was concerned. with the additional input/output jacks, the sonic possibilities of this machine are vast. I made a video anyway. I shot it before the additional jacks though.
I am really going to miss this one. I keep looking over my shoulder, thinking it's going to be there, but it is off to its new owner now. good luck, my little blue friend!! 

(before additional jacks)