Audio On Pi: Here Are Your Options

There are a ton of fun Raspberry Pi and Linux projects that require audio output – music players, talking robots, game consoles and arcades, intelligent assistants, mesh network walkie-talkies, and much more! There’s no shortage of Pi-based iPods out there, and my humble opinion is that we still could use more of them.

To help you in figuring out your projects, let’s talk about all the ways you can use to get audio out of a Pi or a similar SBC. Not all of them are immediately obvious and you ought to know the ropes before you implement one of them and get unpleasantly surprised by a problem you didn’t foresee. I can count at least five ways, and they don’t even include a GPIO-connected buzzer!

Let’s rank the different audio output methods, zoning in on things like their power consumption, and sort them by ease of implementation, and we’ll talk a bit about audio input options while we’re at it.

Continue reading “Audio On Pi: Here Are Your Options”

Hands On With Boondock Echo

Perhaps no words fill me with more dread than, “I hear there’s something going around.” In my experience, you hear this when some nasty bug has worked its way into the community and people start getting whatever it is. I’m always on my guard when I hear about something like this, especially when it’s something really unpleasant like norovirus. Forewarned is forearmed, after all.

Since I work from home and rarely get out, one of the principal ways I keep apprised of what’s going on with public health in my community is by listening to my scanner radio. I have the local fire rescue frequencies programmed in, and if “there’s something going around,” I usually find out about it there first; after a half-dozen or so calls for people complaining of nausea and vomiting, you get the idea it’s best to hunker down for a while.

I manage to stay reasonably well-informed in this way, but it’s not like I can listen to my scanner every minute of the day. That’s why I was really excited when my friend Mark Hughes started a project he called Boondock Echo, which aims to change the two-way radio communications user experience by enabling internet-backed recording and playback. It sounded like the perfect system for me — something that would let my scanner work for me, instead of the other way around. And so when Mark asked me to participate in the beta test, I jumped at the chance.

Continue reading “Hands On With Boondock Echo”

Explore FFmpeg From The Comfort Of Your Browser

If you’re looking to manipulate video, FFmpeg is one of the most powerful tools out there. But with this power comes a considerable degree of complexity, and a learning curve that looks suspiciously like a brick wall. To try and make this incredible tool a bit less obtuse, [Sam Lavigne] has developed a web interface that lets you play around with FFmpeg’s vast collection of audio and video filters.

To try out a filter, you just need to select one from the window on the left and it will pop up in the central workspace. Here, the input, output, and any enabled filters will show up as boxes that can be virtually “wired” together. Selecting a filter will populate its options on the right hand side, with sliders and input boxes that allow you to play around with their parameters. When you want to see the final result, just click “Render Preview” and wait a bit.

If there was any downside, it seems like whatever box the site is running on the overhead of running in the browser doesn’t provide it a lot of horsepower. Even with the relatively low resolution of the demo videos available, the console output at the top of the page shows FFmpeg sometimes flirts with a processing speed measured in single-digit frames per second. Still, for a filter playground, it gets the job done. Perhaps the best part of the whole tool is that you can then copy your properly formatted command right out of the browser window and into your terminal so you can put it to work on your local files.

FFmpeg is one of those programs you should really be familiar with because it often proves useful in unexpected ways. The ability to manipulate audio and video with just a few keystrokes can really come in handy, and we’ve seen this open-source tool used for everything from compressing podcasts onto floppy disks to overlaying real-time environmental data onto a video stream.

Break Free From Proprietary Digital Radio

Digital modes are all the rage these days in amateur radio — hams are using protocols like WSPR to check propagation patterns, FT8 to get quick contacts on many bands with relatively low power, and MSK144 to quickly bounce a signal off of a meteor. There’s also digital voice, which has a number of perks over analog including improved audio quality. However, the major downside of most digital voice modes, at least those in use on UHF and VHF, is that they are proprietary with various radio brands having competing digital standards. To get above the noise a more open standard can be used instead.

The M17 standard, originally created by [Wojciech Kaczmarski] aka [SP5WWP], uses Codec 2 to convert voice into a digital format before it is broadcast over the air. Codec 2 is an open standard unlike other audio codecs. M17 also supports reflectors, which can link individual radios or entire repeaters together over the Internet. While you can make purpose-built modules that will interface with most standard radio inputs, it’s also possible to modify existing hardware to support this standard as well. The video below from [Tech Minds] shows this being done to a radio with only a few hardware modifications and the installation of a new firmware.

For anyone who has been frustrated that there’s no real universal standard for digital voice in VHF and above, M17 could be a game-changer if enough people get tired of their friends being on other proprietary digital systems. There’s plenty of supported hardware out there that most hams probably already have already, including a number of TNC devices like the Mobilinkd and the DigiRig, so it shouldn’t be too hard to get started. If you’re more into networking over radio, though, take a look at this method for sending high-bandwidth IP networking over the UHF band. Continue reading “Break Free From Proprietary Digital Radio”

picture of finished mp3 player that uses a cartridge to select songs

An MP3 Player That Gives Off Nintendo Vibez

We’re definitely pretty fond of the DIY MP3 players here at Hackaday, but we don’t think we’ve seen one like CartridgeMP3 from [jpet26] before.

All the electrical components are what we’ve come to expect. [jpet26] uses the popular VS1053 decoder to read MP3 files stored on an SD card. He also includes a potentiometer for adjusting volume, a USB C port for power and programming, a headphone jack for the audio output, a general-purpose status LED, and an on/off switch.

But what really caught our attention is the form factor [jpet26] selected for his MP3 player. Though the MP3 files are stored on an SD card, he uses a cartridge interface, similar to that of a Nintendo 64 or Game Boy of yesteryear, to choose which MP3 to play from the SD card. The cartridge interface is tied to a few GPIO pins and by reading the status of each pin, the device determines which MP3 to select.

You could say that the cartridge is a little unnecessary, and we wouldn’t argue with you. The cartridge doesn’t actually store the MP3 files, the SD card does. It might make a bit more sense if the cartridge housed the SD card itself with a few select MP3s stored on the card. That would be a quirky way of sharing your favorite playlists with your friends. So, yeah some clumsy handshaking there, but who isn’t guilty of that from time to time? We like it and thought you might appreciate it as well.

Cool MP3 player, [jpet26]! May we suggest a speaker for V2? And maybe some flex cables.

Continue reading “An MP3 Player That Gives Off Nintendo Vibez”

Faux Walkie-Talkie For Comedy Walking Tour Is A Rapid Prototyping Win

Chances are good that a fair number of us have been roped into “one of those” projects before. You know the type: vague specs, limited budget, and of course they need it yesterday. But you know 3D-printers and Raspberduinos and whatnot; surely you can wizard something together quickly. Pretty please?

He might not have been quite that constrained, but when [Sean Hodgins] got tapped to help a friend out with an unusual project, rapid prototyping skills helped him create this GPS-enabled faux-walkie talkie audio player. It’s an unusual device with an unusual purpose: a comedic walking tour of Vancouver “haunted houses” where his friend’s funny ghost stories are prompted by location. The hardware to support this is based around [Sean]’s useful HCC module, an Arduino-compatible development board. With a GPS module for localization and a VS1053 codec, SD card reader, and a small power amp for the audio end, the device can recognize when the user is within 50 meters of a location and play the right audio clip. The housing is a 3D-printed replica of an old toy walkie-talkie, complete with non-functional rubber ducky antenna.

[Sean]’s build looks great and does the job, although we don’t get to hear any of the funny stuff in the video below; guess we’ll have to head up to BC for that. That it only took two weeks start to finish is impressive, but watch out – once they know you’re a wizard, they’ll keep coming back. Continue reading “Faux Walkie-Talkie For Comedy Walking Tour Is A Rapid Prototyping Win”

Voice At 700 Bits Per Second

All other things being equal, signals with wider bandwidth can carry more information. Sometimes that information is data, but sometimes it is frequency. AM radio stations (traditionally) used about 30 kHz of bandwidth, while FM stations consume nearly 200 kHz. Analog video signals used to take up even more space. However, your brain is a great signal processor. To understand speech, you don’t need very high fidelity reproduction.

Radio operators have made use of that fact for years. Traditional shortwave broadcasts eat up about 10kHz of bandwidth, but by stripping off the carrier and one sideband, you can squeeze the voice into about 3 kHz and it still is intelligible. Typical voice codecs (that is, something that converts speech to digital data and back) use anywhere from about 6 kbps to 64 kbps.

[David Rowe] wants to change that. He’s working on a codec for ham radio use that can compress voice to 700 bits per second. He is trying to keep the sound quality similar to his existing 1,300 bit per second codec and you can hear sound samples from both in his post. You’ll notice the voices sound almost like old-fashioned speech synthesis, but it is intelligible.

Continue reading “Voice At 700 Bits Per Second”