• Informatique, Tutoriels

    Posté le 16 mai 2015

    Ecrit par Grama

    Mots-clefs

    , , , ,
    Diffuser en FM sur la Raspberry Pi !

    Aujourd’hui un petit tutoriel sur comment émettre en FM via sa Raspberry Pi !

    Avant de commencer le tutoriel, je tiens à préciser que le but de celui-ci est purement éducatif. En France, il est interdit par la loi d’utiliser la bande FM et je vous conseille même de ne pas effectuer ce tuto si vous habitez près d’un hôpital, d’un commissariat ou d’une base militaire !

    Bon maintenant que les bases sont posées, passons au côté pratique ;)

    Ce dont nous allons avoir besoin :

    • Une Raspberry Pi (modèle B ou B+, ça marche pas encore sur la 2 pour des histoires d’adresses mémoires…).
    • Un fil rigide d’une trentaine de centimètres.
    • Ce fabuleux logiciel qu’est pifm ! plus d’infos sur la page Github du « projet ».
    • Un second PC disposant d’un micro pour streamer du son.
    • Un câble Ethernet.

    Commençons par mettre une antenne sur le mort GPIO 4 de la Raspi, c’est celui-ci (modèle B et B+) :

    B_Pi_4_of_4_grande

    le quatrième sur la gauche, rangée du bas !

     

    Si vous avec une nappe comme moi, elle fera office d’antenne donc même pas besoin de rajouter ce petit fil !

    J’ai pu tester la portée dans un grand bâtiment, résultat : jusqu’à deux étages directement au dessus de la source, et environ 30-40 mètres sur le même étage (avec beaucoup de cloisons). Ne vous attendez pas à des portées incroyables mais les plus bricoleurs d’entre vous sauront faire une antenne avec amplificateur !

    Maintenant, l’installation de pifm, rien de bien compliqué, il suffit de faire un git clone puis un make afin d’obtenir l’exécutable…

    Il fonctionne de la manière suivante :

    #./pifm [fichier].wav [fréquence] [échantillonnage]

    Le logiciel ne peut lire que des fichiers WAV échantillonnés à 22050Hz et depuis peu sur deux canaux (même si je ne détaillerai pas ceci dans ce tutoriel).

    J’ai voulu essayer pifm dans 3 cas différents : pour lire un fichier WAV depuis la Raspberry Pi directement (le cas « classique »), pour lire un fichier WAV depuis un autre PC et enfin pour streamer sa voix depuis un autre PC (simplement parce que je n’avais pas de micro USB sous la main et que du coup j’ai appris plein de choses comme ça ;) )

    Pour la lecture d’un WAV, rien de nouveau, d’ailleurs des WAV de test sont fournis sur le Github, rien ne vous empêche de faire un enregistrement sous Audacity puis de l’envoyer sur la carte via FileZilla…

    La partie streaming est bien plus intéressante :D

    On va faire un transfert de données tout bête en TCP avec la commande netcat (nc pour les intimes).

    La Raspberry va écouter sur un port donné puis envoyer ce qu’elle reçoit à pifm pour qu’il le lise avec :

    # nc -l 15050 | ./pifm – 90.6 22050

    On précise à pifm que l’on utilise stdin comme fichier d’entrée avec « - » ainsi que sa fréquence d’échantillonnage. La carte écoute maintenant tout flux de données arrivant sur le port 15050.

    Du côté du PC, on va simplement faire un cat et boucler sa sortie sur un netcat en direction de la Raspberry avec :

    $ cat [fichier].wav | nc [IP_RasPi] 15050

    Si tout s’est bien passé, vous devriez entendre votre fichier WAV sur la fréquence 90.6MHz !!

    Le principe est le même pour envoyer un flux audio, il faut seulement utiliser arecord pour transmettre l’enregistrement :

    $ arecord -fS16_LE -r22050 | nc [IP_RasPi] 15050

    -f pour le format et -r pour la freq. d’échantillonnage…

    Je précise également que via la wifi, le streaming était quelque peu hazardeux (bugs audio, latence, etc.), préférez donc une liaison Ethernet entre votre PC et la Raspi !

    Il est également possible de lire des fichiers MP3 que l’on convertit à la volée en WAV avec ffmpeg et bien d’autres choses ;)

    Voila tout pour ce petit tuto, à plus !

    Cet article a été posté le Samedi 16 mai 2015 à 2 h 21 min et est rangé sous Informatique, Tutoriels. Vous pouvez suivre toutes les réponses à cet article à travers le RSS 2.0 Flux. Vous pouvez sauter la fin et laisser une réponse. Les Pings ne sont pas autorisés.
  • 0 commentaires

    Jetez un oeil à quelques-unes des réponses que nous avons eu à cet article.

  • Laisser un commentaire

    Faites-nous savoir ce que vous pensez .

  • Nom(obligatoire):

    Adresse de contact(obligatoire):

    Message:

GEEK GURZIL |
Laurinecommunication |
Vousavezditgratuit |
Unblog.fr | Créer un blog | Annuaire | Signaler un abus | Siteone
| Informatiquepassion
| INFO MOBILE