Loading...
Pages: [1]   Go Down
Author Topic: L'arduino et l'audio - Mystère  (Read 349 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour à tous, je suis nouveau sur le forum
et nouveau aussi dans le monde des microcontrolleurs.

Je cherche a réaliser un projet audio a base d'arduino.
Je veux piloter deux lecteurs sons pour pouvoir ensuite les mixer et les amplifier.
Je sais comment réaliser la section mixage et amplification.
Là ou je bute, c'est comment  lire du son, et comment le piloter par arduino.
Je me suis donc mis a la recherche de carte d'extensions pilotables par arduino

Un ami m'a très vite orienté vers ça
http://www.ladyada.net/make/waveshield/
Pas possible, la qualité n'est pas au rendez vous (12 bits, 22Khz), je cherche une qualité CD (16 bits/44,1Khz)

j'ai donc cherché des cartes d'extensions audio mais c'est un peu la misère :
Il y a du ADPCM (qualité horrible)
http://www.4dsystems.com.au/prod.php?id=73
Il y a la music shield de chez Seeed, mais les forums semblent indiquer que leur librairie est sérieusement buggée
http://www.seeedstudio.com/wiki/Music_Shield
Il y les déclinaisons des puces VLSI sur les cartes de chez Sparkfun,
mais le MP3 étant de la compression destructrice, j'aurais préféré du WAV
(OK en 320kbps, ça n'est pas si pire)
de plus les protocoles SPI sont trop compliqués pour mon niveau, par ex :
https://www.sparkfun.com/products/9943
Enfin chez rogue une carte qui a l'air prometteuse,mais apparemment pas parfaitement compatible avec l'IDE 1.0.
Et puis c'est cher !
http://www.roguerobotics.com/products/electronics/rmp3

Du coup je suis étonné.
Je pensais que lire du son était une opération simple,
mais tout ce que je trouve est soit cher soit trop complexe.
Ou alors je me plante complétement !

Piloter un moteur, un écran LCD, lire des capteurs, tout ça est super documenté sur arduino.
Mais lire du son... pas grand chose

Pourquoi ?
Quelqu'un a-t-il déja parcouru toutes ces questions ?
Y'a t'il du matériel que je n'aurai pas vu ?

La solution la plus simple et la moins chère (mais pas la plus  élégante) semble être ça:
http://www.instructables.com/id/MP3-Interface-for-Arduino-Cheap-and-Easy/

D'autres idées ?
« Last Edit: March 20, 2013, 01:57:27 am by jeremixogg » Logged

France
Offline Offline
Edison Member
*
Karma: 12
Posts: 1803
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

En fait le problème c'est que les capacités de l'arduino sont un peu faibles pour traiter du son qualité Hi-Fi.
Peu de mémoire, des librairies optimisées pour la facilité de programmation et non pour l'efficacité.
Ce n'est pas la meilleur cible pour ce genre de développement ou alors il faut travailler à l'ancienne sans la couche arduino et encore il ne faut trop en demander.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai saisi que l'arduino en lui même n'est pas assez puissant pour gérer de l'audio
mais les cartes d'extensions sont concues pour, non ?

Quel serait selon toi alors une cible plus adéquate?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

et ça? mp3 player shield https://www.sparkfun.com/products/10628
attention toutefois à la sortie line out qu'il faut protèger en fabricant la protection indiquée
Logged

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 4357
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

C'est pas bien de ne pas lire la doc entièrement smiley-wink
http://skyduino.wordpress.com/2012/06/21/test-breakout-vs1053b-sparkfun/

Quote
Ogg Vorbis
 MP3 (MPEG 1 & 2 audio layer)
 WMA 4.0/4.1/7/8/9
 General MIDI 1 / SP-MIDI 0
 WAV <------

Exemple pour du mp3, pour du wav c'est sensiblement pareil :
http://skyduino.wordpress.com/2012/06/24/arduino-lecteur-mp3-avec-une-breakout-vs1053b/
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci,
effectivement je suis passé a coté du fait que cette carte lit bien du WAV.
Jai relevé ça sur ton site :
Quote
J’ai eu cependant un peu plus de mal avec les fichiers WAV, les fonctions digitalRead et digitalWrite étant un peu trop lente pour que la lecture soit fluide …
(Mais n’ayez crainte il existe de nombreuse solutions à ce probléme, comme digitalWriteFast par exemple smiley-wink )
Est-ce toujours d'actualité ?

Mais c'est qu'aussi en tant que débutant,
j'ai été rebuté par le protocole SPI qui me semblait terriblement compliqué.
Enfin si il le faut, je mettrais les mains dedans  smiley-grin

Comme tu connais ton sujet j'en profite pour te poser une question :
Peut on piloter 2 breakout VS1053B avec 1seul arduino ?
J'ai besoin d'avoir deux sources audio à mélanger.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 16
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Peut-être un lien intéressant : How to use WTV020SD-16P  qui semble très proche du Somo14D.
Logged

France
Offline Offline
Faraday Member
**
Karma: 36
Posts: 4357
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Est-ce toujours d'actualité ?
Oui, les fonctions digitalWrite / digitalRead sont toujours aussi lentes (elle n'ont pas été conçu pour la rapidité).
Il suffit d'utiliser la librairie digitalWriteFast à la place et plus de probléme.
Sinon utilise le format ogg vorbis, la qualité est bien meilleur que du mp3.

Mais c'est qu'aussi en tant que débutant,
j'ai été rebuté par le protocole SPI qui me semblait terriblement compliqué.
Enfin si il le faut, je mettrais les mains dedans  smiley-grin
Le SPI c'est vraiment pas compliqué en fait smiley-wink

Tu as 4 lignes : 2 de données, 2 de commande.
Une ligne sert d'horloge (CLK).
Une ligne transmet les données du maitre vers l'esclave (MOSI).
Une ligne transmet les données de l'esclave vers le maitre (MISO).
Et une dernière ligne sert à sélectionner l'esclave à qui tu veut parler (SS, SE ou CS, plusieurs notation existent).

Comme tu connais ton sujet j'en profite pour te poser une question :
Peut on piloter 2 breakout VS1053B avec 1seul arduino ?
J'ai besoin d'avoir deux sources audio à mélanger.
Théoriquement c'est possible, mais comme je n'ai pas deux modules je n'ai pas essayé.
Le truc c'est qu'il faudra à ce moment là utiliser des interruptions (voir attachInterrupt) pour savoir quand remplir le buffer audio des modules.
Dans mon code je fait des boucles d'attente, si tu as deux modules tu ne peut pas faire comme cela.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

merci encore pour ta réponse

effectivement du ogg pas beaucoup compressé est quasiment similaire à du WAV en terme d'écoute

Pour le SPI et piloter deux cartes en même temps, je laisse ça pour plus tard
Je me suis tourné vers le shield rmp3 de chez Rogue
Comme ils ont developpé une librairie, j'ai l'impression que ce sera plus facile vu mon niveau.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

je continue la liste de modules audios
voila le dernier qu'on m'a indiqué
http://arduino.cc/forum/index.php/topic,150535.0.html
Logged

Pages: [1]   Go Up
Print
 
Jump to: