Saturday 14 January 2012

Slow but steady...

Well, I've spent a couple of months scouring Yamaha patents for inspiration and purchasing components, supplies etc.

I now have a rudimentary +-15V power supply that runs from the mains. The regulators (generic 7815 & 7915 models) were getting pretty toasty on a 300 mA load from a bulb across each rail so I've bought two nicely sized heatsinks to keep things cool.

While ordering the heatsinks from Farnell I had to make sure my order amount was above £20 so I splashed out and bought a PICkit 3 for programming PIC microcontrollers. One of these will form the basis for my keyboard scanner and I initially chose the 16f1507 PIC for this purpose, buying a pack of 4 to try out. However, I realised that a different model (16f687) could open the door to a useful alternative feature: MIDI. My course last year involved a detailed discussion of the MIDI protocol and contained exhaustive information about the various commands and how they are generally implemented. If nothing else a simple note on/off so that the synth can be controlled from a PC sequencer would be very handy...

Going back to the first PICs I bought, the 16f1507 comes with an interesting feature: a Numerically Controlled Oscillator. From a cursory read of the datasheet it would seem that it could be feasible to use this to form the front end of a sawtooth DCO. This would provide superior tuning stability to that found in voltage-controlled oscillators which use temperature-sensitive exponential converters i.e. they go out of tune when they get warmer or cooler.

However there are of course caveats. Quantised frequency control is one issue, as is the slight imprecision in controlling frequency using an NCO. This is something I'll have to investigate further, as well as working out how to implement channel 2 detune, vibrato and portamento in such a setup. Certainly the Roland Juno-6 managed vibrato but not portamento. I'll have to look into how the former was achieved.



Tuesday 22 November 2011

Planning the synth

I want to build a synthesiser. There, I said it. After years lusting after and admiring Yamaha's mid-late 70s analogue beasts such as the GX-1 and CS-80, I've decided to build something inspired by those same machines in both aesthetic and sound.

Probably the most notable thing about both the GX-1 and CS-80 is that they are polysynths. Mine will not be, for the simple fact that polyphony is very tricky to implement in synthesisers with as complicated a voice structure as the Yamaha models. Here's a list of features/specifications that I have in mind. These are all however subject to change based on further research.

  • Monophonic
  • 61-note keyboard (salvaged)
  • Two independent voices with global modifiers (as in the CS-80)
  • 1 On/Off Pulse wave with independent PWM per voice
  • 1 On/Off Saw wave per voice
  • 1 Noise source with level slider per voice
  • 2 12 dB/oct resonant filters in HPF -> LPF configuration per voice
  • 1 Il Al A D R filter envelope per voice
  • 1 ADSR VCA envelope per voice
  • Independent voice octave selectors
  • Voice 2 detune lever
  • Global brightness (vcf cutoff) and resonance levers
  • Global keyboard scaling levers for brightness and volume
  • Global sustain slider (increases vcf and vca release time on both voices)
  • Sub-oscillator with selectable sine, ramp up/down, square and noise waves, affecting pitch, vcf, vca.
  • Three presets per voice, selected by panel buttons and stored on passive resistor network cartridges (GX-1 style) that can be swapped and changed
  • [possible] CS-80 style ring-mod section with Attack, Decay, Depth, Speed, Modulation
  • [possible] Switchable reset/continue envelope retrigger response
  • [possible] monophonic aftertouch
That's the idea so far, more snippets to come.