FreqTalk - a SpeakJet live performance syntheziser

Hi all. I've been playing with Arduinos for a few years, lurking here for just a little while, and this is the first thing I've done that I felt was worth showing to y'all. To keep this post brief, I'll link to my personal webpage, which in turn, links to a couple of demo videos on YouTube. Hope you like it.

Click here -->

Insane. That's really well done. :)

I am liking all of these really good synth type projects that keep coming up recently... ::)


Now i'm seriously impressed.

Thats just jaw dropping....

Thanks much, guys. I must confess: I'm pretty proud of it. It's stable, bug-free, and actually fun to play with.

Next, I'm going to build an accessory: a little Master Midi Clock box with adjustable BPM knob and LCD display to show the tempo. I know I'm probably reinventing the wheel a little bit, but I have a spare Diecimila laying around, and I ran out of I/O on the Mega, otherwise I would have added a built-in MIDI clock source inside the FreqTalk.



Simply amazing!

wow this is super cool.

did you bend that enclosure yourself or are they available somewhere? it looks about the right size for some effects i've been messing with.

Thanks, guys.

The enclosure came from Fry's Electronics. It cost around $30. They are also available in a three-quarter-size version for around $20.

I know you have the Fry's chain in CA, but I don't know if there's one close to you.

Also, that enclosure is not offered on their website as far as I can tell, but they do have it in-store, at least in the Tempe, AZ location. As always with Fry's, your mileage may vary...considerably.

I love the sound of that. i would like to make a modular synth panel like your design. maybe with some control voltage inputs for various pots :)

i was thinking of getting some of those chips but wasnt sure if they would be musically useful. subbed to you on youtube 8-)

maybe with some kind of scaling you could at least get 2 or 3 octaves with good pitch

Sending control messages to SpeakJet chips is super easy. It's analogous to MIDI formatting, but simpler, since the set of 'CC' messages is so limited. Parameter byte followed by value byte...then the 'notes' are a specific range of single byte messages.

(They also have a low-level ASCII-driven language that you can use to generate pure tones at precise frequencies, but it's cumbersome and less direct than simply driving DACs straight from the Arduino. That's how I did that one easter-egg mode that plays A220 sine waves.)

OK, here's the deal with pitch on the SpeakJet chips:

The Pitch parameter accepts values from 0 to 255 (though values lower than 30 produce atonal clicks). Doing a simple Google search, I found a table that relates the musical scale to frequencies. In the FreqTalk, I populated an array with the integer values that most closely approximate those notes (so the sharpness/flatness of any given note is always less than 1 Hz). The pitch knob simply indexes through that array and sends the corresponding integer value to the SpeakJet.

So yeah, the Speakjet can produce a solid three octaves (B0 to B3, more or less)

Modulars are something I've been wanting to get into for years, but I already have too many expensive hobbies. ;)

How's your bass synth coming along? It's very impressive. I've been telling my tech buddies about it.

edited, i see you use 2 speakjet chips.

Are these the same speakjet chips they sell on sparkfun? It looks like there is only one version. i am going to make something like that for sure :) I am going to have the most bizarre hybrid modular synth ever :o

As for your MIDI master clock, it might be a good idea to have a really bright RGB LED on there that flashes on the Downbeat one color and a different color every 4th. i find it really helpful when playing along! Im talking bright enough to shine on the wall or ceiling :)

The bass synth is coming along great. It is making sound again, on its new circuit board. I have been programming how it selects wavetables. and what are useful ranges of controls etc. about 18k of code at the moment. Maybe a new video this weekend!

The board version sounds a lot better because the PWM that modulates the DAC levels is Properly filtered with a 4 pole active filter and not just a capacitor and resistor :) and the DACS output is 4 quadrant multiplied instead of 2quadrant, so that also makes for no DC offset, and better sound.

I found a couple of errors on the boards, both very easy to fix fortunately. I had 4 of them made in case someone else might want to try building one.

Yes, Speakjet chips can be found at SparkFun (and also at, where I got mine) The only variant I know of is has them available in surface-mount form factor.

There is an odd variant of the Speakjet floating around out there, called “Soundgin”. It’s similar, but don’t get this one. The command implementation is much lower-level, meaning you’ll be doing a LOT more coding to get the same results.

Thanks for the tip about the RGB LED indicator. That’s a really sensible idea! Actually, I didn’t give it much thought because the FreqTalk is a free-wheeling MIDI slave, in that it will reset internal counters upon receiving a SONG START message (I think of it as “re-sync”), but the internal counters increment as long as clocks are coming in, regardless of START/STOP/CONTINUE messages. (intentional) Nevertheless, the LED idea is very useful when driving sequence-driven devices.


VERY impressive, especially aesthetically!

Also, you have a very nice voice! You do a great job narrating!

Heh, thanks. I would have gone into broadcasting years ago if I thought I could make a living out of it. As for the narration, I had to write it all out and read it on camera. I tried to improvise, but it was impossible.

Actually, I'm in the midst of doing an aesthetic upgrade: replacing the old-skool knobs with cylindrical brushed aluminum ones, and replacing the power switch on the rear with a sleeker, more modern looking one. Minor stuff, but the knobs will look cooler and better match the overall feel of the piece.

Next plan: dismantle the old model FreqTalk (the green one) and repurpose the 3 Diecimilas in there for other new things.

I (heart) ARDUINO! :D

3 Diecimilas in there for other new things.



Haha, yeah. When I built that last model, the Diecimila was top of the range, and (a) it didn't have enough I/O for everything I wanted to do, and (b) I didn't know about the Software Serial library (if it indeed existed back then???)

In any case, the original design had one Arduino acting as MIDI parser and serial master, and two other Arduino slaves each controlling one Speakjet chip with it's complement of knobs and buttons.

It seems a bit naff now, I know, but I didn't know about this place back then either. I was conceptualizing in a vacuum and making it up as I went along.

Of course, the Mega changed everything...

Incidentally, I just did a cosmetic upgrade: new knobs (the kind I wanted to use in the first place), and a nicer power switch:

Ooooohhhh :)

Where did you get those new pot knobs from?

I want some like that!

You got any idea of a good supplier for them (to ship to the UK)?


The knobs came from Radio Shack, a generations-old and increasingly crappy consumer electronics shop. When I was a kid, they carried lots of ICs and parts, and now they are a glorified cellphone store with know-nothing clerks.

Those are the knobs I wanted to use in the first place, but they stopped carrying them a couple of years ago...then suddenly (after I finished construction) they had them again.

I don't know if Radio Shack will ship to the UK. RS has a UK shop, but as far as I can tell from their website, they don't appear to carry these knobs. They are $3 for two.

The knobs came from Radio Shack, a generations-old and increasingly crappy consumer electronics shop. When I was a kid, they carried lots of ICs and parts, and now they are a glorified cellphone store with know-nothing clerks.

Yeah, I have heard all about the increasing crappiness of radio shack. Well thanks for the link. That gives me an idea anyway.