3 Sound

Cette solution comporte un module Dfplayer, avec une carte SD pour les sons et un amplificateur.
Le tout est commandé par une liaison serie (uart) fournie par le microprocesseur UI.
La dictée de nombres a été écrite en python sur base des programmes C++ de V5.

Format sd card

Formater obligatoirement avec https://www.sdcard.org/downloads/
Ceci est la version linux:
https://www.sdcard.org/downloads/sd-memory-card-formatter-for-linux/
Utilisation par mon laptop:

  • download dans /mnt/data/Software/C_Soft_Lin/SD_Format
  • sudo ./format_sd -l SND /dev/mmcblk0
  • créer un folder 01
  • réalisé le 8/3/2024 sur la carte '1', Fat32

Générer les sons

la procédure 2_wav_robert utilise le programme pico2wave pour transformer une liste de textes en fichier .WAV, avec le programme sox pour ajuster les fins de fichier.
Ces programmes sont spécifiques à linux.
On peut également utiliser un programme tel que Audacity pour dicter chaque message.

J'ai un folder 'SND_special' avec des bruits spéciaux.

Il faut créer ou vider le folder 'SND', y ajouter les bruits spéciaux puis utiliser 2_wav_robert pour créer tous les sons.
selon audacity : freq = 16khz mono

Fichier index

Utiliser le programme df_load.py pour écrire un à un chaque fichier sur la carte SD. Ce programme crée un dictionnaire qu'il écrit dans le folder de développement (defindex.json).

key = 'nom du fichier'
contenu=

  • numéro de suite en 4 chiffres => nom de fichier xxxx.wav
  • id folder( supports up to 100 folders, every folder can hold up to 255 songs) attention , ce programme ne vérifie pas encore la limite de 255 fichiers par folder
  • texte qui a été fourni à pico2wave ajouter cette information et sans doute modiifer la procédure 2_wav

Dictée

Message

Un message est une liste dont les éléments sont

  • un string est une clé du fichier index, qui fournit le numéro de fichier pour Dfplayer
  • un nombre 'float'
  • un string qui commence par une astérisque modifie la définition du format des nombres qui suivent. Par défaut le format est sans décimales

Base software

Dfplayer : https://github.com/ShrimpingIt/micropython-dfplayer/blob/master/dfplayer.py
Conversion nombre-> str :
convertir V5 ..core/sound.cpp et sound_fr.cpp ,voir RCCL_N2W

Base Hardware

dfrobot.png pins
Le processeur UI est un microprocesseur pico.
La liaison serial avec le processeur de calcul utilise UART0.
La liaison avec Dfrobot utilise UART1 :

  • Tx du pico(GP4)reliée à pin Rx du Dfplayer
  • GP2 relié à la pin 'busy'
  • VSYS (pico) relié à VCC, ou VBUS pour le test
  • GND (pico) relié aux 2 GND du Dfplayer
  • HP relié entre SPK1 et SPK2
  • une oreillette reliée entre DAC1 et GND

Dictée des nombres

conversion de V5 sound et sound_fr
La division entière existe en python avec // 1000//3 => 333