120 Second Shower Cap

Do you have a couple of minutes? Literally and precisely, two minutes. That’s how long these ten songs play. So what? A short song is not new, but these ten songs are part of a campaign to encourage residents of Cape Town, South Africa to cap their showers at one-hundred-twenty seconds. Some of us do not have to worry about droughts or water bills, but most of us are concerned about one or both of those, and this ingenious campaign alerted people to the problem, gave them the means to time themselves, and made it pleasant, not oppressive. The songs are freely available, and one might even pique your listening tastes from the biggest stars in South Africa.

So, where is the hack? Some of us have experimented with egg timers on the towel rack, timers on the showerhead, servos on the faucet knobs, or occupancy sensors, but those are strong-arm techniques or only for measuring, not regulating water use. These songs attack the most viable vector, the showerer. Or is it showeree? Telling people there is a drought is one thing, but giving them the ability to regulate themselves in such a way that they comply is a hacker’s approach. The songs on the site do not autoplay so there will be no hanging out under the water spray to find the best song. Which is your favorite?

Ask Hackaday Answered: The Tale Of The Top-Octave Generator

We got a question from [DC Darsen], who apparently has a broken electronic organ from the mid-70s that needs a new top-octave generator. A top-octave generator is essentially an IC with twelve or thirteen logic counters or dividers on-board that produces an octave’s worth of notes for the cheesy organ in question, and then a string of divide-by-two logic counters divide these down to cover the rest of the keyboard. With the sound board making every pitch all the time, the keyboard is just a simple set of switches that let the sound through or not. Easy-peasy, as long as you have a working TOG.

I bravely, and/or naïvely, said that I could whip one up on an AVR-based Arduino, tried, and failed. The timing requirements were just too tight for the obvious approach, so I turned it over to the Hackaday community because I had this nagging feeling that surely someone could rise to the challenge.

The community delivered! Or, particularly, [Ag Primatic]. With a clever approach to the problem, some assembly language programming, and an optional Arduino crystalectomy, [AP]’s solution is rock-solid and glitch-free, and you could build one right now if you wanted to. We expect a proliferation of cheesy synth sounds will result. This is some tight code. Hat tip!

Squeezing Cycles Out of a Microcontroller

Let’s take a look at [AP]’s code. The approach that [AP] used is tremendously useful whenever you have a microcontroller that has to do many things at once, on a rigid schedule, and there’s not enough CPU time between the smallest time increments to do much. Maybe you’d like to control twelve servo motors with no glitching? Or drive many LEDs with binary code modulation instead of primitive pulse-width modulation? Then you’re going to want to read on.

There are two additional tricks that [AP] uses: one to fake cycles with a non-integer number of counts, and one to make the AVR’s ISR timing absolutely jitter-free. Finally, [Ag] ended up writing everything in AVR assembly language to make the timing work out, but was nice enough to also include a C listing. So if you’d like to get your feet wet with assembly, this is a good start.

In short, if you’re doing anything with hard timing requirements on limited microcontroller resources, especially an AVR, read on!

Continue reading “Ask Hackaday Answered: The Tale Of The Top-Octave Generator”

OTTO: A Pi Based Open Source Music Production Box

Want an open source portable synth workstation that won’t break the bank? Check out OTTO. [Topisani] started OTTO as a clone of the well-known Teenage Engineering OP-1. However, soon [Topisani] decided to branch away from simply cloning the OP-1 — instead, they’re taking a lot of inspiration from it in terms of form factor, but the UI will eventually be quite different.

On the hardware side, the heart of the OTTO is a Raspberry Pi 3. The all-important audio interface is a Fe-Pi Audio Z V2, though a USB interface can be used. The 48 switches and four rotary encoders are wrangled by a pair of Arduino pro micros which pass the data on to the Pi. Data is related to the user through a 320×200 LCD.

The software is being written from scratch in C++17. If you’re not a hardcore C++ developer, don’t worry. The synth engines, audio effects, and other DSP software is written in Faust, which is a bit easier to learn.

OTTO is actively being developed, with synth engines already running, a prototype in progress, and fleshed out guidelines for programming the UI. If you’re into creating music, this one is worth checking out, as is Zynthian, another Raspberry Pi based synth.

Universal music translation network

Facebook’s Universal Music Translator

Star Trek has its universal language translator and now researchers from Facebook Artificial Intelligence Research (FAIR) has developed a universal music translator. Much of it is based on Google’s WaveNet, a version of which was also used in the recently announced Google Duplex AI.

Universal music translator architectureThe inspiration for it came from the human ability to hear music played by any instrument and to then be able to whistle or hum it, thereby translating it from one instrument to another. This is something computers have had trouble doing well, until now. The researchers fed their translator a string quartet playing Haydn and had it translate the music to a chorus and orchestra singing and playing in the style of Bach. They’ve even fed it someone whistling the theme from Indiana Jones and had it translate the tune to a symphony in the style of Mozart.

Shown here is the architecture of their network. Note that all the different music is fed into the same encoder network but each instrument which that music can be translated into has its own decoder network. It was implemented in PyTorch and trained using eight Tesla V100 GPUs over a total of six days. Efforts were made during training to ensure that the encoder extracted high-level semantic features from the music fed into it rather than just memorizing the music. More details can be found in their paper.

So if you want to hear how an electric guitar played in the style of Metallica might have been translated to the piano by Beethoven then listen to the samples in the video below.

Continue reading “Facebook’s Universal Music Translator”

Bike Helmet Plays Music Via Tiny Motors For Bone Conduction

[Matlek] had an interesting problem. On one hand, a 40 minute bike commute without music is a dull event but in France it is illegal for any driver to wear headphones. What to do? Wanting neither to break the law nor accept the risk of blocking out surrounding sounds by wearing headphones anyway, and unwilling to create noise pollution for others with a speaker system, [Matlek] decided to improvise a custom attachment for a bike helmet that plays audio via bone conduction. We’ll admit that our first thought was a worrisome idea of sandwiching metal surface transducers between a helmet and one’s skull (and being one crash away from the helmet embedding said transducers…) but happily [Matlek]’s creation is nothing of the sort.

A 3D printed rack and pinon provides adjustability and stable contact with the “sweet spot” behind each ear.

The bone conduction is cleverly achieved by driving small DC motors with an audio signal through a TPA2012 based audio amplifier, which is powered by a single 18650 cell. By using motors in place of speakers, and using a 3D printed enclosure to hold the motors up to a sweet spot just behind the ears, it’s possible to play music that only the wearer can hear and does not block environmental sounds.

[Matlek] didn’t just throw this together, either. This design was the result of researching bone conduction audio, gathering a variety of different components to use as transducers, testing which performed best, and testing different locations on the body. Just behind the ear was the sweet spot, with the bony area having good accessibility to a helmet-mounted solution. Amusingly, due to the contact between the motors and the rest of the hardware, the helmet itself acts as a large (but weak) speaker and faint music is audible from close range. [Matlek] plans to isolate the motors from the rest of the assembly to prevent this.

Another good way to get audio to transmit via bone conduction? Send it through the teeth. While maybe not the best option for a bike rider, biting down on this metal rod sends audio straight to your inner ear.

Muscle Your Way Into Music

Inspired by an old Old Spice commercial, [Juliodb96] decided he too wanted to make music by flexing his muscles. An Arduino and a MyoWare sensor did the trick. However, he also tells you how to make your own sensors, if you are so inclined. You can see the instrument in action in the video below.

If you use the ready-made MyoWare sensors, this is a pretty easy project. You just respond to sensor input by playing some notes. If you decide to roll your own, you’ll have some circuit building ahead of you.

In particular, the signal conditioning for the sensors involves filtering to eliminate signals not in the 20 Hz to 300 Hz passband, several amplifiers, a rectifier, and a clipper. This requires 3 IC packages and a handful of discrete components.

Unlike the original commercial (see the second video, below), there are no moving parts for actuating actual instruments. However, that wouldn’t be hard to add with some servo motors, air pumps, and the like. This may seem frivolous, but we had to wonder if it could be used to allow musical expression for people who could not otherwise play an instrument.

This isn’t the first time we’ve seen the MyoWare in action. We’ve even talked about signal processing that is useful for this kind of application.

Vintage Organ Donates Parts For Two New Instruments

It’s often hard to know what to do with a classic bit of electronics that’s taking up far too much of the living room for its own good. But when the thing in question is an electronic organ from the 1970s, the answer couldn’t be clearer: dissect it for its good parts and create two new instruments with them.

Judging by [Charlie Williams]’ blog posts on his Viscount Project, he’s been at this since at least 2014. The offending organ, from which the project gets its name, is a Viscount Bahia from the 1970s that had seen better days, apparently none of which included a good dusting. With careful disassembly and documentation, [Charlie] took the organ to bits. The first instrument to come from this was based on the foot pedals. A Teensy and a custom wood case turned it into a custom MIDI controller; hear it in action below. The beats controller from the organ’s keyboard was used for the second instrument. This one appears far more complex, not only for the beautiful, hand-held wooden case he built for it, but because he reused most of the original circuitry. A modern tube amp was added to produce a little distortion and stereo output from the original mono source, with the tip of the tube just peeking above the surface of the instrument. We wish there were a demo video of this one, but we’ll settle for gazing at the craftsmanship.

In a strange bit of timing, [Elliot Williams] (no relation, we assume) just posted an Ask Hackaday piece looking for help with a replacement top-octave generator for another 1970s organ. It’s got a good description of how these organs worked, if you’re in the mood to learn a little more.

Continue reading “Vintage Organ Donates Parts For Two New Instruments”