{"id":598,"date":"2013-02-19T00:21:30","date_gmt":"2013-02-18T22:21:30","guid":{"rendered":"http:\/\/gcolpart.evolix.net\/blog21\/?p=598"},"modified":"2013-02-19T00:21:30","modified_gmt":"2013-02-18T22:21:30","slug":"capturer-la-sortie-audio-dun-programme-sous-linux","status":"publish","type":"post","link":"https:\/\/gcolpart.evolix.net\/blog21\/capturer-la-sortie-audio-dun-programme-sous-linux\/","title":{"rendered":"Capturer la sortie audio d&#8217;un programme sous Linux"},"content":{"rendered":"<p>Avec une machine tournant sous Linux et le syst\u00e8me audio ALSA, on peut capturer la sortie audio d&#8217;un programme en cr\u00e9ant un fichier <em>.asoundrc<\/em> du type :<\/p>\n<pre>\r\npcm.!default {\r\n  type empty\r\n  slave { pcm \"tee:'hw:0,0','\/tmp\/out.wav',wav\" }\r\n}\r\n<\/pre>\n<p>On peut m\u00eame utiliser un script pour encoder chaque sortie en MP3 et avec un nom diff\u00e9rent :<\/p>\n<pre>\r\npcm.!default {\r\n  type empty\r\n  slave { pcm \"tee:'hw:0,0','| \/tmp\/out.sh',wav\" }\r\n}\r\n<\/pre>\n<p>Avec un script du type :<\/p>\n<pre>\r\n#!\/bin\/sh\r\nTIMESTAMP=$(date +%s)\r\nlame -S -h - \/tmp\/$TIMESTAMP.mp3\r\n<\/pre>\n<p>Notez qu&#8217;il est ill\u00e9gal de faire cela avec une offre de streaming du type Deezer ou Spotify. C&#8217;est en effet contraire avec les conditions d&#8217;utilisation qui permettent \u00e0 peine de fredonner sous sa douche la musique que l&#8217;on \u00e9coute&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Avec une machine tournant sous Linux et le syst\u00e8me audio ALSA, on peut capturer la sortie audio d&#8217;un programme en cr\u00e9ant un fichier .asoundrc du type : pcm.!default { type empty slave { pcm &#8220;tee:&#8217;hw:0,0&#8242;,&#8217;\/tmp\/out.wav&#8217;,wav&#8221; } } On peut m\u00eame utiliser un script pour encoder chaque sortie en MP3 et avec un nom diff\u00e9rent : [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[72],"tags":[],"class_list":["post-598","post","type-post","status-publish","format-standard","hentry","category-french"],"_links":{"self":[{"href":"https:\/\/gcolpart.evolix.net\/blog21\/wp-json\/wp\/v2\/posts\/598","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gcolpart.evolix.net\/blog21\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gcolpart.evolix.net\/blog21\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gcolpart.evolix.net\/blog21\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gcolpart.evolix.net\/blog21\/wp-json\/wp\/v2\/comments?post=598"}],"version-history":[{"count":3,"href":"https:\/\/gcolpart.evolix.net\/blog21\/wp-json\/wp\/v2\/posts\/598\/revisions"}],"predecessor-version":[{"id":601,"href":"https:\/\/gcolpart.evolix.net\/blog21\/wp-json\/wp\/v2\/posts\/598\/revisions\/601"}],"wp:attachment":[{"href":"https:\/\/gcolpart.evolix.net\/blog21\/wp-json\/wp\/v2\/media?parent=598"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gcolpart.evolix.net\/blog21\/wp-json\/wp\/v2\/categories?post=598"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gcolpart.evolix.net\/blog21\/wp-json\/wp\/v2\/tags?post=598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}