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

Winter NAMM 2021: Do you believe?

Whew! Writing articles about ARM Cortex-A72 took quite a bit of time and effort (Part 1: Fetch and branch, Part 2: Execution and load/store).

If you drop by my site for music tech and synth info, never fear, I’m still playing with musical toys. The holiday gift return season is upon us and there are bargains popping up every day. Mint or lightly used open box items are available at a discount — a great way to stretch scarce cash. I hope to post mini-reviews as toys and time allow.

Even though the pandemic (sadly) rages on, Winter NAMM 2021 is next week (18-22 January 2021). Like many other events, Winter NAMM 2021 is virtual. Brick and mortar NAMM is replaced by NAMM Believe In Music Week. It doesn’t cost anything to register, so “Why not?”

I took a quick spin through the Believe In Music site and the organizers have done a terrific job. There, you will find the latest information about existing products and new products as they are announced. Some companies, like Yamaha, have placeholders for information to be released once the press (publication) embargo expires.

However, teasers sneak through! On Wednesday, January 20, Yamaha have four sessions scheduled:

  • New Yamaha Synth Product First Look (10AM)
  • New Yamaha Synth Product Integration (12PM)
  • New Yamaha Synth Product Playthrough (2PM)
  • New Yamaha Synth Product (3PM)

Definitely something to look forward to. So, register now and start looking for Easter eggs like this!

BTW, Yamaha have already published many Winter NAMM 2021 press releases on PR Web. Seach for “Yamaha” — or any other big-time vendor. That’s how I found the new Yamaha MSP3A compact reference monitor ($199 USD MAP). Before Christmas, I was shopping for a pair of mini monitors and would have consider these had I known about them. Went with Eris 4.5 which are more in line with my budget.

Given the NAMM Believe In Music Week site, there isn’t much need to preview products here on my site. (Time is precious and is not fungible.) However, if you’re a doting grandparent, I do recommend checking Soundbops. 🙂

Soundbops

In toys we trust. Go Browns!

Copyright © 2021 Paul J. Drongowski

Review: Roland Micro Cube GX for keyboard

You’ll find plenty of rave on-line reviews for the Roland Micro Cube GX — the go-to battery-powered practice amp for guitar.You won’t find a review covering the Micro Cube GX as a portable keyboard practice amp — until now.

Here’s a quick rundown (from the Roland site):

  • Compact guitar amp with a 5 inch (12cm) custom-designed speaker
  • 3 Watt rated output power
  • Eight COSM amp tones, including the ultra-heavy EXTREME amp
  • Eight DSP effects, including HEAVY OCTAVE and dedicated DELAY/REVERB with spring emulation
  • MEMORY function for saving favorite amp and effects settings
  • i-CUBE LINK jack provides audio interfacing with Apple’s iPhone, iPad, and iPod touch
  • Free CUBE JAM app for iOS
  • Chromatic tuner built in
  • Runs on battery power (6xAA) or supplied AC adapter; carrying strap included
  • 6 pounds (2.7kg)

I haven’t tried the Roland CUBE JAM application yet, so I’ll be concentrating on the amplifier itself. The included 3.5mm cable is the usual 4 conductor affair although it’s rather short. Roland also includes the AC adapter.

I’ve been searching for a good portable, battery-powered keyboard rig for quite some time. On the keyboard side, the line-up includes Yamaha Reface YC, Yamaha SHS-500 Sonogenic and Korg MicroKorg XL+. Although the YC and Sonogenic have built-in speakers, their sound quality is decidedly inadequate and poor quality. The MicroKorg XL+ doesn’t have built-in speakers. All three keyboards have mini-keys and are battery-powered.

To this point, I’ve been using a JBL Charge 2 Bluetooth speaker.The JBL has solid bass, but its output volume is easily overwhelmed during living room jams. It’s been a good side-kick, but I found myself wanting.

Roland Micro Cube GX and Yamaha SHS-500 Sonogenic

So, the latest addition is the Roland Micro Cube GX. Without comments from fellow keyboard players, buying the GX was a risk. Guitar amps are notoriously voiced for electric (or acoustic) guitar tone. Like the GX, you’ll typically find amp and cabinet simulators that help a guitar player chase their “tone.” The GX, however, includes a “MIC” amp type in addition to the usual 3.5mm stereo AUX input. Fortunately, my intuition was correct and the “MIC” setting does not add too much coloration.

Of course, there is some compromise in sound quality. The amp puts out 3W max through a 5 inch speaker (no coaxial or separate tweeter). Needless to say, you don’t hear much high frequency “air.” The GX cabinet does have a forward-facing bass port, producing acceptable bass even with B-3 organ. No, you will not go full Keith Emerson or Jon Lord with this set-up. 🙂 I first tested the GX with Yamaha MODX and found the B-3 to be acceptable.

Volume-wise, yes, you can get loud — too loud for your bedroom or ear-health. Bass heavy sounds can get buzzy. For clean acoustic instruments, I recommend the “MIC” amp setting. The reverb is pleasant enough and adds depth to my normally dry live patches. The delay is a nice alternative to the reverb ranging from reverb-like echo to explicit (non-tempo synch’ed) repeats.

I find the Sonogenic/Micro Cube GX combination to be the most fun. The SHS-500 has DSP effects, but they are rather tentative, as if Yamaha is afraid to offend anyone. That’s where the GX makes a good companion for the Sonogenic. Feel free to dial in the Jazz Chorus amp with the jazz guitar patch or a British stack with electric guitar. Or, try any of the modulation effects on the Sonogenic’s electric piano. Working with the GX is a far more intuitive and rewarding experience than the built-in Sonogenic DSP effects. You can cover Steely Dan EP to Clapton with this rig!

I have to call out the Heavy Octave and Spring reverb effects. You’ll find them at the right-most position of the modulation (EFX) and delay/reverb knobs, respectively. You can think of them as “going up to eleven.” The spring reverb is decent and you can throw the Heavy Octave onto just about anything to thicken up the sound.

Overall build quality is good. The Micro Cube GX feels solid. A metal grill protects the speaker. The knobs have a pleasant resistance and don’t feel cheap. The only not-so-robust feature is the battery compartment and its cover. As long as you avoid heavy abuse, you should be OK.

For the money, $160USD, it’s a decent sounding, inexpensive package. Given the physical cabinet, output power and speaker size, one should adjust expectations. However, if you’re a keyboardist and need a light, portable, battery-powered amp, the Roland Micro Cube GX is worth a try.

Copyright © 2020 Paul J. Drongowski

Keystep for littleBits

My last blog post took a look at the Pitch and Gate control voltages (CV) generated by the Arturia Keystep. Keystep’s Pitch and Gate behave conventionally. I also took note of how they differ from the littleBits gate CV signal, which combines pitch and gate control into a single signal. I mentioned two potential approaches for interfacing Keystep to littleBits:

  • Driving littleBits with Keystep’s Pitch and Gate, and
  • Sending MIDI to a littleBits MIDI module that handles conversion to littleBits gated CV.

I tried each approach. Here’s what I learned.

Keystep Pitch and Gate circuit

In this approach, the littleBits Oscillator is always running, always generating an audio signal. The Oscillator tracks the Gate voltage generated by the Keystep. The trick is opening up and shutting off the audio signal. For that, I put a littleBite Envelope module after the Oscillator and triggered the Envelope with the Keystep Gate voltage.

The resulting circuit is:

            Keystep Pitch                Keystep Gate 
| |
V V
Power --> CV Module --> Oscillator --> Envelope --> Speaker

The Keystep Pitch output is connected to the “CV IN” connector on the CV Module. The CV Module routes the incoming control voltage to its output, which sends the pitch control voltage to the Oscillator Module. The Keystep Gate output is connected to the Envelop’s Trigger input.

littleBits Proto Module ins and outs
littleBits Proto Module and quick-and-dirty patch cable

The Pitch output to CV IN connection is a standard 3.5mm patch cable. But, how is the 3.5mm Gate jack connected to the Trigger bitSnap? The littleBits Proto Module provides the solution. I cut a (stereo) patch cable in two and connected the shield and tip wires to the littleBits Proto Module as shown above. The Proto Module sends the incoming trigger signal (the Keystep Gate) to the output bitSnap. From the output bitSnap, the trigger signal goes to the Envelope Trigger input.

Properly, I should have used a mono patch cable, but I didn’t have one to sacrifice. I connected the TIP and SHIELD wires, leaving the RING unconnected.

That’s the entire setup! For testing purposes, I attached oscilloscope probes to the trigger (Keystep Gate) and the Envelope’s audio output. I also verified correct operation at intermediate points along the main signal path.

Oscillator audio (top) and Keystep Gate (bottom)

The screenshot above shows two oscilloscope traces. The top trace (green) is the final audio signal. Note the attack-release envelope around the oscillator signal. The bottom trace (red) is the trigger (Keystep Gate) signal. If the trigger is dropped before the entire envelop completes, the audio cuts off (i.e., it’s truncated). If the trigger is held beyond the combined attack plus release time, the audio signal merely stays at zero. The audio signal remains shut off until another trigger (the rising edge of Gate) is received.

Although this circuit gives us the desired behavior, it wasn’t easy getting things to work reliably. I seemed to suffer more than the usual loose connections and other lab-bench gremlins.

MIDI Module circuit

The MIDI Module approach is very similar to driving the littleBits Oscillator Module by MIDI over USB from a PC DAW:

           Keystep MIDI OUT 
|
V
Power --> MIDI Module --> Oscillator --> Envelope --> Speaker

MIDI arrives on the MIDI Module’s 3.5mm connector instead of the USB port. Otherwise, the main signal flow is the same.

Keystep/littleBits test rig

I monitored the gated CV signal produced by the MIDI Module and the audio signal generated by the littleBits Envelope using the oscilloscope. I played two notes in quick succession. The second note is two octaves higher than the first note.

littleBits audio triggered by MIDI Module

In the screenshot above, the top oscilloscope trace is the gated CV signal. The bottom trace is the synthesized audio. Not any different than the Pitch and Gate control volltage approach, eh?

Since the final audio is much the same, I would go with the MIDI Module circuit. It is simpler and its wiring is less touchy. The circuit uses the littleBots modules pretty much as intended by the littleBits engineers.

The MIDI Module approach makes the Keystep Pitch, Gate and MOD outputs available for other duties such as key-scaling (i.e., varying the effect of a sound modifier by keyboard pitch), modulation and user control. Don’t forget to insert littleBits Dimmer Modules (potentiometers) along control paths in order to set modulation level and so forth.

Copyright © 2020 Paul J. Drongowski

Arturia Keystep CV

My post about Arturia Keystep teardown and cleaning attracted a fair number of page views; it must have hit a common chord. 🙂

Today’s post continues with Arturia Keystep. Although the Keystep Gate and Pitch control voltage (CV) signals are conventional, I wanted to visualize them with an oscilloscope. I strongly recommend getting an oscilloscope when working in modular synthesis because pictures/graphs help understanding. [We haven’t even gotten to the audio yet!] I connected the Gabotronics Xminilab oscilloscope to the Keystep’s Gate and Pitch CV outputs and took a quick look.

First thing I noticed was a 12V positive trigger level. Holy smokes, I hope I didn’t apply that high signal to littleBits way back when! littleBits modules operate in the 0V to 5V range. Fortunately, littleBits input ports have an ON Semiconductor ESD9L5.0ST5G ESD suppressor/TVS diode, which protect against ESD and transient voltage events. Still, it’s better to configure voltages correctly ahead of time and not risk an accident.

Second thing is that Keystep CV voltages cannot be configured through its front panel. That’s somewhat understandable in a low cost product like Keystep. Control voltages are configured by Arturia’s MIDI Control Center (MCC) software — a free download for Keystep owners.

Here is the control voltage configuration that I used during testing:

  • MIDI CV output: Volt per octave
  • 0V MIDI note: C1
  • Note priority: Last
  • MOD CV source: Mod wheel
  • MOD CV max voltage: 5V
  • Pitch bend range: 2 semitones
  • Gate CV output: V-trig 5V

Keystep supports V-trigger 12V and S-trigger in addition to V-trig 5V. S-trigger is the old Moog convention that is not used very much anymore. It’s sometime called “negative trigger,” but it’s really a strange creature requiring a special connector.

Keystep Gate (green) and Pitch (red) control voltages

The screenshot above shows the Keystep in action. [Click image to enlarge.] The top trace (green) is the Gate (V-trigger 5V) output and the bottom trace (red) is the Pitch output. The Gate signal is, er, a gate. It goes high when a key is pressed, stays high while the key is held, and goes low when the key is released.

In the example, I played three notes where each note is an octave apart. The vertical oscilloscope scale is 2.56V per grid division. Each step up in the bottom trace (Pitch) is about 1V. Also, you see the Gate signal hit a maximum 5V.

In the future, I may need to tweak Keystep’s 0V MIDI note parameter if I drive the littleBits Oscillator module with the Pitch signal. One needs to find a happy operational sweet spot between Keystep octave transpose and note range versus the limited 5 octave range of the Oscillator module. Keystep’s Pitch signal ranges from 0V to 10V, and I don’t want to drive the littleBits Oscillator with more than 5V, if possible. MCC does not allow us to specify a maximum, do-not-exceed Pitch voltage.

One way around the pitch voltage issue is to control the littleBits Oscillator via the littleBits MIDI Module instead. In that case, the Keystep 5-pin MIDI OUT connects to the MIDI Module (mode switch set to IN) over a Korg convention, 5-pin to 3.5mm adapter. (The O-Coast adapter adheres to the same convention and works, too.) With the MIDI approach, we don’t need to worry about over-driving the Oscillator module with a high, out-of-range voltage. The littleBits MIDI module tops out at 5V.

I have both the littleBits MIDI module and littleBits CV module. Thus, I can drive littleBits oscillators via MIDI and send the Keystep MOD CV to the littleBits CV module for modulation duties. With the Keystep MOD CV max voltage set to 5V, I should be safe. If I need to reduce the MOD CV range further, I can always run the output from the littleBits CV module into a littleBits dimmer (potentiometer) and attenuate the level.

The MIDI module approach also produces the gated CV signal expected by littleBits oscillators. The Keystep Pitch output provides a simple, steady voltage level and doesn’t have an in-built gating function. When you hit a key, the Keystep changes the Pitch output voltage accordingly and the Keystep holds that voltage even when the key is released. If connected to a littleBits Oscillator, the Oscillator will never see a release event, that is, the Pitch voltage never drops to 0V when a the key is released. The littleBits Oscillator merrily continues to play! On the other hand in littleBits-world, the gated CV drops to zero. Thus, littleBits combines pitch control and trigger (gate) into a single signal.

One could build a simple converter from separate gate and pitch CV to the littleBits gated CV. I’m thinking of a voltage-controlled SPDT analog switch like the Texas Instruments TS5A9411 (or MAXIM MAX4544, etc.). The trigger (gate) signal controls the switch. When the trigger is low, the signal connects to ground and passes 0V. When the trigger is high, the switch passes the Pitch CV signal.

Another possible work-around is to follow the littleBits Oscillator with an Envelope module and connect the Envelope’s trigger to the Keystep Gate output through a littleBits CV module. [Whew!] The Envelope should pass and shut off the Oscillator’s sound when the gate is asserted and dropped, respectively. I’m going to give this idea a go.

Copyright © 2020 Paul J. Drongowski

Arturia Keystep tear-down and cleaning

As part of the littleBits revival, I pulled the Arturia Keystep from storage. The Keystep has a nice keybed and sequencer, and supports a wide range of interface options: 5-pin MIDI, CV, gate, sync and USB MIDI.

Although I love its industrial design, the Keystep keys have always been somewhat unreliable. Straight out of the box, one of the keys did not trigger reliably. After moving and storage, unfortunately, several more keys became flaky or non-operational. Time to tear down and clean! [Click images to enlarge.]

Arturia Keystep wide open

I watched a Youtube video covering repair of the aftertouch ribbon. Initial disassembly is straightforward: 1. Pull off the knobs. 2. Remove the 14 large screws on the bottom. 3. Carefully open the top (white or black front panel.

Arturia Keystep aftertouch cable (connected)

The key assembly connects to the main electronics through two ribbon cables: the aftertouch cable and the key matrix cable. I marked the top side of each cable so I would know the correct cable orientation during re-assembly.

Keystep aftertouch cable (disconnected)

The aftertouch cable has a four socket connector that slides over four right angle pins on the printed circuit board. Disconnecting it is easy; just slide the connector out in the same direction as the pins. Please note the black X. That’s my mark so I know how to orient the cable when putting everything back together. This is important because there isn’t an indexing mechanism for the cable and it’s possible to insert it the wrong way.

Keystep key matrix cable (black connector tabs open)

Next, one needs to disconnect the key matrix cable. Once again, I marked the cable in order to know its correct orientation. The cable is paper thin with exposed leads at the end. I always get faked out by these newfangled PCB cable connectors. Slide the two black tabs on either side of the connector in order to release the cable. During re-assembly, you’ll insert the cable and slide the tabs to lock the cable into place.

While we’re here, that’s an ST Micro STM32F103 ARM processor which is the brains of the whole operation. Ya know, for a 100 bucks (USD), there’s a lot of technology and quality built into this thing!

After disconnecting the cables, the front panel electronics can be separated from the keybed in the metal chassis tray. Now it’s time to remove the keybed itself by removing the 10 small screws on the bottom of the tray.

Keystep key switch matrix PCB (ignore the missing keys)

Flip the keybed over and you see the key matrix PCB. The key matrix lets the ARM scan the key contacts. The tiny components are switching diodes. For the time being, ignore the missing keys (!). I’ll explain later…

Next, remove the four tiny screws holding the key matrix PCB in place. Then, carefully push back the four black plastic tabs, one at a time. Remove the PCB and flip it over.

Now you see the actual key contacts. This is the money shot. The PCB has two maze-like traces for each contact. The black dots on the rubber contact strip make two separate electrical connections on the PCB when a key is pressed. One connection is made first, followed by the second connection. The ARM software senses the connections and measures the time between contact. The software maps this time into the MIDI note velocity.

At this point, I used alcohol prep pads (70% isopropyl alcohol) to clean both the PCB traces and each of the black dots on the rubber contact strip. These are the same small pads that doctors or nurses use before a finger stick test. Be gentle! I didn’t see any visible dirt, so maybe key flakiness is due to manufacturing residue. [I’m not a smoker.] Based on Web comments, flaky Keystep keys is a common problem — a frequent problem in what is otherwise a fine product.

From here, you need to reverse the disassembly steps in order to nail everything back together again.

Fixing broken keys or aftertouch

Now, to explain the missing keys. The original video demonstrates a repair to the aftertouch strip. I naively thought that I could get access to the key contacts through the top of the keybed. You only need to remove keys when fixing the aftertouch strip or broken keys. Do not remove keys if your goal is only contact cleaning.

Keystep key spring detail

My mistake did create a photo-op, however. In the picture above, you see the springs which give the keys their bounce. The springs hold the keys in place. To remove a key, you need to gently push down on the spring and release the “rounded” end of the spring from the black keybed frame. These little buggers will fly off, so be careful! During re-assembly, the conical ends fit into the key holes. Stretch the spring until the rounded end fits into the corresponding pocket in the keybed frame. Another re-assembly tip: do all of the black keys first.

Keystep with keys removed

The final picture shows the top of each rubber contact pair poking up through the black keybed frame. These are the top sides of the rubber contacts that we cleaned. The black strip running along side the key contacts is the aftertouch strip.

I connected the reassembled Keystep to my PC (via USB) and got the familiar start-up light show. I launched MIDI OX and tested each key. All keys responded quickly and reliably.

All in all, the process was relatively easy although care must be taken. I like the Arturia Keystep and love it even more, now that all of the keys are working.

Bonus: Learn how to tune littleBits with Keystep.

Copyright © 2020 Paul J. Drongowski

littleBits envelope generator

In my last post, I investigated the gated CV signal produced by the littleBits MIDI Module. Now, let’s take a look at the Envelope Module.

littleBits Envelope Module

The littleBits Envelope Module is rather basic with only attack and release controls (no decay or sustain controls). The module has two inputs:

  • The primary input at the left end of the module typically receives the audio to be shaped by the envelope.
  • The trigger input receives an (alternative) trigger signal.

The Envelope Module triggers in one of two ways:

  • When the primary input transitions from zero to a positive voltage.
  • When the trigger input transitions from zero to a positive voltage, usually 5 Volts.

Allowing the primary input to trigger envelope generation simplifies connection. It is also easier to use conceptually. A beginner doesn’t need to understand envelope generators, voltage controlled amplifiers and how the two interact. A beginner doesn’t need to wire in a separate envelope generator. Everything happens along a single audio signal path and “it just works.”

The simple circuit below is all one needs to get started with synthesis:

    Power --> MIDI --> Oscillator --> Envelope --> Speaker

If you have is the basic Synth Kit, then the MIDI Module may be replaced by the Sequencer Module or Keyboard Module. As we saw in the last post, the Gated CV output from the MIDI Module turns the oscillator ON and OFF (gate) and sets the oscillator pitch (CV). When the Oscillator is generating audio, the audio signal triggers the Envelope Module which shapes the audio amplitude. The shaped audio (now with attack and release segments) is finally sent to the speaker.

I connected this simple circuit to a dual trace oscilloscope. I found that the attack and release phases are sequential without an intervening sustain phase. The duration of the entire envelope is the sum of the attack duration and release duration. There isn’t a decay phase either. In other words, holding the gated CV longer does not sustain a note! The maximum duration of the attack phase is about 1 second and the maximum duration of the release phase is about 2 seconds.

Envelope Module in action (max attack and max release)

The oscilloscope traces above show the final, shaped audio signal when attack and release are set to maximum. [Click images to enlarge.] The top trace (green) is the gated CV signal from the MIDI Module. The bottom trace (red) is the shaped audio signal. Each horizontal grid mark is 0.5 seconds. Please note that the gate must be as wide as the attack duration plus the release duration to obtain the full contour.

littleBits Filter Module

Skipping ahead to the Filter Module for a moment, the Filter has an input which allows cutoff frequency modulation. In a typical modular synth, this input is tied to a separate envelope generator. In keeping with the littleBits “It just works” philosophy, you can drive the cutoff input with the audio signal as seen in the circuit below:

                                                ---- 
| |
| V
Power --> MIDI --> Oscillator --> Envelope --> Filter --> Speaker

Yes, this actual works as shown in the oscilloscope traces below. The top trace is the gated CV signal from the MIDI Module. The bottom trace is the output of the Envelope Module which is connected to the Filter cutoff modulation input.

Modulating the filter with envelope shaped audio

littleBits envelope generator

I’ll bet that you’re wondering if the littleBits Envelope Module can be made into a conventional envelope generator. So did I. It would be great to have a conventional synthesis chain with separate envelopes for amplitude and filter with separate attack/release (AR) controls for each envelope.

Here’s one experimental solution:

               --> MIDI IN  --> Oscillator --> Filter --> Speaker 
| | ^
Power --> | | Trigger |
| V |
--> Envelope ----------------------

If you have a second Envelope Module, you can insert it between the Filter and Speaker Modules, forming a conventional OSC→VCF→VCA chain. I have only one Envelope Module and built the circuit shown above. I used a littleBits Split Module to send the Power output to the MIDI Module and Envelope Module. This is the ideal situation for powerSnaps, if you got ’em.

littleBits Power Module (old model)

How does this circuit work? The Power Module provides the +5V and ground power rails, of course. The Power signal output is tied to 5V. Thus, the Envelope Module sees a constant 5V signal at its primary input. The littleBits MIDI Module triggers the Envelope module. The envelope generator inside the Envelope Module triggers and shapes the constant +5V input signal into the familiar attack and release envelope contour.

Output from the “pure” envelope generator circuit

The oscilloscope traces above show the gated CV signal (top/green trace) and the output from the Envelope Module (bottom/red trace). Yep, the final audio sounds exactly as expected having the familiar wah-wah filter funk. The final audio sounds cleaner when the filter cut-off frequency is modulated by the “pure” envelope generator.

One final detail. The internal littleBits envelope generator is based on a 555 timer circuit. If you’re curious about the internal design of this or any of the littleBits modules, be sure to visit the littleBits Eagle file repository where you will find schematics.

Copyright © 2020 Paul J. Drongowski

littleBits Control Signals

I got the itch to experiment with analog audio processing and finally unpacked the old littleBits synth modules. Folks hack the Korg Monotron series, so why not hack littleBits modules instead? The modules are inexpensive when compared with Monotron and are easily reconfigurable while experimenting.

Since I last wrote about littleBits (circa 2017), Sphero purchased the littleBits company in 2019. Fortunately, they retained the littleBits forum.

Not so good, neither Sphero nor littleBits provide precise documentation about synth module functionality or the input and output signal characteristics. Precise information is needed especially when interfacing modules with the outside world including module synth gear. Timing information, in particular, is needed.

We do know a few things about littleBits, however. littleBits modules normalize input and output signals to a 0 to 5 Volt range. Both digital and analog signals are normalized. Normalization facilitates the plug-and-play module architecture and you can freely interchange analog for digital and vice verse.

Background

Before diving in, here is a little background information about the signal types and terminology commonly used in modular synthesis.

Control voltage (CV)” is an analog signal which controls continuous functions like oscillator pitch generation, envelope and filter modulation, etc. CV sweeps continuously across an operational range, e.g., 0 to 5 Volts.

Gate” is a digital signal. It is an ON/OFF signal. A keyboard, for example, asserts gate when a key is pressed and drops gate when the key is released. Gate indicates a condition, e.g., a key is pressed. The leading and trailing edge of the gate indicates a change in the condition.

Trigger” is a digital signal similar to gate. However, trigger is usually a short digital pulse. Trigger is intended to indicate an event, like a clock tick, not just the presence or absence of a condition. Trigger signals often control synchronization.

Of course, electrons are electrons and one is free to combine CV, gate and tigger in any manner. Not all mixtures are meaningful (useful), however.

Details about CV, gate and trigger vary from manufacturer to manufacturer. Moog, for example, use the linear Volts per octave convention. On the other hand, old Yamaha and Korg synths use the Hertz per Volt convention. Maximum and minimum voltages level may differ by manufacturer and so on.

My goal here is understanding the convention used by littleBits.

littleBits MIDI and oscillator modules

I decided to start from the front of the synthesis signal chain and work back. The first stage in the synthesis chain is the littleBits MIDI module. A close look at the MIDI module signals in action should tell us how littleBits implement basic synthesizer control (CV, gate and trigger).

littleBits MIDI module

The MIDI module has a USB-B device port that presents itself to the USB-A host as a class-compliant MIDI device. The MIDI module supports both USB MIDI IN and USB MIDI OUT. However, the module operates in one mode (IN or OUT) at a time. The mode is selected by its mode switch (duh!).

  • IN mode: Receives MIDI messages from the host.
  • OUT mode: Sends MIDI messages to the host.

This blog post focuses on IN mode.

IN mode converts incoming MIDI note messages to two signals:

  • Gated control voltage (gated CV)
  • Trigger

Although littleBits call the digital output “Trigger,” it really is a gate signal, as we shall see.

littleBits Oscillator module

The littleBits Oscillator module is a pretty simple affair. The sole input is the (gated) control voltage which changes the pitch. The sole output is either square or saw wave as selected by the waveform switch.

The test rig

Here’s my test and measurement approach.

The littleBits signal chain consists of a power module connected to the MIDI module which drives a littleBits oscillator module. I split the gated CV signal sending it to both the oscillator and a proto module. The oscillator output is sent to a speaker module, giving me aural feedback. Hey, is this thing on?

MIDI module/Oscillator test circuit

The GND and gated CV signal are sent from the proto module to a Gabotronics Xminilab oscilloscope. I attached another proto module to the MIDI module “trigger out.” The GND and “trigger out” from that proto module are went to the second channel of the oscilloscope. Thus, I can monitor both the gated CV and “trigger out” and see the timing relationships between the signals.

SONAR/Oscilloscope test rig

The Xminilab front panel user interface is a little fiddly. So, I connected the oscilloscope to a PC running the Gabotronix oscilloscope application. This arrangement makes it sooooo much easier to configure the oscilloscope and to capture screen shots.

The USB MIDI comes from the PC, too. SONAR generates MIDI messages and sends them to the littleBits MIDI module. Test messages are produced from a repeating one measure loop (80 BPM or so). The repeating loop gives me good repeatability.

The signals under test

As noted by other experimenters, littleBits combine gate with CV functionality. When the MIDI module receives a note ON message, it:

  • Asserts the trigger signal, and
  • Drives the gated CV output with a positive voltage proportional to the MIDI note number.

The MIDI note range is C2 to C6 (4 octaves). MIDI note C2 generates a gate CV voltage of 0.2 Volts. From there, the output voltage increases by 1 Volt per octave (1V/oct). Each semi-tone step increases the voltage by 1/12 Volts. The module asserts trigger by raising its output voltage to 5V.

When the MIDI module receives the corresponding note OFF message, it:

  • Drops the trigger signal to 0V, and
  • Drops the gated CV output to 0V.

Notice that the gated CV output is asserted and dropped in parallel with the trigger output. Trigger is always driven to 5V while the gated CV voltage is positive and is proportional to the MIDI note number.

The screenshot below illustrates the operation of these two signals. The top trace (green) is the gate CV voltage. The bottom trace (red) is the trigger voltage. [Click images to enlarge.]

Gated CV (green/top trace) and “trigger” (red/bottom trace)

The MIDI test loop plays C2, C3, C4 and C5 in succession and repeats. The stair steps in the top trace show the effect of each successive note in the loop. The vertical display scale is 2.56V per grid division. You can see that each successive step is 1 Volt higher starting with C2 at 0.2V.

The trigger and gated CV traces are in temporal lock-stop, i.e., they rise and fall together. The width of the trigger signal is always the same width as the gated CV signal. Please recall that “trigger” in synth-speak is normally a fixed-width narrow pulse. That’s why I think the littleBits “trigger” signal is really a gate signal.

So, why do littleBits use a gated CV? Short answer: In conventional use cases, both gate and CV can be sent through a single wire (connection). The synthesist doesn’t have to route two separate wires (connections). The simplified wiring makes life easier for novice users (kids). The synthesist merely lines up a keyboard (sequencer, MIDI module) with an oscillator module and “it just works.” We will see other instances of the “It just works” philosophy in the envelope module, too.

C2, C3, etc. are MIDI note numbers and nice names. However, you’ll need to tune the Oscillator module to obtain the correct musical pitch.

Copyright © 2020 Paul J. Drongowski

Best things in life are free

Yep, still here and no trouble staying busy! We’ve been hit by a tsunami of free on-line content and software sales. The good news — it’s free (or at a discount). The bad news — the amount of time required to download, install, activate and maybe, gasp, actually use some of these samples, plug-ins, etc.

The list of free stuff is astounding. The Loopmasters, Loopcloud, Plug-ins Boutique and Producer Tech conglomerate has been veru generous during the pandemic and the summer season. The first stay-in and create promotion distributed:

That’s a bunch of good stuff, especially Neutron Elements. I haven’t dipped into Producer Tech, as yet, but the Ableton Live tutorials are inviting.

I just cashed in the summer stay inspired promotion:

These plug-ins are really worth it and useful. I Heart NY does parallel compression, good for mastering among other uses. Vocal Splitter separates mono vocals into stereo (ye olde split, delay and detune trick). Smasher is an Urei 1176 compressor emulation dedicated to the British all-buttons-in sound. Sure, the plugs are somewhat single purpose, but they sound great and are simple to use. Frankly, with all of this free content (!), I don’t have time to dial things in. 🙂

Other notable free plug-ins are:

Sweetwater ran a promotion with iZotope, giving away the Ozone Elements mastering suite. Between Ozone Elements and Neutron Elements, that’s half of the iZotope Elements suite for nada.

I need to mention my favorite score from the Christmas holiday season: Arturia’s EMT-140 Plate Reverb. I have a fondness for plate and Arturia put together a beautiful EMT-140 emulation.

If that’s not enough, shake in the Korg software sale including Korg Module Pro and discount Cubase updates from Steinberg.

Plugin Boutique had a sale on zplane deCoda. deCoda is like Yamaha’s Chord Tracker on steroids, building on zplane’s experience in spectral analysis. Sure, it’ll identify the measure, sections and chords. However, you can draw MIDI notes on top of a spectral plot and export the MIDI to a file. A great way to capture a melody line from a song. deCoda has a focus panel which restricts analysis and playback to a specific frequency band and area within the stereo field. I see many uses beyond chord extraction!

Check out this introductory deCoda video. zplane have a v1.1 update in beta testing now. The beta adds the ability to save the chord progression to a file — a must-have feature. In v1.0, you need to jot the chords down by hand.

Hey, hey. If you keep your eyes and ears open, you can save some serious cash. The plugs and stuff mentioned here are first-rate, not sleazy hacks. Nows all we need is a time machine to learn, experiment, and put everything to good use.

Copyright © 2020 Paul J. Drongowski

Mini review: Korg Module

Korg have extended their summer apps and software sale. Sale is on starting today (June 24) and ending Wednesday, July 15, 2020.

They finally got me with Korg Module Pro. The backstory…

I installed the free version of Module when I assembled the Korg NTS-1, hoping that it would unlock a few extra instruments in Module. For some reason, nothing unlocked and I gave up. I really wanted to assess the five built-in engines before springing for Module Pro.

Well, shucks, sight to the blind. Last week, I cast my gaze across the studio, coming to rest on the MicroKorg XL. Duh! Why didn’t I reach for the MicroKorg to begin with? After wiring up, the MicroKorg unlocked the electric piano, organ, clav, and string engines. Only one patch each, but certainly enough to get a good taste.

Needless to say, the five engines are pretty darned good. I sprang for Korg Module Pro and the Module Performance Expansion pack. The Module Performance Expansion pack adds more voices, MIDI CC learn and the ability to split and layer.

The ability to layer is very handy as I always find Korg’s acoustic instruments to be a little bit raw on their own. Sure, effects help to dress up the voices, but a soft pad adds warmth to strings and so forth. Orchestration 101.

MIDI CC learn is a bit of a necessity, I discovered. Unexpanded Module Pro responds to specific MIDI CC messages. For example, CC#100 controls organ rotary speaker speed, a rather essential element. To my chagrin, I discovered that the Yamaha MODX, which I am using as a controller, does not send CC message higher than CC#95! What the what? MIDI learn allows you to assign a controller to rotary speaker speed or other Module parameter of interest. [Check the update below for the correct solution!]

I connected the Yamaha MODX to the iPad via Apple Camera Connection Kit and an ancient IK Multimedia iRig 5-pin MIDI interface. Why 5-pin? That’s the other gotcha. I initially connected the MODX to the iPad via USB. Module receive the MIDI OK, but somehow the outgoing audio stream was lost with no signal at the 3.5mm headphone output. [See the update!]

I may look for a different audio/MIDI interface solution as I hate using the 3.5mm headphone jack. It’s not mechanically robust and it’s all too easy to get ear-itating scratchy audio. I don’t want to spend a lot of money and don’t want any solution involving powered hubs and such. I might give the Alesis Control Hub a try or maybe Korg’s own plugKEY. The Control Hub is a legacy product and availability is spotty. The plugKEY is a little more expansive, but is purpose-built for iPad software instruments and is Lightning-only. The Control Hub is USB-B class-compliant.

My only remaining nit is also one of my pet peeves. Software vendors should be forthcoming and specific about voices (patches) available at verious tiers. In the case of Kork Module, the free version has only one unlocked engine — acoustic piano and one patch:

    Acoustic Piano       Natural Grand

When the free version is connected to a Korg synth like the MicroKorg, you get five unlocked engines, one patch per engine:

    Acoustic Piano       Natural Grand
Electric Piano Natural Tine EP
Organ Simple Organ
Clav Clav CA
Strings/Choir Strings

The engine beneath Strings/Choir is really a sample-playback engine and it’s not limited to strings!

Korg Module Pro unlocks many additional patches for the five engines:

    Acoustic Piano
Natural Grand Bright Grand
Dark Grand Heavy Touch Grand
Light Touch Grand Damper Reverb Grand
Cinema Piano Mono Attack
Comp Piano Upright Piano
Radio Piano Honky Tonk
Flange Piano Electric Grand
Chorus E.Grand AOR E.Grand
Ac+El Piano Pad Piano
Spacy Piano Strings Piano 1
Strings Piano 2 Choir Piano
Twinkle Piano Stack Piano
Electric Piano
Natural Tine EP Hard Tine EP
Soft Tine EP Tremolo EP
Phaser EP Chorus EP
Boomy Vibe EP Auto Wah EP
Deep Mod EP Distortion EP
Hybrid EP Dark Sine EP
Digital EP Synthetic EP
Pad Tine EP Strings Tine EP
Organ
Simple Organ Dark Organ
Soul Organ Jazz Organ
Memphis Organ Gospel Organ
Clean Organ Bright Organ
Drive Organ 1 Drive Organ 2
Full Organ 1 Full Organ 2
Perc Organ 1 Perc Organ 2
Perc Organ 3 Perc Organ 4
Vox Organ 1 Vox Organ 2
Clav
Clav CA Clav CB
Clav DA Clav DB
Wah Clav Phaser Clav
Distortion Clav Mute Clav
Psychedelic Clav Clav Guitar
Sample-playback
Strings Slow Strings
Strings Pad Analog Strings
Phase Strings Flange Pad
Choir Pad Vocoder Pad
Brass Ens Octave Brass
Funky Sfz Brass Hybrid Brass
Analog Brass Soft Horn
Warm Pad Saw Pad
Ambient Pad Bell Pad
Saw Wave Chiptune Wave
Synth Stab Unison Synth
Saw Synth Soft Synth
Rez Comp Rez Square
Synth Clav Saw Pluck
Square Pop Detune Sine
Digital Bell Ring Bell

The electric piano is quite nice; the patches provide a wide range of Rhodes tone. The rotary organ patches cover a useful range, too, including a pair of VOX combo organ sounds. The clav is up-to-snuff and the patches cover the usual favorites. The sample-playback sounds are strong on ensemble voices, not so much lead tones or solo instruments.

The Module Performance Expansion pack rounds out the sample-playback sound set with guitars, bass, solo instruments, etc.

    Sample-playback
Violin Cello
Pizzicato Chamber Strings
Strings Ensemble Tremolo Strings
Romantique Strings Synth Strings
A Capella Pad Bubble Choir
Solo Trumpet Band Brass
Fanfare Horn Ensemble
Synth Horn Solo Flute
Vibrato Flute Pan Flute
Alto Saxophone Tenor Saxophone
Wind Ensemble Chamber Orchestra
Unison Stab Mono Dark Lead
Mono Synth Lead Detune Saw Lead
Octave Lead Talking Lead
Analog Piano Synth Pad Piano
Velocity Synth Synth Pad
Dark Pad Snow Pad
Aurora Pad Artificial Effect
Filter Motion Air Organ
Vibra-phone Glockenspiel
Celesta Steel Drum
Tubular Bell Mysterious Bell
Vibrato Glass Bell Bell Tower Pad
Foggy Hills
Ac. Guitar Nylon Guitar
Electric Guitar Guitar Dist.
Harp Sitar
Ac. Bass Walking Jazz Bass
Fretless Bass Finger Bass
Mute Pick Bass Slap Bass
Fat Pulse Bass Filter Bass

All of these sounds can be used as layer elements, too. That’s a lot of detail, but it should give you a better sense of the product feature tiers.

Update

After spending more time with Korg Module Pro, I’m happy. The sounds are first rate without much filler or junk. Some of the sounds are inspiring.

Further experiments…

I connected the Yamaha SHS-500 keytar to Korg Module Pro over Bluetooth MIDI. Pairing was a breeze, I couldn’t discern any annoying latency at all. There are a few patches where I dialed up the effect level — par for the course. I can see the SHS-500 plus iPad/Module as a lightweight portable rig. Going wireless would be a real boon for the crazy small spaces that I play in.

I also gave MODX another shot as MIDI controller. Success! The digital audio stream is sent back to MODX on its USB class-compliant audio device. My initial mistake was a head-slapper. Pay attention to the MIDI and audio meters in Module’s upper left corner. At first, I saw MIDI activity and no outgoing audio level. Should have been a big clue. Check and set Module’s OUTPUT LEVEL knob and make sure it’s turned up. Doh!

I resolved the organ rotary speaker speed issue by reading the manual and noting the organ/damper pedal setting. Module receives CC#64 sustain. When the organ/damper pedal setting is “Rotary,” sustain toggles the rotary speaker speed — no MIDI CC learn is necessary.

That’s it! Korg Module Pro 50% off is money well spent.

Copyright © 2020 Paul J. Drongowski