Enoncé du problème : j'ai un Soundbridge (une sorte de radio internet capable de se connecter sur un serveur Daap ou de lire des flux audio) et pour tester, je me suis pris un abonnement Spotify (une équivalent de Deezer). Mon problème est que je souhaite écouter les pistes en provenance de Spotify sur ma chaine HiFi grâce au SoundBridge.
Directement, ce n'est pas possible : le catalogue Spotify n'est accessible que via leur logiciel.
Une première solution est de brancher son smartphone (il y a un client Spotify pour Android) sur la chaîne. Mais ça ne me convient pas, j'aime bien avoir mon téléphone à portée de main.
Et c'est là qu'on est content d'être sous Linux : c'est souple et il y a toujours des solutions (pas forcément très simples) aux problèmes.
Ici le jeu consiste à capturer la sortie audio en provenance de Spotify et de la renvoyer à un serveur de streaming, le tour est joué !
La recette :
- 1 serveur de streaming (ce sera icecast en ce qui me concerne, un simple urpmi icecast2 dans une Mandriva et le serveur est en place, même pas besoin de toucher au fichier de configuration)
- pulseaudio
- gstreamer
Première étape : isoler le flux spotify de façon à ne pas envoyer tous les sons générés par l'ordi (et aussi ne plus envoyer le flux spotify sur les enceintes du pc)
- pactl load-module module-null-sink sink_name=spotify
- lancer pavucontrol et choisir "Null" comme périphérique de sortie
Deuxième étape : envoyer le flux spotify vers le serveur de streaming :
- gst-launch-0.10 pulsesrc device=spotify.monitor ! audioconvert ! lame bitrate=320 mode=stereo ! shout2send ip=localhost port=8000 password=hackme mount=stream.mp3
Explications :
- device = c'est la source pulseaudio, il correspond au nom qu'on a donné à la première étape
- qq pipes pour convertir le flux en mp3 (c'est aussi possible en ogg, il suffit de remplacer "lame ..." par "vorbisenc ! oggmux")
- et on envoie le tout sur icecast avec shout2send
Et voilà, c'est aussi "simple" que ça ! Dans cet exemple, le flux est accessible sut http://localhost:8000/stream.mp3
L'inconvénient majeur de cet méthode : Spotify décode un flux Ogg vers la sortie son, qui est ensuite réencodé en mp3 avant d'être envoyé à icecast ... vive les pertes ...
Voilà, j'espère que cela vous sera utile !
# Commentaire supprimé
Posté par Anonyme . Évalué à 8.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Rediriger une sortie audio vers un serveur de streaming
Posté par wiflye81 . Évalué à 2.
Bravo pour ce guide, je cherchais à faire la même chose mais j'avais pas encore eu le temps de me plonger dedans.
[^] # Re: Rediriger une sortie audio vers un serveur de streaming
Posté par Yth (Mastodon) . Évalué à 8.
Autant je ne peux te laisser impunément dire du bien de XML : ça n'a d'efficacité que pour compliquer des choses simples, en les alourdissant par la même occasion, et en ajoutant plein de raisons en plus d'avoir des erreurs.
Cela dit, je viens de résoudre un problème assez similaire avec esound, peut-être que je devrais jeter un oeil à pulseaudio, parce que pour esound il faut un logiciel qui aime esd et sait lui parler...
Le but était de balancer la sortie audio d'une machine sur les enceintes d'une autre machine.
Yth.
[^] # Re: Rediriger une sortie audio vers un serveur de streaming
Posté par Jerome Herman . Évalué à 1.
Il aurait fallu créer une carte son virtuelle sous alsa...
Sous oss c'est encore pire, il aurait fallu diriger la sortie son vers le null audio device et rediriger ce device vers un socket (ou la sortie standard)
En d'autres termes faire à la main ce que fait Pulse audio (l'auteur du journal utilise la méthode device null audio, mais la méthode carte virtuelle fonctionne aussi)
[^] # Re: Rediriger une sortie audio vers un serveur de streaming
Posté par Psychofox (Mastodon) . Évalué à 2.
Parce que ce genre de choses, on pouvait le faire depuis des lustres en redirigant le sortie du player et en l'envoyant sur une autre machine via netcat par exemple.
un exemple ici :
http://www.debian-administration.org/articles/145
# Despotify
Posté par nyarla . Évalué à 4.
Pour info : despotify est une solution native fonctionnant sous linux et permet une sortie soit vers libao ou pulseaudio.
[^] # Re: Despotify
Posté par soulflyb (Mastodon) . Évalué à 1.
# Connexions ?
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 3.
Ça marche méchamment sur les plate-bandes de JACK, ça, non ?
[^] # Re: Connexions ?
Posté par Troy McClure (site web personnel) . Évalué à 6.
[^] # Re: Connexions ?
Posté par spart . Évalué à 3.
Donc le travail de redirection doit être fait avec d'autres applis, et il faut d'abord assigner la sortie de l'appli qui t'intéresse à ce périphérique.
Ça doit pouvoir être utilisé un peut comme jack, à condition de pouvoir créer autant de ces périphériques nuls que de connexions souhaitées, mais est-ce possible ?
genre: Appli » [Null1] » gstreamer » effet Flanger » [Null2] » gstreamer » chambre d'echo » [Sortie normale]
Ça paraît bien lourd et compliqué quand même.
# Sympa ca
Posté par FluffyHamster . Évalué à 2.
DarkIce peut envoyer de l'audio vers des flux icecast, shoutcast, et quelques autres trucs, en divers formats).
DarkIce [http://code.google.com/p/darkice/]
# Sinon...
Posté par abraxas . Évalué à 1.
La solution idéale (mais pas forcément légale...) serait d'écrire un programme qui se connecte au serveur de Spotify, télécharge (temporairement) les chansons et les streame ensuite vers le Soundbridge (il accepte l'ogg?). Mais c'est sûr que Spotify apprécierait pas
Sinon c'est sympa le principe du soundbridge.
# glisser déposer
Posté par bubar🦥 (Mastodon) . Évalué à 6.
jackd comme serveur de son
ouvre l'interface graphique qjack-control
fait un glisser déposer du lien de la sortie du lecteur vers l'entrée de icecast)
Voilà c'est tout.
Effectivement c'est souple et il y a toujours des solutions (pas forcément très simples) aux problèmes ! Mais bon, effectivement, on peux ne pas prendre les solutions les plus simples. PA pour un meilleur bureau, mouarf :)
[^] # Re: glisser déposer
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 4.
Oui. PA pour un meilleur bureau, pas PA pour un meilleur studio de son. Pour ça, il y a JACK.
PA, c'est pour des besoins de bureau : ajouter une carte son, en retirer une, régler le volume par applications. JACK, c'est pour un studio, si j'ai bien compris : faire des connexions en tout sens avec des consoles de mixage incompréhensibles avec plein de potentiomètres comme on sait si bien en faire dans ce milieu.
[^] # Re: glisser déposer
Posté par bubar🦥 (Mastodon) . Évalué à 5.
[^] # Re: glisser déposer
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 2.
# D'un autre cote..
Posté par thedude . Évalué à 1.
D'un autre cote, AirFoil fait ca sous windows et mac depuis un certain temps, il rebalance le son du systeme ou d'une appli specifique sur un airtunes, mais c'est pas comme si c'etait vraiment un probleme de rebalancer sur autre chose qu'un airtunes.
Et potentiellement, ton soundbridge supporte ca sous windows et/ou mac (ils ont un support itunes et wmp donc ca serait pas etonnant).
Et je suis a peu pres sur que d'autre outil font ca, fournis par les autres constructeur d'enceintes wireless.
Disons que ta solution ici est loin d'etre simple et relativement bancale vu la stabilite de PulseAudio, la ou c'est robuste et facile a faire sous d'autre OS (ceux qui ne reimplemente pas completement la couche sonore tous les 3 ans).
[^] # Re: D'un autre cote..
Posté par FluffyHamster . Évalué à 5.
PA est peut être encore bancale et buggé, mais il dispose de fonctionnalités dans tout les sens et d'une grosse marge de progression. Des choses que l'on avait pas avant :
- Volume par application
- Redirection d'un flux sur un autre (ex: rediriger la sortie de firefox sur la sortie micro pour enregistrer le son)
- Bluetooth en entré et sortie (ex: envoyer le son de son pc, ou d'une application seulement vers ses enceintes ou sa chaîne hifi bluetooth)
- Entré/Sortie du son sur le réseau, en divers formats (export PA, upnp, airtune...)
- etc
Donc sur le coup "merci PA", qui d'ailleurs ne ré-implémente que la couche de mixage sonore, et non pas la couche audio complète (les drivers restent inchangés dans alsa).
Pourquoi on se sent obligé de lui casser du sucre sur le dos ? Le "c'était mieux avant" n'apporte rien ici. A choisir entre un système de son moderne, tout neuf (avec parfois des inconvénients qui en découlent, et ben oui) ou la solution alsa avec son unique fonctionnalité (mixer le son) qui ne marchait pas plus que ça d'ailleurs... Franchement...
[^] # Re: D'un autre cote..
Posté par Anonyme . Évalué à 2.
[^] # Re: D'un autre cote..
Posté par zebra3 . Évalué à 2.
Avec PA non-plus, puisqu'on n'a que deux couches : Alsa pour les pilotes, et PulseAudio pour le mixage. Ça reste très correct, surtout au vu des fonctionnalités apportées.
Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur
[^] # Re: D'un autre cote..
Posté par Jean-Philippe Garcia Ballester (site web personnel) . Évalué à 5.
C'est assez amusant de voir que lorsqu'on a un outil qui remplit une tâche (alsa pour les drivers, PA pour le mixeur / réseau / choix d'une carte son, jackd pour le routage entres applications) les gens disent qu'on a trop de couches, et quand on a un outil qui fait tout les gens disent que c'est contraire au principe KISS.
[^] # Re: D'un autre cote..
Posté par boq . Évalué à -1.
[^] # Re: D'un autre cote..
Posté par zebra3 . Évalué à 3.
Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur
[^] # Re: D'un autre cote..
Posté par boq . Évalué à 2.
C'est juste que ce n'est malheureusement pas le cas de tout le monde apparemment, et de loin.
[^] # Re: D'un autre cote..
Posté par claudex . Évalué à 3.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: D'un autre cote..
Posté par thedude . Évalué à 1.
Et va la recuperer apres, la bonne reputation, meme quand les problemes sont regles, quand tout le monde a eu des merdes sans nom pendant longtemps.
Un peu comme le syndrome kde4 ou beaucoup n'ont pas envie de s'y risquer, apres une 4.0 inutilisable, une 4.1 pas tellement mieux (alors qu'elle aurait du etre bien) et une 4.2 enfin de qualite.
[^] # Re: D'un autre cote..
Posté par claudex . Évalué à 3.
¹: enfin pour KDE, c'est un problème de communication des développeurs et l'arrêt du support de la version 3.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: D'un autre cote..
Posté par thedude . Évalué à 1.
Je comprends bien que c'est pas trop la faute de pulse audio si tout le monde a integre de force un truc pas fini, mais ca change rien au probleme: la reputation de pulse audio est maintenant sacrement ternie, et ya du boulot pour la ramener a ce qu'elle devrait etre.
[^] # Re: D'un autre cote..
Posté par zebra3 . Évalué à 3.
Mais comme c'est Ubuntu qui fait le buzz aujourd'hui dans le monde Linux, ce sont eux qui font et défont les réputations.
Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur
[^] # Re: D'un autre cote..
Posté par thedude . Évalué à 2.
loin de moi l'idee de cracher sur pulse audio.
Ce qui m'a fait tiquer c'est le "c'est la qu'on est content d'etre sous linux", sous entendu "les autres en face, ils peuvent pas le faire et je serais bloque".
[^] # Re: D'un autre cote..
Posté par soulflyb (Mastodon) . Évalué à 2.
Et ensuite, j'ai pas l'impression que cela marcherait avec mon SoundBridge, puisqu'apparemment il faut installer un logiciel spécifique sur l'émetteur (AirFoil Speaker).
Donc, non, ta solution n'est en rien comparable.
Et pour finir, Pa est depuis quelques temps assez robuste est pas du tout bancal. Faut juste utiliser une distro qui fait du bon boulot.
[^] # Re: D'un autre cote..
Posté par thedude . Évalué à 0.
Ce que je voulais dire, c'est que les 2 systemes propose les moyens de faire ca (detourner la sortie son d'un programme avant que ca arrive a la carte son), et vu que ca tourne sous xp, c'est pas comme si c'etait nouveau ni confine (comme sous entendu par ton journal) a linux ce genre de techno revolutionnaire qui arrive en 2009 sur linux que tout le monde ici dit que c'est de la balle l'innovation alors que ca existe chez la concurrence depuis presque 10 ans...
# Et pourquoi pas une solution Point à Point
Posté par Enzo Bricolo 🛠⚙🛠 . Évalué à 3.
Enzo Bricolo
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.