[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 580: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 636: sizeof(): Parameter must be an array or an object that implements Countable
DFR0534 Voice Module question? - Arduino Robot IOT Community Forum - DFRobot
By eric
#28056
Hello,
first an happy new year!

have bought some voice module and experimenting with an Espruino in js.
after some try/fail, i'm able to send command and receive response (answers)
but i've got some questions about the product that is not clear in the wiki.
  • 1- The 0x12 (Command: AA 12 00 BB) and 0x0c (Command: AA 0C 00 B6) commands return nothing!.. and i do not understand the difference between the two commands!
    Check the total numbers of audio in all folders(12)
    Check the total audios(0C)
  • 2- Is the Combination Play(1B) are a sort of playlist/queuelist?
  • 3- Can we add elements to playlist before the end of play or have to wait the end (busy off) to resend combination?
  • 4- this is not really clear in the wiki... how to have more than 99 audio file in the root folder if the way to name file must be xx.mp3? when the audio can be till 65535 (2bytes encoding name)?
  • 5- and other question about "Check the current online drive.(09)" is suppose to respond a number:
    Explanation: The online drive is differentiated by bitwise usb:bit (0) sd:bit (1) flash:bit (2)
    but i reveived a 4!!! what for? is it usefull?
thanks
By eric
#28057
in the example done, it use PlayTrack() it play the nth file in the current folder! so...

how to select a file name?
There is a command....
Play the audio in specified drive of specified path.(08)
Command: AA 08 length drive path SM
Return: None
Explanation: length= drive length + path length=1+ path length
Hum what is drive length? what is path length? Have you an example?

thks
By eric
#28058
Well i do not understand the combination command
E.g. AA1B04303130328C, audios with file names of 01 and 02 are grouped together to play
AA 1B 04 30 31 30 32 8C?
where is my first file 01 in this mess?
how do you count the name? :cry:
By eric
#28060
ok i've found! for combination play
AA 1B = command
04 = nb of byte send
30 31 = hex value for Ascii "01"
30 32 = hex value for Ascii "02"
8C = checksum
By jeune
#28205
I am interested in DFR0534 to adopt to my project, and have a question.
Is Command:"Set the loop mode(18)" loop playback the specified single sound file without any sound gap(silence)
at loop point (means the end to the start of sound file )?
As a premise, I will prepare the sound file is edited WAV file so that the end is connected to the beginning of the sound smoothly.
By kosgex
#28949
This new Gravity MP3 voice module produced by DFRobot can solve these problems. This module can store 8MB audio files, which means it can store more than 200 audios for your choice, support MP3, and WAV formats vivavideo.
By JoeCornish981
#29193
DFRobot Gravity compatible MP3 module for playback of sampled MP3 audio files from 8 kHz to 48 kHz on 8 MB of storage space. This MP3 player supports up to 30 volume levels. The speaker is connected to this module via a JST connector.
By Editor
#29609
eric wrote:
Wed Jan 02, 2019 1:44 pm
in the example done, it use PlayTrack() it play the nth file in the current folder! so...

how to select a file name?
There is a command....
Play the audio in specified drive of specified path.(08)
Command: AA 08 length drive path SM
Return: None
Explanation: length= drive length + path length=1+ path length
Hum what is drive length? what is path length? Have you an example?

thks
Hello.

Recently faced the same problem. After long torture came to such a code (ARDUINO):
Code: Select all
  // Воспроизвести указанную композицию;
  // 
  void XY_V17B::SPECPATH(uint8_t drive, String path)
  {
    uint8_t len = path.length();
    
    uint8_t _temp[len + 5] = {0xAA, 0x08, len + 1, drive};

    for(uint8_t i = 0; i < len; i++)
    {
      _temp[i + 4] = path.charAt(i);
    }
    
    _temp[len + 5 - 1] = GetSum(_temp, 0, len + 5 - 1);
    Write(_temp, len + 5);
  }

// Получает сумму байт в массиве;
  uint8_t XY_V17B::GetSum(uint8_t data[], uint8_t first, uint8_t last)
  {
    uint8_t result = 0;
    for(int i = first; i <= last; i++) { result = result + data[i]; }
    return result;
  }
USING:
SPECPATH(00,"/02.mp3");
00 - USB DRIVE
/02.mp3 - Path
->> /02*???
Attention slash like that! The file 02.mp3 was in the root of the flash drive.