Log in

No account? Create an account
Previous Entry Share Next Entry
Question for the electronics geeks out there...
So I have this project in mind: an electronic English concertina.

An English concertina is a musical instrument invented in the mid-1800's by Charles Wheatstone as a portable, durable replacement for the fiddle/violin. Like an accordion, a concertina has a set of bellows, a large number of metal reeds, and button-operated valves which allow air into and out of the bellows through the reeds. The basic operation is that you push or pull on the bellows and press buttons corresponding the the notes you wish to play, and they play. Since the English concertina was designed as a replacement for the violin, it has roughly the same range as a violin: 48 buttons playing chromatically 3.5 octaves from G3 to C7. 6 pitches are played by 2 keys each (there are 3 D# and 3 Eb keys, and similarly for G# and Ab).

Traditional English Concertinas have 96 tuned reeds, a complicated mechanical lever system to connect the buttons with the valves, and an intricate leather accordion-folded bellows. They also easily cost hundreds of dollars, with some models costing over a thousand.

Hence the desire to make an electronic one: its an interesting electronics project and it's a lot cheaper than a mechanical concertina.

Here's my basic plan: Since the instrument is chromatic over 3.5 octaves, I can use 12 555-based oscillators, each tuned to a pitch between C#7 and C8, and then use 12 4-bit counters to divide the frequency by 1, 2, 3, and 4 octaves (thus getting C7, C6, C5, and C4 out of the C8 oscillator). This gives me 48 pitches, 42 of which I run through 48 push-button switches feeding an op-amp summing circuit, which drives a speaker. Push a button, feed an oscillator output into the summing network, and get a note. Push two or more buttons, get a chord.

Limitations I see: This design calls for 6 556 chips, 6 4520 (dual CMOS 4-bit counters), a few op amps for the summing network, 48 momentary on pushbutton switches, and a cartload of resistors, capacitors, and trimmers. Designing the board(s) to hold the mess will be tricky. The output will be a sum-of-square-waves while a free reed makes more of a sawtooth so the timbre of the instrument will be different.

First question: Is this a reasonable design? If not, what would be a reasonable alternative? I've not worked with DSPs before so "do it all in software" is not "reasonable" in my opinion.

Second question: When I learned about all this electronics stuff decades ago, 555 timers, TTL and CMOS logic, and 741 op amps were the standard stuff. Is there better standard stuff now? Is the 741 passé? Is it reasonable to assume that (at the audio frequencies I'm planning, at least) that a basic circuit designed around a 741 will work with any other modern op amp (with modifications for voltages, etc)?

  • 1
I had to smile at the reference to 555s, because that was my own most recent solid-state audio experience. (Keep in mind that my original education involved tubes!) If/when you do find out what today's equivalents are, I'd be very interested in knowing about them. (I wonder if Arduino has any audio designs?)

I would recommend that you build a concertina MIDI controller, which ought to be much easier than fiddling with all that analog stuff. Then you plug it into a MIDI synth and you're done.

In fact, several people have already done this. A quick web search on "concertina MIDI controller" turns up everything from iPhone apps to full bellows-action models.

What's wrong with analog stuff?

Besides, I lack a MIDI synth, so going the MIDI route would involve either (a) building a MIDI controller and buying a MIDI synth, or (b) building both.

Analog will work, sure, but it'll probably take more overhead in design and development, and will require fiddling to deal with crosstalk, noise floor, clipping, all that stuff.

Also I'm sure you'll get higher quality sound from a MIDI synth. Your sketch looks like it will produce single sine waves. I'm sure there are synth patches around that will sound very much like a real concertina (attack, sustain, decay, timbre).

You'll have more flexibility too. You can plug it into different synths and get different sounds.

square waves, 48 independent channels of square waves, mixed in the output. Not sine waves.

Gack. Square waves sound awful. I'm assuming you want to play this thing.

Searching for midi synth chips or arduino midi synth turned up a bunch of old stuff, including one discussion based on a midi synth chip which I managed to find two suppliers for: one selling the chip for $6 but with a 52-week lead time, and the other selling it for $700.

I finally found a MIDI synth breakout board for $25 from Sparkfun. It looks more doable to do it the MIDI way than I had thought.

OK, new thought:

General blocks:
6x8 button matrix
Arduino controller
MIDI breakout board
misc support/interface electronics
audio amp and speaker

The main loop for the arduino would be something like:

  for(int button = 0; button < 48; button++) {
    bool soundNote = isButtonPressed(button);
    if (soundNote != isNoteOn[button]) {
    isNoteOn[button] = soundNote;

The function sendNoteCommand() would send the appropriate noteOn/noteOff command. The function isButtonPressed() interfaces with the button matrix.

Steps to do:
1. Find my Arduino kit (seriously, where has it gone?)
2. Order the breakout board
3. While waiting for the breakout board, get reacquianted with the Arduino
4. Write code which reads a single button press and sends the appropriate noteOn/noteOff commands.
5. Connect the breakout board, and tie it to the Arduino so that pressing the button makes the MIDI synth go "beep" -- a single-button concertina;
6. Build the button boards themselves, with 24 carefully places holes in each, and a switch in each hole, wired in the matrix.
7. Connect the button boards to the arduino, make sure I can read each button properly
8. Voila! 48-button electronic concertina, at least in breadboard form
9. Build a box to hold all the junk, as well as solder the electronics to real PCBs for security, etc.

I'd really recommend you build the MIDI controller first, and test it with a borrowed synth (or buy a used one for cheap). Once the controller is working, you can rip out the guts of the old synth and mount them inside the instrument, if that's what you want.

Here's the thing: I don't have a synth, nor know where i can get one a used one, borrowed or bought. I know where I can get a synth-on-a-chip-on-a-breakout-board for $25 and the site I found about it from also includes a circuit for turning it into a full-fledged synth, which I can easily build as well. So it's easier for me to build the synth (and possibly test that) than to borrow or buy a used one.

One problem with the "make a controller with an external synth" idea is that my goal is to have a concertina I can take out of its case and play; a cheap replacement for a real concertina that I can use to learn on and justify the investment in a more traditional concertina. Having to have an external synth doesn't really work for this.

That doesn't prevent me from taking the midi idea and running with it: allowing it to connect to an external synth; adding controls allowing me to change the tuning and instrumentation ("sure, I can capo my concertina, what key do you want?"), putting in a line-out and/or headphone jacks so I can play an amplified concertina or into headphones, etc. But being able to play, out of the box, audibly, is the main point.

Sounds like a fun project.

  • 1