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.

#digitalaudiohacks #audio #codec #mp3 #nintendo #synthesizer #vs1053

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 w…

Hackaday

The Complete Lo-Fi Planets

Inspired by the legendary Tomita, the Lo-Fi Orchestra presentation of Gustav Holst’s Planets Suite is now complete.

The original Lo-Fi Orchestra project started off as an attempt to bring a range of my “Simple DIY Electronic Music Projects” together to “perform” a single piece.  After a number of initial performances, I decided to take the full orchestral score for Gustav Holst’s Planets Suite and started recreating it note by note to tailor Mars to work on my growing Arduino orchestra.

This was back in December 2020. Over the next nine months, there have been numerous additional performances of the Lo-Fi Orchestra, including further movements from the Planets.  The final piece – Neptune – was completed in September 2021.

This project does not describe a recipe to allow you to recreate this work, but all the elements of this project are described on this site.  I could have built up “better” versions for the Lo-Fi Orchestra, but one of my design goals was to attempt to keep the “home made” possibility for each individual component.  You will hear additional clicks and pops due to poor grounding, 8-bit clipping, MIDI overloading, unshielded mixing of digital MIDI signals and audio output, and so on in many of these performances.  But if you want a hi-fi studio version you should play a MIDI file through a modern synthesizer or better yet go and hear a real orchestra perform.  There is really nothing quite like it.

But if you want to put together a performance in your kitchen, with cheap or low-cost components, and learn about the basics of sound synthesis at the same time, without worrying too much about the sound quality, then all details are available here.

There are 11 Arduino Nanos, 6 Arduino Unos, 1 Arduino Pro Mini, 1 Adafruit Feather 32u4, and a Raspberry Pi using the following projects from this site:

With a supporting cast of:

It was orchestrated using MuseScore3, exported to MIDI and “mucked about with” in MidiEditor, tested using MIDIOx and finally “conducted” by MIDIBar.

This has been programmed in from scratch from the original orchestral score and the composer’s own arrangement for two pianos.

You can watch the entire thing complete using the links below and the full performance can be found in this YouTube playlist: https://youtube.com/playlist?list=PLzYOzhIctkyVG9uuwu_MiYDFx1rvP8Y_L

All music rights and copyright with original authors, composers, producers, artists, and so on.

Kevin

 

#arduino #feather #holst #loFiClassical #mozzi #mt32Pi #pwm #r2r #thePlanets #tone #vs1053

Introducing the Arduino Lo-Fi Orchestra!

I’ve been wanting to do something that combined a number of these projects for a while, so in celebration of reaching (and now surpassing) 50 project posts (update: now over 100 – I cel…

Simple DIY Electronic Music Projects

Arduino MIDI VS1003 or VS1053 Synth

This is a minor update to my Arduino MIDI VS1003 Synth and Arduino MIDI VS1053 Synth projects.  I mentioned that as part of the VS1003 support the code should be configurable for either the VS1003 or VS1053 modules, but at the time the VS1053 support was untested,

It is now tested!  Read on for details.

Update: Also see Arduino VS1053 General MIDI Synth.

Warning! I strongly recommend using an old or second hand keyboard for your MIDI experiments.  I am not responsible for any damage to expensive instruments!

These are the key Arduino tutorials for the main concepts used in this project:

If you are new to Arduino, see the Getting Started pages.

I would still strongly recommend that if you want a simpler solution to having a MIDI/MP3 module for use with your Arduino, use one of the Adafruit or Sparkfun shields for the quickest “out of the box” experience.

Parts list

  • Arduino Uno
  • VS1003 or VS1053 based breakout board
  • MIDI receive circuit (see Arduino MIDI Interfaces)
  • Breadboard and jumper wires

The Circuit

Refer to the previous tutorials, using the appropriate one for the module of your choice.

Add a MIDI receive circuit as appropriate to the Arduino’s RX input.

The Code

This code is an update over the original VS1053 code for several reasons:

  • First, as already mentioned, it will now support either VS1003 or VS1053 modules.
  • It uses a more complete “patch” from VLSI for the VS1053 that makes the serial port buffer larger and correctly ignores MIDI SysEx messages.  The previous code used just enabled MIDI, it didn’t update the built-in MIDI functionality at all.
  • This has more configuration options for use with analog inputs.

This is now the recommended code to use for either the VS1003 or the VS1053 modules.

Find it on GitHub here.

Closing Thoughts

It is nice and neat to have the same piece of code now supporting both modules.  I might get on to building some kind of “stand alone” MIDI GM module now.  It would be really useful as a portable solution for further experiments with MIDI controllers.

Kevin

 

#midi #vs1003 #vs1053

Arduino MIDI VS1003 Synth

After having some fun with my Arduino MIDI VS1053 Synth I wanted a few more synth modules to play with and found some cheap ones online.  But when they turned up, it turns out they are not VS1053 b…

Simple DIY Electronic Music Projects