I modified the code to read 512 bytes and then feed 32 at a time. It appears to have no effect.
I have updated the code in github.
Changes are in line 313 of the ...VS1053.cpp file.
Dumps of readyForData() shows mostly that DREQ is high (ready), with the occasional low.
VS1053 MP3 play back slow and 'wobbly'
Re: VS1053 MP3 play back slow and 'wobbly'
When DREQ is high the vs1053 wants you to send more data. You need to be quicker.
Try a lower-bitrate file, perhaps mono.
Try a lower-bitrate file, perhaps mono.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook
Re: VS1053 MP3 play back slow and 'wobbly'
I had the same problem but it turned out I was trying to set SCI_CLOCKF to 0xC000 _before_ initializing SPI, so it didn't work and VS1053 did not have enough CPU cycles to decode even 128 kbps MP3 files. I'm posting this for posterity so that some other poor soul can google the symptoms and see that SCI_CLOCKF is _crucial_ 

Re: VS1053 MP3 play back slow and 'wobbly'
Yeah, there are a lot of subtle things that may be wrong.
In vs1053b any mono mp3 plays with 1.0x clock, so with a 12.288MHz crystal you can send the data to SDI (respecting DREQ) without any register setup and make sure you're not messing up SCI writes.
In vs1053b any mono mp3 plays with 1.0x clock, so with a 12.288MHz crystal you can send the data to SDI (respecting DREQ) without any register setup and make sure you're not messing up SCI writes.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook
Re: VS1053 MP3 play back slow and 'wobbly'
Try Different Code or library and try to change pins of the microcontroller,
I had same issue but somehow it resolved (still don't know what resolved)
in my problem the sound output of the vs1053 shield is like cutting/brassy/chopping (like removing some bits of the audio and then playing)
the problem occurred in internet radio and Esp32 Bluetooth audio player,
after I soldered wires again to ESP32 and VS1053 somehow problem solved.
you can try this code for testing your VS1053 IC
in which it used MP3 file from SDCARD and play audio in loop
change mp3 file name from your mp3 file name saved in SDCARD and don't save mp3 file in and folder.
this might help
there is also ESP32 as Bluetooth receiver made by paulgreg you can try that too for checking any hardware issues.
https://github.com/paulgreg/esp32-bluet ... io-generic
- Jay
I had same issue but somehow it resolved (still don't know what resolved)
in my problem the sound output of the vs1053 shield is like cutting/brassy/chopping (like removing some bits of the audio and then playing)
the problem occurred in internet radio and Esp32 Bluetooth audio player,
after I soldered wires again to ESP32 and VS1053 somehow problem solved.
you can try this code for testing your VS1053 IC
in which it used MP3 file from SDCARD and play audio in loop
change mp3 file name from your mp3 file name saved in SDCARD and don't save mp3 file in and folder.
Code: Select all
#include "FS.h"
#include "SD.h"
#include "SPI.h"
#include "VS1053.h"
// VS1053 -- ESP32 PinConnection
// MISO:D19 -- MOSI:D23 -- SCK:D18
#define VS1053_CS 5
#define VS1053_DCS 16
#define VS1053_DREQ 4
#define SDCARD_CS 22
const char *filename = "/YOUR MP3 FILE NAME IN SD CARD"; // song on sd card
VS1053 player(VS1053_CS, VS1053_DCS, VS1053_DREQ);
int volume = 80;
void playmp3() {
File mp3file;
const int BUFFSIZE = 64;
uint8_t mp3buff[BUFFSIZE];
uint8_t bytesread = 0;
Serial.println("Start playing mp3 file");
mp3file = SD.open(filename);
if (!mp3file){
Serial.println("File not found");
}
do {
if (mp3file) {
bytesread = mp3file.read(mp3buff, BUFFSIZE);
}
player.playChunk(mp3buff, bytesread);
} while (bytesread);
mp3file.close();
Serial.println("End mp3 file playback");
}
void setup() {
Serial.begin(115200);
delay(10);
Serial.println("");
Serial.println("Playing an mp3 file on an SD card");
if (!SD.begin(SDCARD_CS)) {
Serial.println("No SD card?");
return;
}
// initialisation of VS1053
player.begin();
player.switchToMp3Mode();
player.setVolume(volume);
}
void loop() {
playmp3();
}
there is also ESP32 as Bluetooth receiver made by paulgreg you can try that too for checking any hardware issues.
https://github.com/paulgreg/esp32-bluet ... io-generic
- Jay

Re: VS1053 MP3 play back slow and 'wobbly'
If it went away by just soldering, most probably it was xDCS or xTEST or the ground. But you get similar symptoms, if you don't handle respecting DREQ and operating chip selects (only change when the SPI is idle) correctly in the microcontroller code.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook