Combo organ: Top octave generator

So far, we’re taken a short trip through combo organ technology from early days in the 1960s to modern day workstation voices:

I hope you enjoyed those articles! This post fills in the middle bits — how large scale integration changed combo organ design.

Farfisa tone generation circuit

During the 60s, Vox, Farfisa and other manufacturers employed a similar approach to tone generation. Each organ contained twelve tone generation boards one for each semi-tone in the Western well-tempered scale. Each board implemented:

  • An oscillator to produce the a base root tone, and
  • Several (digital) dividers to derive the ancilliary tones one or more octaves below the root tone.

Vox, Farfisa, and so on used discrete components (transistors, resistors, capacitors, etc.) to implement the oscillator and dividers. These boards were dense and busy with many hand-soldered joints. The Farfisa board, for example, contained 12 transistors, 40 resistors, 25 capacitors and a tunable inductor coil. Assembling, testing and debugging a board like that is quite expensive and labor intensive.

Having lived through the transition from discrete semiconductor circuits to small scale integration (SSI) and then large scale integeration (LSI), I can attest to the revolution initiated in the LSI era. (Not to mention the transition to very large scale integration!) LSI and mixed signal components enabled sound generators like the Texas Instruments SN76477 Complex Sound Generator, General Instruments AY-3-8910/8912, and other ICs — and sounds — favored by chip-tune enthusiasts.

LSI revolutionized combo organ design, too. Mostek (and others) introduced top octave tone generator chips. The well-known Mostek MK50240 (PDF datasheet) has inputs for power, ground and master clock:

    Pin#  Name  Purpose 
---- ---- --------------
1 VSS Supply voltage 15V (typical) 11V (min) 16V (max)
2 Clock Clock 2000.240kHz (typical), 2500kHz (max)
3 VDD Ground

The MK50240 generates each of the high frequency root tones:

    Pin#  Note  Divisor 
---- ---- -------
16 CLow 478
4 C# 451
5 D 426
6 D# 402
7 E 379
8 F 358
9 F# 338
10 G 319
11 G# 301
12 A 284
13 A# 268
14 B 253
15 CHigh 239

The MK50240 has twelve dividers which divide the master clock frequency into the root tone frequencies.

Advantages of the MK50240 should be readily apparent! A single MK50240 replaces all twelve oscillators. Even better, the master clock can be generated from a 2000.240 kHz crystal resulting in superior temperature (pitch) stability. Old discrete circuits are notoriously temperature sensitive.

But, wait, there’s more. Thanks to digital LSI, each divider chain can be replaced by an MOS ripple counter. Consider the CMOS CD4024. (Please see the CD4024B functional diagram below.) The CD4024 is a 7-stage ripple counter that divides the incoming clock signal into seven auxilliary tones at each octave below the input frequency.

The nightmare of discrete oscillators and dividers can be replaced by a single MK50240 and 12 CD4024 ripple counters: 13 dual in-line packages (DIPs) and a handful of coupling capacitors for good measure.

Of course, one must still confront the rat’s nest of wires and signal diodes needed for key switching… To get a sense of wiring complexity, I suggest looking at the design of the vintage PAiA Stringz ‘n’ Thingz digital keyboard or PAiA Oz portable mini-organ. Yes, I assembled a Stringz ‘n’ Thingz — without too many bad solder joints, thank goodness. Organ wiring was a nightmare before microcomputer-based key switch scanning and digital control.

With LSI and micro-computers, organ builders collectively breathed a sigh of relief. Unfortunately, ease of design and manufacture came with a penalty — lack of sonic charm. Each of those old-tyme discrete oscillators were slightly out-of-tune with one another. Thus, there’s a subtle richness in the old discrete designs that is missing in full-on digital implementations.

Before leaving the MK50240 behind, I want to mention the PAiA EK-1 top octave experimenter’s kit.

PAiA EK-1 board (component side)
PAiA EK-1 board (trace side)

PAiA was (and is) a terrific resource for experimenters. I built several PAiA kits including the Stringz ‘n’ Thingz and the Gnome synthesizer. I also played with the PAiA EK-1 top octave experimenter’s kit. If you would like to learn more about the Mostek MK50240, check out the PAiA EK-1 instruction booklet. Shame you can’t find many MK50240s today…

Copyright © 2021 Paul J. Drongowski

Combo organ: Reface YC

Checking out organ-related threads in the music forums, combo organs get short shrift while most folks focus on the Hammond B-3 tonewheel sounds. Today’s post will (almost) ignore the B-3…

Organ-focused keyboards from Nord, Hammond, Yamaha and others have combo organ emulations in addition to tonewheel synthesis. All offer two vintage flavors: Vox and Farfisa. Nord and Hammond throw in pipe organ, piano, EP and instrument emulations, too, making for full all-rounders.

Drawbar control abounds! In the case of Vox, each physical Nord drawbar corresponds to a Vox Continental drawbar footage (with possible extensions). Nord Electro 6, for example, offers 16′, 8′, 4′, 2′, II, III, IV and sine. The 16′, 8′, 4′, IV and sine are basic Continental tones. Nord’s emulation kicks the basics up to dual-manual, Continental II territory by adding a 2′ footage and two overtone mixtures, II and III. The mixtures consist of the following ranks:

  • II: 5 1/3′ and 1 3/5′ pipes
  • III: 2 2/3′, 2′ and 1′ pipes
  • IV: 2 2/3′, 2′, 1 3/5′ and 1′ pipes

The III and IV mixtures add the Hammond-like overtones missing from the original Continental. Hammond employ a similar Vox drawbar assignment in the Sk1/Sk2 series.

Discrete voice (tab) stops pose a minor problem: How to provide discrete On/Off control with sliders (drawbars)? In the case of Farfisa emulation, Nord and Hammond assign each Farfisa tab to a drawbar:

    Drawbar  Farfisa (Nord)  Farfisa (Hammond) 
------- -------------- -----------------
1 Bass 16' Bass 16'
2 Strings 16' Strings 16'
3 Flute 8' Flute 8'
4 Oboe 8' Oboe 8'
5 Trumpet 8' Trumpet 8'
6 Strings 8' Strings 8'
7 Flute 4' Flute 4'
8 Strings 4' Piccolo 4'
9 2 2/3 Strings 4'

The Hammond voice set is the same as the Farfisa Combo Compact. The Combo Compact Deluxe replaced the Piccolo 4′ voice with a bright 2 2/3′ overtone tab, adding a bit of Hammond-like whistle. The Nord voice set covers the Combo Compact Deluxe model.

Yamaha have taken their own approach to combo organ emulation with the YC61. The YC61 synthesizes tonewheel tones through Virtual Circuit Modeling (VCM) that emulates the sound of analog tonewheels and associated circuitry. Vox (YC61 organ model F2) and Farfisa (model F3) sounds are produced using frequency modulation (FM) synthesis. The YC61 also provides a sine wave “combo” model (F1). The YC61 drawbars bring in the usual drawbar footages with the exception of the 1′ drawbar which is disabled in all FM models (F1, F2, and F3).

Gotta wonder if we can port the F1, F2 and F3 FM organs to Montage and MODX?

Thanks to the frapping pandemic, I have yet to play a YC61. (Grrr.) However, I have played the Nord Electro 6D and Hammond Sk1. Both provide excellent combo organ sounds. Pipe organ (Nord and Hammond) is a big plus for a church player. I give Nord’s orchestral samples and library the edge over Hammond.

Yamaha Reface YC

Yamaha Reface YC promises tonewheel and combo organ sounds on the cheap. By and large, it delivers. I have really worked the Reface YC as a rehearsal instrument and as a gig instrument in church. That said, here are some detailed observations (positive and negative).

Reface YC Typical Vox and Farfisa settings (Source: Yamaha)

I roll my eyes a bit whenever anyone posts about how they “wish the Motif XF (Montage, MODX) had the Reface YC technology inside.” News flash, the Reface YC shares much of its technology with Motif XF, Montage and MODX already. Yamaha simply repackaged and revoiced the basic AWM2 DNA in a wonderfully accessible form. Wisely, Yamaha reacted to the warm user reception and reaction caused by the YC and its popular pal, the Reface CP. Yamaha is now taking it to the bank with the current full-sized CP and YC keyboards.

The Reface YC emulates five different organ models:

  • H: Hammond tonewheel
  • V: Vox transistor organ (1960s)
  • F: Farfisa transistor organ (1960s)
  • A: Acetone transistor organ (1970s)
  • Y: Yamaha transistor organ (1972)

The Reface YC drawbars, buttons and sliders directly map to Hammond organ drawbars and controls. What about the combo organs?

I stripped away all of the effects (percussion, chorus, distortion, reverb, etc.) and sampled each of the five voices (8′ foot pipe, middle C). The five waveforms are pictured below. The H and V waves, especially, have a sinusoidal shape. The nasal F wave is truly unique. [Click image to enlarge.]

Reface YC waveforms (middle C, 8′ organ stop)

Since the Vox Continental had drawbars itself, the YC drawbars correspond to a single Vox drawbar sound (the V wave) played back at the appropriate footage (pitch). The YC Vox is based on a single Vox wave, just like the Montage (MODX and Motif XF). In Montage land, this is the “Vx Drawbar1-3” waveform. In the “you get want you pay for” department, the YC Vox does not have the reed and sine drawbars/sounds, and you must dial in the II, III, and IV mixtures yourself.

For the sake of authenticity, one should never put a combo organ through the rotary speaker effect. Trust me. Most of us in the 60s could barely afford an organ and an amp, let alone buy a Leslie. Then there is the issue of getting to the gig. Everything needed to fit into the back of Dad’s car!

The YC Farfisa, Acetone and Yamaha organ implementations follow the same design as the Vox. Each of the four combo organs (V, F, A and Y) consist of a single wave played back at different pitches according to drawbar footage.

Listening to the stripped down F wave, my first thought was “Accordion!” The 60s Farfisa organs were designed by accordion makers and I believe that the raspy Farfisa tone is their intentional attempt to build an electronic accordion. [Memories of Mom and Dad saying, “Why don’t you play accordion and learn a few wedding songs?” Who knew?] The name “Farfisa” is a contraction of “Fabbriche Riunite De Fisarmoniche”, the company formed by pre=World War 2 Italian accordian makers Settimio, Soprani, Scandalli, and Frontallini. It ain’t an accident, folks.

Thus, in terms of control, the Reface YC is quite unlike a real Farfisa Combo Compact with its discrete voice tabs. Once again, you pay more for Nord or Hammond and you get more authenticity. That doesn’t mean you can’t get a decent Farfisa tone out of Reface YC. It’s raspy enough for Wooly Bully and other cover songs. The chosen F wave is versatile and, well, Farfisa voices are pretty much the same wave filtered differently. The screaming Tone Boost is missing in action, though.

I give the Reface YC an A- and B+, respectively, for Vox and Farfisa authenticity. I don’t have any direct experience with Acetone and early Yamaha organs — just the soundtracks of old Japanese kaiju (monster) movies. The YC sounds realistic enough.

I experimented with YC percussion in isolation, too. Each of the Reface combo organ voices has its own distinctive percussion. I recommend trying this at home as some of the settings are almost clav-like and would do in a pinch. A few settings remind me of the 1970s Crumar Roadrunner electronic piano — the most crap-tastic electronic piano ever made. Yes, I owned one, played one, and sold it off as fast as humanly possible. 🙂

After analyzing the Reface YC, I understand better how Yamaha teased organ voices from modest hardware. I also have renewed respect for the Montage (MODX, Motif XF) organ voicing and real-time control. The Montage, MODX and Motif XF have all the sonic materials necessary to meet and/or best the Reface YC. Still, you can’t throw a Montage or a MODX into a tiny bag and jump on the bus, train or plane.

DIY drawbar control

If you want to add a few drawbars via MIDI, try my Sparfun Danger Shield drawbars project. Or, at least read my Sparkfun Danger Shield review.

Crumar D9U DIY MIDI drawbar controller

I also gave the Crumar D9U drawbar kit a spin:

The Crumar D9U is a DIY, Arduino-compatible drawbar kit. This series of articles describe my experience from beginning to end and include C code. Don’t want DIY? Then try the ready-made Crumar D9X.

Copyright © 2021 Paul J. Drongowski

Combo organ: Montage, MODX, Genos

Contemporary workstation instruments offer several options for combo organ emulation. Every workstation has at least a few internal combo organ waveforms. Korg Kronos, for example, has two Vox organ waves built in. Even the lowly Korg microKorg XL+ has two Vox waveforms (DWGS single cycle).

Yamaha MODX and Montage — my focus in this article — have a good variety of Vox and Farfisa waveforms. Yamaha Genos has a lesser endowment as we’ll see. Yamaha Reface YC shares sonic DNA (AWM2 and effects) with the Motif XF and will be the subject of a future post.

Motif, Motif ES and Motif XS

Models in the early Motif series primarily base combo organ patches on two waveforms:

  • Portable Electronic: Vox-y tone
  • Compact Electronic: Farf-y tone

You can hear these waveforms at work in the Tiny Combo Bars 1 performance and the Tiny Combo Bar 2 performance. The patches layer three are more elements playing Portable Electronic or Compact Electronic (respectively). Each element is filtered differently: low pass, band pass and high pass. The net effect is like several distinctive tab stops or drawbars pulled at once.

These waveforms are very old, going back to the original Motif (maybe S80) in the early 2000s. I’ll bet dollars to donuts that the Portable Electronic waveform is the basis for the 60’sOrgan voice (MSB: 0, LSB: 116, PC: 18) in PSR and Tyros keyboards. The 60’sOrgan voice was the sole combo organ mainstay in the arranger line for a loooong time.

Motif XF, Montage, MODX

Motif XF got a big shot of combo juice. Motif XF added several combo organ waveforms:

  • Fr All Tabs
  • Fr Bright Boost
  • Fr Flute
  • Fr String Lo
  • Fr String Hi
  • Fr Trumpet
  • Fr Piccolo
  • Fr Pedal
  • Fr KeyOff
  • Vx Drawbar1-3
  • Vx DrawbarIV
  • Vx KeyOff

The Farfisa (Fr) waveforms support emulation of specific Farfisa features: individual voice tabs (flute, string, trumpet and piccolo), the wicked Bright Boost knee lever, bass keys (pedal), and key off sound. The Fr All Tabs waveform covers one of the most common use cases — all of the tab stops turned on. Subtlety was not a hallmark of sixties combo organ music. 🙂

The Vox (Vx) Vx Drawbar1-3 waveform covers the three Continentel footage drawbars while the mixture drawbar is handled by the Vx DrawbarIV waveform. The Vox waveforms include a Vox key-off noise.

In terms of voice programming, one uses note shift to achieve different footage ranks. Passive filtering is emulated through filter type (low pass, band pass, high pass) and cutoff frequency. Of course, everything can be routed into insert effects for distortion, amp simulation, and other grunge.

Since Montage and MODX inherit all things Motif, these waveforms and the Motif performances are there for you. The Montage and MODX sliders allow control over individual voice elements. For example, choose the Raspy Tabs performance and assign slider control to element level. The Fr Raspy Tabs waveform-to-element assignment is:

El# Waveform     KeyLo KeyHi VelLo VelHi Coarse Level Cutoff XA Ctrl 
--- ------------ ----- ----- ----- ----- ------ ----- ------ -------
1 Fr String Lo C2 G8 1 127 0 97 255 Normal
2 Fr Trumpet C2 G8 1 127 0 82 255 Normal
3 Fr Flute C2 G8 1 127 24 120 236 Normal
4 Fr Pedal C-2 B1 1 127 0 127 160 Normal
5 Fr String Hi C2 G8 1 127 19 24 236 A.SW2 On
6 Fr KeyOff C2 G8 1 127 6 87 80 Key Off

Different tabs are brought in and out by moving the corresponding slider. Assignable switch 2 turns on additional brightness. The low keyboard octaves play the bass (pedal) tones. Overall, this is a fairly controllable representation of a wheezy Farfisa Compact.

Because the sliders are not discrete, you can probably make up Farfisa tones which aren’t entirely authentic. But, really, should one care? 😉

Vox performances have similar control-ability. Here is the waveform-to-element assignment in the Vx Full Bars performance:

El# Waveform      KeyLo KeyHi VelLo VelHi Coarse Level Cutoff XA Ctrl 
--- ------------- ----- ----- ----- ----- ------ ----- ------ -------
1 Vx Drawbar1-3 C-2 G8 1 127 0 75 255 Normal
2 Vx Drawbar1-3 C-2 G8 1 127 12 77 255 Normal
3 Vx Drawbar1-3 C-2 G8 1 127 24 91 255 Normal
4 Vx DrawbarIV C-2 G8 1 127 0 127 250 Normal
5 Vx KeyOff C-2 G8 1 127 4 68 85 Key Off

The first three sliders control the 16′, 8′ and 4′ Vox drawbar settings and the fourth drawbar controls the Mixture (IV) tone. Go ahead, just everything to eleven. 🙂

Montage and MODX FM

But, wait, there’s more! Montage and MODX have two FM combo voices: BOX FM Combo Organ and FM YC Combo Organ. Although these performances don’t sound authentic to my ears, they provide starting points for further programming. I haven’t heard the YC61 as yet, but I wonder if the YC61 combo emulations can be ported to Montage and MODX?

Genos

As I mentioned earlier, the arranger series has been historically short on combo organ sounds, relying on the old 60’sOrgan voice. Wheezy, raspy Farfisa tones are noticably absent. The 60’sOrgan voice sounds like the Portable Electronic waveform on which the Motif 1967 Keys performance is based.

Tyros 4 and Motif XF were introduced at approximately the same time. They certainly were together in the development lab during late 2009. Tyros 4 added four combo organ voices:

  1. 60sComboOrgan1: VoxContiComb1_Full_NoVib waveform
  2. 60sComboOrgan2: VoxContiComb1_Full_VibOn waveform
  3. 60sComboOrgan3: VoxCombi4NoVib waveform
  4. 60sComboOrgan4: VoxCombi4NoVib091117 waveform

Voices 1 and 2 capture one Vox Continental drawbar combination (Comb1) and voices 3 and 4 capture a second combination (Combi4).

Voices 1 and 3 are without vibrato. Voices 2 and 4, unfortunately, have an excessive amount of vibrato — almost painfully so. When I use voices 2 and 4 in a MIDI sequence, I dial down the vibrato depth using MIDI CC#77 messages. Vibrato frequency is about 5Hz. I also remove touch sensitivity by setting:

  • Velocity sensitivity depth to zero, and
  • Velocity sensitivity offset to 114.

An organ voice should not respond to touch (key velocity) — ever.

PSR, Tyros and Genos players shouldn’t forget the “hidden” Italian 60s organ voice (It60’sOrgan) in the GM2 sound set. On PSR and Tyros, you’ll find It60’sOrgan within the Legacy voices Organ subfolder. On Genos, you need to download GM2 and XG user voices to the USER voice folder. (See this thread in the PSR Tutorial Forum.) Of course, you can select
It60’sOrgan from a DAW (MSB: 121, LSB: 2, PC: 17) .

All-in-all, you can get a nice Vox tone out of Genos. Farfisa is still missing in action, tho’. Kind of an odd shortcoming of a keyboard with styles and a user base that want to play popular hits from days past.

In the next post, I’ll compare Reface YC combo organs against Montage/MODX (Motif XF). The result may surprise you.

Copyright © 2021 Paul J. Drongowski

Combo organ tone generation

Combo organs got me into this mess. 🙂

Back in the day, I played a Farfisa Mini Compact Deluxe. Even though it didn’t have many tabs or reverb, it was enough to cover Wooly Bully and the rest of the Top 40 hits. I always wanted a Vox, but the Jaguar and Continental were always out of my financial reach.

Farfisa Mini Compact Deluxe organ

Farfisa and Vox each had their own distinctive tone. The Farfisa is raspy and nasal. The Vox is brighter and more cutting. Farfisa offered more vibrato options while Vox is just ON/OFF. Either one could quease (or cheese) your stomach when overdone. 🙂

Vox Continental organ

There are several great on-line resources if you would like to know more about Farfisa, Vox and some of the lesser competitors (e.g., Gibson, Fender, Acetone). My two favorite sites are Combo Organ Heaven and The Vox Showroom. It’s also fun to browse E-bay and Reverb.com for vintage organ gear and spare parts. I also recommend the book “Classic Keys” by Alan S. Lenhoff and David E. Robertson.

Internally, the 1960’s Vox and Farfisa models employed tone generation boards — one board for each of the twelve semi-tones in an octave. Each board consisted of an oscillator for the highest pitch (e.g., C6) and dividers for the corresponding pitches one or more octaves down (e.g., C5, C4, C3). A schematic for the Farfisa Mini Compact Deluxe tone generator board is shown in the picture below.

Farfisa tone generator circuit

The oscillator is, essentially, a square wave generator and the divider stages are a ripple carry counter. The square wave generator feeds the counter and each stage of the counter divides down by a power of 2, thereby producing the lower octaves. The square wave generator is on the left with five divider stages arrayed to the right.

Each board has different capacitor values (C1A to C5A) depending upon base pitch (C to B). The generator is tuned by a variable inductor coil. This darned coil was delicate back in the 1960’s and cost me an expensive repair when I tried to tweak the F# tuning. If you’re contemplating ownership of such a vintage instrument, don’t suffer delusions about the fixing and maintaining a vintage beast. Sixty or seventy years on, these critters are difficult to maintain.

Once the basic tones are generated, they are sent through a rat’s nest of wires comprising the key and bus bar switching network. Then, the individual (bus bar) signals are mixed and go to filters. Farfisa and Vox have different filters, giving each brand a distinctive voicing flavor. Farfisa routed its signals into a switched passive filter network while Vox sent its signals into drawbars. The Farfisa filters are switched in and out by the front-panel voice tabs while the Vox allows a mix of flute and reed tones. The Vox Jaguar employed an approach similar to Farfisa (tabs), letting Vox offer a cheaper alternative to the Continental.

Vox Continental drawbar circuit

The picture above shows the Vox Continental drawbar schematic. Key contacts switch signals onto four bus bars: 16′, 8′, 4′ and Mixture. The four main drawbars (1, 2, 3, and 4) mix the incoming ranks into a single signal which goes to the so-called sine and reed drawbars (5 and 6). Drawbar 5 filters the incoming square waves producing a sine-like, flute tone. Drawbar 6 doesn’t filter the incoming square waves and produces a brighter, reed tone.

If you would like to know more about Farfisa and Vox internals, I recommend getting acquainted with ElectroTanya. ElectroTanya is an on-line server providing service manuals for current and old gear. You can download up to five service manuals for free each day. The user interface is a little funky, but ElectroTanya is a terrific resource for out-of-print manuals. Here are links to the keyboards mentioned in this blog post:

Please keep these designs in mind. The oscillator/divider approach gave birth to the top-octave tone generator design that reduced the cost and complexity of organ tone generator boards. Thank you large scale integration (LSI).

Martinec wrote two of the best free combo organ VST emulations ever: Combo Model F and Combo Model V. You can still find copies of the Martinec VSTs on the Web. Get your combo groove on!

Arduino people should check out my sampled 60s Combo Organ (MidiVOX). I managed to get four voice polyphony out of an Arduino! Lo-fi heaven.

Copyright © 2021 Paul J. Drongowski

SN76477 Complex Sound Generator

Things are going to take a vintage turn during the next few weeks. I’m knocking out a few 60’s backing tracks, returning to classic combo organ sounds. As a teen, I owned and played a Farfisa Mini Compact Deluxe. As a neophyte engineer, I was also interested in rolling my own gear — a great entry-way to audio electronics. [Not drugs.]

Thanks to our move, I uncovered, literally, a small number of brochures and data sheets from the 70’s and 80’s era. Today’s subject is the Texas Instruments SN76477 Complex Sound Generator.

TI SN76477 Complex Sound Generator pin out

The SN76477 was an all purpose, mixed signal (digital+analog) noise maker, appearing in games, toys and other mass market consumer electronics. Its temperature stability was none-to-good, making it a poor choice for musical instrument design. It excels, however, at cheesy 1980’s sound effects.

TI SN76477 Complex Sound Generator block diagram

I built the SN76477 sound demonstration circuit (below) into a “busy box” for our son. Unfortunately, the busy box and the SN76477 is lost and gone. Only the data sheets and application notes remain in its place. If you find an SN76477, it’s most likely a “pull” from an old toy and probably not new old stock (NOS).

TI SN76477 Sound demonstration circuit

Here are links to the SN76477 data sheets and application guide. All of the files are PDF.

I apologize for the yellow pages, but we are talking true vintage! The sound development system schematic is brittle and requires careful handling.

TI wrote a very compresensive SN76477 guide, so there isn’t too much point in detailing the SN76477 here. If you’re going to experiment with the SN76477, the TI guide is a must-read. The guide describes a few of the internal circuits as well as sample application circuits.

Copyright © 2021 Paul J. Drongowski

The Arduino combo organ is back

If you have a taste for cheesy 1960s combo organ sounds, I just posted the littleBits MIDI organ project. This project is an updated littleBits take on my old Combo Organ project. It uses the same “bottom octave generator” technique to squeeze five sample playback voices out of an Arduino.

Here’s an MP3 demo of the Farfisa voice and a demo of the Vox voice. I drove the MIDI organ from SONAR on a PC.

Here’s why you should prefer the littleBits version. The original project uses the MidiVox shield which is out of production. The littleBits version replaces the MidiVox with two breadboard-based circuits: a MIDI input interface and a Small Peripheral Interface (SPI) digital-to-analog converter (DAC). Easy to build and functionally equivalent. The new sketch incorporates improvements made to the Arduino SPI library and PROGMEM. The current SPI library uses a different convention for sending data to the DAC. PROGMEM is way different now; the old code won’t compile. The newer version of PROGMEM is stricter about typing and const.

The littleBits MIDI organ could form the basis of a sample playback synthesizer. Just replace the Farfisa and Vox waveforms with single cycle samples of your favorite synth or retro keyboard. Waveform space in PROGMEM is still tight, but hey, this is science. It’s supposed to be fun!

You’ll need to add a few headers to the littleBits Arduino module in order to use SPI. Here are some simple directions and tips:

Add SPI to littleBits Arduino Part 1
Add SPI to littleBits Arduino Part 2
Add SPI to littleBits Arduino Part 3

You’ll also find the SPI DAC and MIDI interface designs in parts 2 and 3, respectively.

While you’re at the littleBits site, check out f.j2’s Solina string synthesizer. Retro is bustin’ out all over!

I need to switch gears for a little while and be a musician again. So, I’ll be taking a short break from Arduino projects. More to come on the music side of things…

Polyphonic Arduino synthesizer

If you’re interested in building an Arduino-based ROM-pler, this next project is for you!

One of my long term dreams is to build a low-cost 60s-style combo organ. My latest project uses an Arduino UNO as a sample playback, sound synthesis engine. Although the waveforms are taken from the old VOX Continental and Farfisa Mini Compact organs, the design and code could easily use single cycle waveforms from a vintage synth, a string machine, your first born child, whatever! The 60s combo organ project is essentially a software ROM-pler that plays back up to five waveforms at a 22,050Hz sampling rate.

The project hardware consists of an Arduino UNO and a Narbotic Instruments MidiVOX shield. The MidiVOX shield has a Microchip Technologies MCP4921 12-bit digital to analog converter (DAC) and an opto-isolated MIDI input. Although the MidiVOX is no longer in production, it’s basic circuitry is easy to recreate; several other popular audio shields use the MCP4921.

Waveforms are stored in the Arduino’s program memory (PROGMEM), just like code. Program memory is non-volatile and the waveforms are ready to go just like a pre-loaded sketch. The combo organ sketch sets up TIMER1 to generate interrupts at a 22,050Hz sample playback rate. The interrupt handler reads the next sample for each of five virtual tone generators, sums the samples together, and writes the next aggregate sample to the DAC.

MIDI communication is performed through the standard Arduino MIDI library (version 4.2). The sketch registers two callback functions via the library: a note ON handler and a note OFF handler. The MIDI note handlers configure the five virtual tone generators. The sketch’s loop() function is trivial — it merely calls the MIDI library read() function and checks a reset button on the MidiVOX shield.

We all know that Direct Digital Synthesis (DDS) — the usual approach for sample playback — is a compute intensive technique for sound synthesis. DDS dynamically shifts the pitch of a stored waveform from its root pitch (the frequency of the sampled note) to the target pitch (the frequency of the MIDI note played by the musician). DDS performs waveform pitch-shifting through phase accumulation and interpolation. Floating point arithmetic is too slow and most DDS implementations use fixed point arithmetic. Even then, the computational load is heavy.

So, how did I achieve five note polyphony? Instead of storing a single waveform at a single root pitch, my approach stores twelve waveforms — one waveform for each basic pitch in the chromatic scale. The algorithm uses integer phase increments, thereby eliminating floating or fixed point arithmetic and interpolation entirely. The approach requires more space, but is quite fast. Each sampled instrument occupies 20% of program memory, allowing up to four different instruments before running out of PROGMEM.

Here are two quick MP3 demo files: a Farfisa-type sound and a and a VOX-type sound. I created the vibrato by routing the audio signal through an inexpensive Behringer UV300 vibrato pedal.

As usual, we always publish code. Need a cheap ROM-pler? Now you’ve got one!

Update 22 July 2016: If you’re into retro, be sure to check out the Arduino lo-fi beat box project. Filled with lo-fi TR-808 goodness!

MidiVOX: An appreciation and review

They just don’t make ’em like they used to. In the case, of the Narbotic Instruments MidiVOX shield for Arduino, I really mean it!

The MidiVox is a bit of a blast from the past as Narbotic no longer manufacture and sell the MidiVOX shield kit. Major bummer. Luckily, I purchased one of these little gems from the MakerShed when the shields were available a few years ago. Narbotic kindly maintain the design information and code on their Web site.

To me, the MidiVox is a most logical combination of a MIDI IN port and a 12-bit digital-to-analog converter (DAC). The MIDI port incorporates a 6N138 optocoupler for electrical isolation and a 5-pin DIN connector. The port is connected through a “PGM/MIDI” switch to Arduino digital pin D0, also known as the serial receive (RX) pin. The PGM position connects the serial pin the usual way in order to download to the Arduino. The MIDI position connects the Arduino serial RX pin to the MIDI IN circuitry. The switch component is robust and is easily accessible when the MidiVOX is on top of the Arduino and/or other shields.

The 12-bit DAC is a Microchip Technology MCP4921. This DAC is used in several other audio shield designs including the Adafruit Wave Shield and the Nootropic Design Audio Hacker Kit. The MCP4921 connects to the Arduino SPI port through digital pins D13 (SCK), D11 (MOSI), and D9 (chip select/slave select). Conventional practice recommends using D10 as slave select (SS), but it isn’t a big deal to use D9 instead as this is mainly a software issue. Slave Select (called “chip select” in the MCP4921) chooses and enables communication with the slave device. This capability is essential when more than one device is connected to the same SPI interface as in the case of the Nootropic Audio Hacker shield.

Although it seems like a no-brainer to connect all SPI devices to the Arduino SPI pins, the Adafruit Wave Shield does not follow this approach. It connects the SD card interface to the SPI pins, but connects its MCP4921 to three ordinary digital pins. The Wave shield software bit-bangs the digital pins to transfer data to its DAC. I’m not a fan of this approach, preferring to use standard libraries instead of possibly buggy, poorly documented bit twiddling code.

The MidiVOX shield implements a 2-stage, passive filter following the DAC output. The MidiVOX sends a mono signal through an on-board trim pot into a 3.5mm audio output jack. Trim pots are usually rated for a relatively small number of operating cycles, so it’s best to set this level once and make volume adjusts at an external mixer, preamp, or whatever.

The MidiVOX shield provides a DATA LED controlled by digital pin D7. The shield also has a RESET button (momentary contact switch) connected to digital pin D6. This button is ACTIVE LOW, meaning that the button pulls D6 to ground when it is pressed. Therefore, the pin mode should be configured as INPUT_PULLUP such that D6 is pulled up internally when the button is not pressed (i.e., the momentary contact switch is open).

Construction was easy. The resistors have five color bands, but don’t let this throw you off. The construction directions give the correct color code and you can (and should!) always check resistor values with a meter before insertion and soldering. I replaced the basic header pins with “stackable headers” (two 8-pin and two 6-pin). Stackable headers provide a way to make easy external connections to the shield stack from a breadboard, etc.

The completed board is shown in the photo below. The MidiVOX is stacked on an Arduino UNO with the USB, audio and MIDI cables, and is ready to go.

MidiVox

I wrote a diagnostic sketch to check out the different parts of the MidiVOX. I wish manufacturers would provide check-out sketches instead of relying on somebody’s possibly flaky application sketch for smoke testing. If something is busted, it’s important to find it early through a directed test that isolates the failure. Fortunately, everything checked out OK the first time!

The MidiVOX diagnostic program is an Arduino sketch to check out parts of a Narbotic Instruments MidiVOX shield. Rename the “loop” functions and rebuild in order to test a particular section of the shield.

Since the MidiVOX is discontinued, we’re all out of luck if we want to get (another) one. However, I strongly recommend studying the MidiVOX design. When I first got started with Arduino and MIDI, I borrowed the MIDI IN circuitry and the low pass filter design. These are simple, solid circuits and are good basic building blocks for other designs and applications.

Where to next? My dream is to build a low-cost 60s combo organ with the era-appropriate look and sound. The organ would look like a Vox Continental with a Z-shaped chrome stand and bright red Tolex covering. It would sound like either a Farfisa or a Vox — nothing too nuanced with all of the drawbars or tabs turned on. I’d like to use a cheap and lightweight MIDI controller as the keyboard. The controller would drive a low-cost (Arduino-based?) sound generator. I’m hacking out a prototype using an Arduino UNO and the MidiVOX shield. More to come…