J'ai déjà réalisé de petits projets. Actuellement, je souhaite réaliser un système qui joue des fichiers sons à une heure donnée.
Pour cela, j'ai ajouté à ma carte Léonardo une RTC, un lecteur de carte SD, un récepteur DCF77.
J'ai encore quelques soucis avec le récepteur DCF77 (mais ce n'est pas le plus urgent)
Mes premiers tests avec la RTC sont positifs.
La lecture de fichiers sur la carte SD fonctionne parfaitement.
Par contre, pour la lecture d'un fichier wave avec la librairie TMRpcm, je rencontre quelques soucis.
Le fichier son se lit, mais la qualité est très mauvaise. En plus, j'ai des bruits qui apparaissent aléatoirement sur le wave en lecture. Ces sons sont très dérangeant et à des moments différents à chaque fois.
J'ai pensé que mon hardware pouvait en être la cause, mais même l'ajout d'un filtre passe bas n'arrange rien. Et du coté logiciel, j'ai utilisé les exemples. Je me suis aussi penché sur le format du fichier wave.
Il respecte bien le format 8bits. J'ai essayé de 8kHz à 32kHz. Pas de changement.
Est-ce que quelqu'un a déjà utilisé cette librairie? (avec de bons résultats?)
Est-ce que quelqu'un a utilisé cette librairie sur une carte léonardo?
Une autre idée?
Si tu regardes sur le Wiki du projet de la librairie, il est expliqué que ces bruits peuvent être causés par des problèmes de buffer qui se retrouve vide common-issues.
Popping or clicking when music is playing
If pops or clicks are heard during playback, it is most likely that buffer underruns are occurring or the volume is just too high.
Ensure that #define SD_FULLSPEED is uncommented in pcmConfig.h. The value in #define buffSize 128 can be increased to provide additional memory for playback, which will reduce these issues. Audio can be encoded at a lower sample rate otherwise.
Ils suggèrent de vérifier que #define SD_FULLSPEED est décommenté dans pcmConfig.h et d'augmenter la valeur de buffsize ce qui limiterait ce problème.
Enfin, il ne faut pas se leurrer, l'arduino n'est pas fait pour ça. Si tu veux avoir une bonne qualité de restitution il serait préférable de passer par un shield MP3.
Je ne m'attend pas à avoir un son de grande qualité
Je sais bien qu'un ADC par PWM n'as pas la qualité d'un vrai ADC fait pour le son.
Les vidéos que l'on trouve sur le net par rapport à cette librairie semblent montrer une qualité tout à fait correcte pour une simple sonnerie. Un shield MP3 serait surement plus simple, mais un peu cher et un peu excessif pour une simple sonnerie, non? (Mais j'avoue que j'y pense)
J'ai déjà essayé d'augmenter le buffer à 254 sans aucun changement.
Ce qui me questionne, c'est que ces bruits sont tout autant présent quelque soit le "sample rate" du fichier wave. Je vais refaire un essai en "Fullspeed". J'avoue ne pas me souvenir avoir fait ce test, malgré tous ceux déjà fait. (Ma mémoire serait-elle défaillante )
J'ai finalement acheté un Arduino Uno cet après-midi et cela marche parfaitement.
Je savais qu'il y avait quelques différences entre la uno et la Léonardo, mais là je suis surpris.
Quoi qu'il en soit, avec la Uno mon projet va pouvoir avancer.