Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

Lecture fichier audio sur un NAS avec un uC



  1. #1
    Max_Pof

    Lecture fichier audio sur un NAS avec un uC

    Bonjour à tous.

    Voila, j'ai pour projet de fabriquer un petit module permettant d'aller lire de la musique se trouvant sur un NAS ou sur un smartphone et de sortir un flux audio numérique (le module serais ensuite suivi d'un CNA d'un ampli et tout et tout...)
    Le NAS, le smartphone et le module (équipé d'un module Wi-fi) se trouveraient bien sûr sur le même réseau.

    Une application smartphone serait capable de lire la liste des fichier présent sur le NAS ou sur la mémoire interne du téléphone et a partir de la, l'utilisateur choisirait le fichier musicale que le module lirais.

    Je pensait utiliser le protocole uPnP pour la liaison wifi.

    Cependant j'ai pas mal de questions qui me bloque un peu.
    La première étant: lorsque l'on fait ce principe de lecture à distance en wifi, en faite, le fichier est téléchargé sur l'appareil qui le lis, non?
    Je m'explique: disons que je veux lire avec mon ordinateur un fichier audio se trouvant sur un NAS, le fichier ne va pas rester sur le NAS mais va être téléchargé temporairement sur l'ordi, c'est ça?

    Je pensait donc me servir d'un microcontroller + module wifi pour aller chercher les fichiers présents sur le NAS. Du coup si m'as question d'avant à une résponse positive, il va falloir que j'ajoute de la mémoire sur mon uC afin de télécharger le fichier audio, je ne pense pas que le mémoire interne d'un uC suffise (?)

    En plus de ça, le but serait de pouvoir lire des fichiers audio de très bonnes qualité (du genre 24bits 192kHz) du coup je suppose qu'il va falloir un uC assez puissant, non?

    Et donc ces deux dernière question ramène au même problème: le choix du micro-controleur...

    Bon je demande pas une référence précise (Bon après si vous en avez une.......) mais surtout savoir vers quoi m'orienter: Pic, ARM, Atmega.... D'habitude, pour les petits projets que je fait je me pose pas trop cette question, j'arrive généralement à trouver mon bonheur dans les aTmega mais ici, y'a peut être beaucoup plus simple pour utiliser de la mémoire externe et pour pouvoir traiter la réception d'un fichier en wifi?


    Merci pour votre aide et si je n'ai pas été assez clair sur un point, faites le moi savoir...




    -----


  2. Publicité
  3. #2
    Yoruk

    Re : Lecture fichier audio sur un NAS avec un uC

    Salut,

    Je ne suis pas un pro de tout ça, mais ça semble compliqué de faire gérer tout ça à un µc.. Pourquoi ne pas partir d'une raspberry pi ou carte similaire ?

    Je ne sais pas si une arduino yun pourrait t'aider...?
    La robotique, c'est fantastique !

  4. #3
    Max_Pof

    Re : Lecture fichier audio sur un NAS avec un uC

    Bha... plus je regarde et plus j'ai l'impression que cette solution est la plus appropriée,
    d'autant plus qu'à terme, il faudrait aussi pouvoir faire de la lecture streaming avec le module: on va sur internet avec le smartphone (ex: Deezer ou Spotify) et le module arrive à nous sortir le flux audio.
    Et du coup autant pour la lecture sur NAS, ça me parait faisable mais compliqué avec un uC, autant récupérer du sreaming je vois pas du tout (alors qu'avec un raspberry pi c'est plus clair...)

    Mais disons qu'à la base je recherche quelque chose de plus... Professionnel (ou disons "industrielle") que la solution de la raspberry, d'ou l'interet d'essayer de bien voir si c'est réalisable avec un uC.

  5. #4
    Yoruk

    Re : Lecture fichier audio sur un NAS avec un uC

    C'est sûrement possible ! ça lui fait gérer beaucoup d'éléments (wifi, accès au disque, récupération de la donnée et lecture, gestion éventuelle d'un cache comme tu l'as suggéré). Mes connaissances sont malheureusement limitées dans ces domaines...
    La robotique, c'est fantastique !

  6. #5
    Max_Pof

    Re : Lecture fichier audio sur un NAS avec un uC

    Bonjour,

    Bon j'ai un peu revu mes ambitions la baisse, voici le nouvel objectif:
    Le portable (à l'aide d'un driver ou d'un plug-in) redirige le flux audio qu'il doit normalement envoyer à son haut-parleur pour l'envoyer en wifi: par exemple on lis une vidéo youtube, une musique sur deezer ou même la bibliothèque musicale du portable: le son ne sort pas du portable mais est envoyé en wifi.


    Donc à la réception, il me faudrait un module capable de décoder un flux audio issue du wifi et l'envoyer sur une sortie numérique.
    Le flux de sortie devrait être au minimum en 44.1kHz.

    Et cette fois-ci, c'est là que ça me pose problème. J'ai trouvé plusieurs articles ou certains ont essayé de faire ça avec des µC mais à chaque fois la fréquence d'échantillonnage du flux de sortie est très faible (souvent inférieur à 20kHz en stéréo).

    Donc je me demande si passer par un micro-controlleur est une bonne solution? A moins peut-être d'en trouver un très puissant mais... J'ai pas plus vite fait de passer par un module dédié genre un DSP?
    Le problème c'est que je ne sais pas si je peux gérer ce qui arrive en WiFi (via SPI) avec un DSP...?
    A votre avis, quelle solution assez simple je pourrais utiliser (sans aller jusqu'à la Raspberry pi cette fois ci)

  7. A voir en vidéo sur Futura
  8. #6
    Yoruk

    Re : Lecture fichier audio sur un NAS avec un uC

    Aucune idée, je ne sais pas si c'est possible.

    As tu envisagé de passer par bluetooth ? (Je pense aux enceintes sans fil reliés à des téléphones qui pourraient faire ce que tu décris)
    La robotique, c'est fantastique !

  9. Publicité
  10. #7
    PA5CAL

    Re : Lecture fichier audio sur un NAS avec un uC

    Bonjour

    Jouer des fichiers audio depuis un NAS via Wifi suppose de disposer :
    - d'une gestion du système de fichier du NAS
    - d'un système de transmission Wifi
    - d'une pile TCP-IP et des protocoles Internet nécessaires
    - d'un décompresseur/décodeur correspondant au format du fichier
    ...

    Tout cela nécessite une puissance de calcul énorme, très supérieure à ce que peut fournir un microcontrôleur courant.

    Il est bien entendu possible de réaliser ces différentes parties à l'aide de modules contenant des processeurs puissants et plus ou moins spécialisés.

    Mais alors, disposant finalement d'une grosse puissance de calcul, quel serait l'intérêt d'ajouter à cela un petit microcontrôleur ?...
    Dernière modification par PA5CAL ; 14/04/2014 à 16h10.

  11. #8
    Fred_du_92

    Re : Lecture fichier audio sur un NAS avec un uC

    ça ne me parait pas insurmontable avec un bon gros Cortex-M3 ou M4. Quand on voit des micros dépasser les 200 DMIPS avec du DMA à foison, je me dis qu'on doit pouvoir en tirer quelquechose

  12. #9
    PA5CAL

    Re : Lecture fichier audio sur un NAS avec un uC

    Citation Envoyé par Fred_du_92 Voir le message
    ça ne me parait pas insurmontable avec un bon gros Cortex-M3 ou M4.
    En fait, un Cortex-A8 (comme celui du Raspberry Pi) ne permet déjà pas de réaliser tout l'ensemble.

    On en revient toujours à utiliser des modules spécialisés pour certaines des fonctions citées. Alors la question qui se pose, c'est quelle tâche assigner à quel matériel dans ce système.

    Selon sa destination, un Cortex-M3 ou M4 (ou de tout au processeur) apparaîtra sous-dimensionné, sur-dimensionné ou adapté. Mais tant qu'on n'a rien précisé sur les tâches qu'on lui réserve, on ne peut absolument rien dire.
    Dernière modification par PA5CAL ; 14/04/2014 à 16h47.

  13. #10
    Max_Pof

    Re : Lecture fichier audio sur un NAS avec un uC

    Jouer des fichiers audio depuis un NAS via Wifi suppose de disposer :
    - d'une gestion du système de fichier du NAS
    - d'un système de transmission Wifi
    - d'une pile TCP-IP et des protocoles Internet nécessaires
    - d'un décompresseur/décodeur correspondant au format du fichier
    ...

    Tout cela nécessite une puissance de calcul énorme, très supérieure à ce que peut fournir un microcontrôleur courant.

    Oui, je m'en suis rendu compte, c'est pour ça que j'ai laissé tombé la gestion du NAS: Elle va être faite par le smartphone (étant donné que le NAS possède sa propre application).
    Du coup la gestion des fichier est faite par le smartphone, il lit les fichiers audio et envoi directement le flux audio par wifi.

    A la reception, apparemment les module Wifi sortent souvent du SPI et pour "simplifier" on va chercher à sortir un signal I2S du module (qui est ensuite interprété par un ampli).
    Donc en gros, pour faire simple, je cherche à faire un convertisseur SPI/I2S.

    Existe-il des circuits dédiés?
    La seule chose que j'ai trouvé c'est ça: http://www.altera.com/literature/an/an487.pdf

  14. #11
    PA5CAL

    Re : Lecture fichier audio sur un NAS avec un uC

    Citation Envoyé par Max_Pof Voir le message
    pour "simplifier" on va chercher à sortir un signal I2S du module (qui est ensuite interprété par un ampli).
    Donc en gros, pour faire simple, je cherche à faire un convertisseur SPI/I2S.
    Je ne vois pas vraiment la raison pour laquelle on passerait par une liaison I2S.

    Les modules Wifi ne fournissant pas directement les informations nécessaires aux CNA, il faudra bien intercaler une unité de traitement communiquant en SPI avec son module Wifi, laquelle pourrait éventuellement sortir les signaux numériques sur un port I2C natif... ou carrément produire les signaux analogiques requis.
    Dernière modification par PA5CAL ; 15/04/2014 à 09h47.

  15. #12
    Max_Pof

    Re : Lecture fichier audio sur un NAS avec un uC

    Je ne vois pas vraiment la raison pour laquelle on passerait par une liaison I2S.
    En faite, l'amplificateur que le module doit attaquer possède une entrée I2S suivie d'un DAC. C'est pour ça que je voulais passer par ça...
    Mais je m'y perd un peu... quelle est la solution si on ne passe pas par du I2S?

    Les modules Wifi ne fournissant pas directement les informations nécessaires aux CNA, il faudra bien intercaler une unité de traitement communiquant en SPI avec son module Wifi, laquelle pourrait éventuellement sortir les signaux numériques sur un port I2C natif
    Oui c'est justement ce que je cherche, ok après relecture de mon précédent poste, je vois que n'ai pas été très clair:
    Le module wifi nous sort effectivement du SPI et je cherche justement cette unité de traitement qui nous convertirais ça en I2S, mais tout ce que j'ai trouvé c'est l'utilisation d'un MAX II....
    Disons que si c'est la seule solution, je ferais avec mais je me demande si il n'y a pas des circuit dédiés?

  16. Publicité
  17. #13
    PA5CAL

    Re : Lecture fichier audio sur un NAS avec un uC

    Citation Envoyé par Max_Pof Voir le message
    Mais je m'y perd un peu... quelle est la solution si on ne passe pas par du I2S?
    Avoir les CNA directement intégrés à l'unité de calcul, ou reliés avec une interface plus sommaire que I2S.


    Citation Envoyé par Max_Pof Voir le message
    Le module wifi nous sort effectivement du SPI et je cherche justement cette unité de traitement qui nous convertirais ça en I2S, mais tout ce que j'ai trouvé c'est l'utilisation d'un MAX II....
    Disons que si c'est la seule solution, je ferais avec mais je me demande si il n'y a pas des circuit dédiés?
    Il ne s'agit pas d'une simple conversion de flux de données. Un adaptateur Wifi demande à être relié à un dispositif bien plus complexe qu'un simple convertisseur pour se connecter au réseau, récupérer le flux et le décoder/décompresser. Il y a des protocoles à suivre et des formats à décortiquer.

    Dès lors qu'on utilise une unité de traitement capable de faire ce travail, rien ne s'oppose à en choisir une qui dispose d'une interface I2S ou de CNA intégrés (un µC AVR32 par exemple).
    Dernière modification par PA5CAL ; 15/04/2014 à 11h05.

  18. #14
    Max_Pof

    Re : Lecture fichier audio sur un NAS avec un uC

    Dès lors qu'on utilise une unité de traitement capable de faire ce travail, rien ne s'oppose à en choisir une qui dispose d'une interface I2S ou de CNA intégrés (un µC AVR32 par exemple).
    D'accord, mais ce que tu appelle l'unité de traitement, c'est ce qui est intégré aux modules WIFI? (dans ce genre la: http://www.semiconductorstore.com/pa...ber=RTX4100-EX) Au quel cas en gros tu pense que je pourrais trouver ce genre de module avec une sortie I2S?
    Ou on parle d'un module externe?

  19. #15
    PA5CAL

    Re : Lecture fichier audio sur un NAS avec un uC

    L'unité de traitement dont je parle est le processeur d'application.

    Il se trouve que le module Wifi dont tu donnes le lien en intègre un. Mais ce n'est pas le cas de tous les modules (plus exactement, ils intègrent tous un processeur, mais le développeur ne peut pas forcément l'utiliser pour y programmer son application).

    Ce module semble déjà présenter un CNA, ce qui permettrait peut-être de se passer de la sortie I2S.

    En revanche, a priori rien n'indique que la puissance de calcul du processeur d'application intégré sera suffisante pour réaliser les traitements nécessaires. Cela reste à vérifier, quand on aura déterminé quels traitements sont nécessaires.
    Dernière modification par PA5CAL ; 15/04/2014 à 13h05.

  20. #16
    Max_Pof

    Re : Lecture fichier audio sur un NAS avec un uC

    En revanche, a priori rien n'indique que la puissance de calcul du processeur d'application intégré sera suffisante pour réaliser les traitements nécessaires.
    Arf... je commence à baisser les bras, je pensais que ça serait plus facile. Le problème c'est que là ce n'est qu'une partie du projet.

    A terme, il faudrait que les trames reçu par le wifi, en plus de contenir les 24 bits du flux audio, contiennent aussi quelques bits de commande envoyés par le smartphone.
    Du coup je devrais pouvoir disséquer les trames pour envoyer une partie en I2S et l'autre en série sur un autre port.
    Et en plus de ça, le module wifi devrais renvoyer en wifi l'état de certains paramètres de l'amplificateur (volume, canal...)

    Et vu comme je galère déjà pour récupérer le flux audio en I2S... ça va probablement être infaisable.

Sur le même thème :

Discussions similaires

  1. lecture de fichier avec matrices
    Par lolosit dans le forum Programmation et langages, Algorithmique
    Réponses: 15
    Dernier message: 12/12/2012, 22h05
  2. lecture fichier audio wma
    Par nasssi dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 17/06/2012, 20h52
  3. Problème de lecture de fichier .wav avec ADC et µC
    Par Blue Sn4ke dans le forum Électronique
    Réponses: 3
    Dernier message: 28/10/2011, 12h42
  4. Lecture fichier avec 'idl'
    Par dimofzion dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 27/06/2008, 15h36
  5. Lecture d un fichier avec matlab
    Par Julian5962 dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 05/07/2004, 15h03