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”

Decoding MP3 In Python

We all listen to them, but do you know how the compression for an MP3 file actually works? [Portalfire] wanted to find out, while honing his Python skills at the same time. He’s been working on an MP3 decoder in the Python language. So far he’s had some success, with the first working decoder clocking in at just 34 times slower than real-time. But since then a bit of optimization improved that to 10 times slower.

Sure, it’s not a usable module yet but his goal of learning the algorithms has been reached. A combination of reading about the standard and looking at code from other projects made that possible. In the future he plans to try the same thing with the H.264 codec.