To control my simple Beacon, I used PWM and as simple (but slow) RC filter. That worked good enough for a test, but I really wanted the voltage changes to be more rapid. What alternatives are there? Well, I actually ordered a $5 I2C DAC board from Sparkfun, but it hasn’t arrived. The obvious low-tech alternative is to use a R-2R resistor ladder. Somewhat coincidently, hackaday had a tutorial on them just a few days ago.
Addendum:This page talks about the need for a buffer amplifier to be used in concert with the D/A converter. That’s because any load (resistance) you place on the output works in concert with the resistor network to change the output voltage. If that load varies, it will also cause your output voltage. By buffering through a buffer amplifier (in this case, a rather cheap op amp) you prevent all that, and the DAC works more reliably.
Okay, this kind of like watching “America’s Most One Sided Fist Fights”, but I was diddling around with Cspeak, which is a speech synthesizer that is just 150 lines of code long, and thought I’d try to see just what quality it was capable of.
Well, it’s (not surprisingly) pretty hard to understand most of the time. Try this out:
Pretty hard to grok. It’s not just that the consonants are poorly represented, it’s got all sorts of oddly confusing changes in prosody and pitch which make the sentences really difficult to track. Did you figure out what work of fiction this was from?
Yesterday’s surfing churned a couple of interesting links on the subject of speech synthesis and computer singing. I wasn’t really explicitly looking for this stuff, and can’t reconstruct what led me here, but I thought I’d archive this here. The first is a link to a formant based speech synthesizer in just 150 lines of code. The quality is, well, not amazing, but the code is simple enough to follow, and enabled me to gain a grasp of formant synthesis, at least, with a little explanation from Tom.
Both of these synthesizers have difficulty doing consonants in an intelligible way, but it is fascinating that such a simple technique can approach legible speech at all. Bookmarked for future tinkering.