All Projects → adafruit → Adafruit_MP3

adafruit / Adafruit_MP3

Licence: other
mp3 decoding on arduino

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to Adafruit MP3

Adafruit TLC59711
Arduino library for TLC59711
Stars: ✭ 20 (-31.03%)
Mutual labels:  arduino-library
SparkFun ATECCX08a Arduino Library
An Arduino library to use with the Microchip ATECCX08a Cryptographic Co-processors.
Stars: ✭ 26 (-10.34%)
Mutual labels:  arduino-library
Adafruit-SSD1331-OLED-Driver-Library-for-Arduino
For 0.96" OLEDs in the Adafruit shop
Stars: ✭ 94 (+224.14%)
Mutual labels:  arduino-library
Adafruit MCP3008
MCP3008 8-Channel 10-Bit ADC
Stars: ✭ 22 (-24.14%)
Mutual labels:  arduino-library
SimpleStepper
A bare minimum but really fast and simple stepper library for Arduino.
Stars: ✭ 21 (-27.59%)
Mutual labels:  arduino-library
ATM90E32
Updated version of the ATM90E32 Arduino library
Stars: ✭ 22 (-24.14%)
Mutual labels:  arduino-library
Basecamp
An Arduino library to ease the use of the ESP32 in IoT projects
Stars: ✭ 251 (+765.52%)
Mutual labels:  arduino-library
SoftWire
Software I2C implementation for Arduino and other Wiring-type environments
Stars: ✭ 105 (+262.07%)
Mutual labels:  arduino-library
DFPlayerMini Fast
Fast and easy to understand Arduino library to use the DFPlayer Mini MP3 module from DFRobot.com. This is a huge improvement (both in terms of execution speed and simplicity) to the standard library provided by DFRobot.com.
Stars: ✭ 164 (+465.52%)
Mutual labels:  arduino-library
FastX9CXXX
Arduino library for digital potentiometers X9C102, X9C103, X9C104 and X9C504
Stars: ✭ 36 (+24.14%)
Mutual labels:  arduino-library
G-Code-Arduino-Library
Allows any machines and robots to be controlled by G-Code
Stars: ✭ 44 (+51.72%)
Mutual labels:  arduino-library
ardusamber
Desamber time Arduino corporealization
Stars: ✭ 20 (-31.03%)
Mutual labels:  arduino-library
Syslog
An Arduino library for logging to Syslog server in IETF format (RFC 5424) and BSD format (RFC 3164)
Stars: ✭ 105 (+262.07%)
Mutual labels:  arduino-library
ESP-CoAP
This repo contains CoAP protocol for ESP-12E
Stars: ✭ 70 (+141.38%)
Mutual labels:  arduino-library
TLV493D-A1B6-3DMagnetic-Sensor
Library for the TLV493D-A1B6 3D magnetic sensor for Arduino.
Stars: ✭ 27 (-6.9%)
Mutual labels:  arduino-library
arduino-id-guard
Tiny library to avoid deploying your sketch to wrong device.
Stars: ✭ 21 (-27.59%)
Mutual labels:  arduino-library
arduino-capacitor
Capacitance measurement library for Arduino
Stars: ✭ 19 (-34.48%)
Mutual labels:  arduino-library
Adafruit SI1145 Library
Arduino library for the SI1145 sensors in the Adafruit shop
Stars: ✭ 20 (-31.03%)
Mutual labels:  arduino-library
ESP32Time
An Arduino library for setting and retrieving internal RTC time on ESP32 boards
Stars: ✭ 120 (+313.79%)
Mutual labels:  arduino-library
PsxNewLib
Playstation controller interface library for Arduino
Stars: ✭ 81 (+179.31%)
Mutual labels:  arduino-library

Adafruit_MP3 Build Status

This library sets up and performs native MP3 audio decoding on various Arduino-compatible platforms including Metro/Feather M4 (SAMD51 chip), teensy 3.6, teensy 3.2, and teensy 3.1. Audio output via the DAC pins. Uses Helix as underlying decoding. On the SAMD51 boards, TC2 is used to create the sample timer (usually 44.1khz or 48khz). Uses a decent chunk of RAM at this time!

UPDATE 6 October 2018

  • Fixed issues with Teensy support - The code NVIC_DisableIRQ(MP3_IRQn); applies only to the feather and metro m4 but was applied to all boards which resulted in MP3_IRQn being undefined. (Adafruit_MP3.cpp)
  • Added support for Teensy 3.5 - Added defined(__MK64FX512__) wherever defined(__MK66FX1M0__) was found
  • Added/modified comments on compiler directives for Teensy boards
  • Included test.mp3 sample file (58.3 KB)
  • Fix applied to library and the "play_from_SD.ino" example only. (Other examples may have the same errors so use the above notes to fix other examples if needed.)

This release was tested with the Teensy 3.5 only. It is expected that it will work with all other supported boards. (At least as supported as the previous version.)

Some notes regarding audio file format

The tutorial posted on https://learn.adafruit.com/native-mp3-decoding-on-arduino states:

This function is called from an interrupt, so it should be short and sweet. It's getting called 44,100 to 48,000 times per second for most MP3 files.

This means that the MP3 files should be encoded within this range. The code is written for stereo MP3 files so if you have a mono MP3 file, it will not play back using this code as is.

Best practice for producing playable MP3 files

  • Encode at constant 40kbps with a sample rate of 44,100 kHz
  • Stereo only

Resources for encoding audio

Other notes

  • SD Cards (at least on Teensy 3.5 & 3.6 need to be formatted with FAT32 file system. If a small card is used with FAT formatting, it will not work.
  • If you receive errors with Teensy 3.5 & 3.6 code regarding the parameters for SD card initialization, look for warnings regarding the SD library. Most likely you have multiple libraries installed and the Teensy SD library is being skipped/ignored. If this is the case, you will need to move or remove the one being used, at least temporarily, so that the Teensy library is used by the Arduino IDE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].