Podcasteur le punk de la radio

C’est le moment de faire un petit point d’étape.

L’histoire remonte au mois d’avril où, dans les coulisses du forum robot-maker.com, on cherchait à créer du contenu. J’ai parlé d’interviews. Je pensais d’abord aux acteurs connus comme le professeur Jacques Gangloff et ses cours en video, le youtubeur James Bruton et d’autres. Mais je n’ai eu que des dédicaces par mail. Bien mais pas très profond. Pour ce type de contenu, j’ai testé l’audio avec certains d’entre nous. En plus de mieux connaître mes interlocuteurs, de partager encore plus, de faire de très bonne rencontres, j’ai obtenu de la matière pour tester le matériel, le montage me roder. Et je trouve ça concluant, ça me donne envie de continuer. C’est encore très perfectible mais je trouve ça top !! Merci encore à ceux qui sont venus !!

A propos du format audio

Je le trouve tout à fait adapté à une utilisation annexe. Comme la radio, on l’écoute pendant qu’on continue à ses occupations. En voiture, en transport, à pieds, pendant qu’on bosse sur son robot ^^. Comparé à la video, d’un coté cela limite l’aspect didactique, de l’autre coté c’est plus facile à produire. Et on a l’écrit sur le forum pour l’aspect didactique. Je trouve aussi que le dialogue direct à l’oral rapproche, renforce l’esprit communautaire et démystifie la complexité de la robotique. Et c’est bien là le but.

A propos de la diffusion

Les gens qui viennent sur youtube cherchent du contenu video. On le voit dans les chiffre donnés par youtube, les gens ne lisent que 10% des interviews que j’ai posté sur ce support. Je vais continuer de diffuser sur youtube mais uniquement pour la « visibilité ». La cible des podcasts c’est itunes, podcloud, mon rss et twitter. Soundcloud n’est pas super en forme. Ils licencient … Sur les supports dédiés aux podcasts, on ne peut pas mesurer la durée de l’écoute. C’est un mp3 qu’on télécharge. Mais on se donne toutes les chances que ça le soit :)

On est au tout début de l’histoire. On va continuer les interviews bien sûr. A coté de cela, on va explorer d’autres voies avec une émission périodique. Affaire à suivre donc.

A propos du podcast

On a aucun objectif de chiffre, aucune pression. Ça sort quand ça sort :) On le fait dans la bonne humeur et sérieusement on le fait à la cool. La préparation du conducteur doit être très limitée. Nous n’avons besoin que de notre passion. On fait du contenu qui est diffusé en se marrant.

C’est quand je veux, si je veux, indépendant des media et des autres podcasts, liberté de format, liberté de ton, un espace pas encore très réglementé, très peu de moyens …  Bref, une radio pirate moderne en quelque sorte.

Discussion sur le forum.

Etat du studio

De quoi s’amuser un bon moment.

  • Un micro XLR.
  • Un enregistreur numérique.
  • Un serveur mumble.
  • Des cartes son externes pour brancher un téléphone et un ordi pour le mumble.
  • Un mixeur analogique et le câblage mix-minus pour que tout le monde se parle.
  • Un répondeur et une ligne téléphonique (ligne SIP gratuite).
  • Un serveur icecast2 et un raspberry pour diffuser le master audio brut en direct sur une page web, avec une image prise toutes les minutes pour illustrer.
  • un site web pour porter ces infos et le RSS de diffusion.

Fabrication de la video avec l’onde sonore

La commande ffmpeg permet de créer une video avec une image de fond et d’un mp3. Elle permet aussi d’y ajouter des effets dont une représentation de l’onde sonore du mp3. La commande utilisée :

./ffmpeg -i MakerSecrets.mp3 -loop 1 -i YT_MBH.png -filter_complex \
"[0:a]showwaves=s=854x480:mode=p2p,format=rgba,colorkey=black[fg]; \
[1:v]scale=854:-1,crop=iw:480[bg]; \
[bg][fg]overlay=shortest=1,format=yuv420p[out]" \
-map "[out]" -map 0:a -c:v libx264 -preset fast -crf 18 -c:a libopus MakerSecrets.mkv

Source :

http://astuces.podcloud.fr/transformer-un-podcast-audio-en-video
https://ffmpeg.org/ffmpeg-filters.html

Fiction participative et à vivre

En ce début d’été Phil_Goud (PodCloud) nous propose de vivre une fake news. Un jeu de rôle participatif par message téléphonique. Le pitch est simple : un météore très inquiétant va heurter le nord de l’Europe. Sur le fil du podcast 163, nous suivons presque en direct la réaction de nombreux participants ou survivants. Certains organisent leur fuite, certains observent l’actualité. Moi je choisi de me planquer dans les catacombes de Paris.

http://163.lepodcast.fr/

Partager la conversation mumble avec un invité par téléphone

Pendant une conversation sur mumble, comment prendre un appel téléphonique et permettre à l’invité par téléphone de converser avec les personnes présentes sur le mumble.

J’utilise une table de mixage et je fais un mix-minus. Le principe : envoyer sur une sortie auxiliaire toutes les sources mixées sauf une. Par exemple, envoyer sur le téléphone tout le mix sauf le téléphone. Envoyer sur le mumble tout le mix sauf le mumble.

Par exemple, la Behringer 1204 possède 2 sortie auxiliaire. Elle permet de faire 2 mix-minus, un pour le mumble, un pour le téléphone.

Pour brancher le téléphone à la table de mixage, j’utilise la prise micro-casque. J’ai testé un séparateur Y sans succès. Il faut une interface comme le iRig2.

Pour brancher le mumble sur la table de mixage, j’utilise une carte son externe usb. Elle est reconnu automatiquement et directement. Il faut la sélectionner dans mumble et le tour est joué.

 

Flux audio

Pourquoi un flux audio en direct pour un podcast ? Ce flux est mis en place pour un format de podcast en mode hot line.

Comment ça fonctionne ? Voici la chaîne que j’utilise :

La table de mixage a une carte son usb intégrée. Elle est directement reconnue comme telle par un PC. Le son issue du mix est donc cette prise usb qui sert de master pour le flux.

Le PC qui bénéficie de cette carte son est un Raspberry PI 3. Il est chargé de lire le flux audio qui sort de la table de mixage via usb. Il arrive au format PCM. Il faut le comprimer en MP3 et l’envoyer sur un serveur de diffusion. La lecture est faite avec alsa (arecord). L’encodage est fait avec lame. L’envoi sur le serveur est fait avec ezstream. Cela donne la commande suivante :

arecord --device hw:CARD=CODEC,DEV=0 --format cd --rate 44100 --vumeter=stereo | lame -r -s 44.1 -m s -b 128 --cbr --scale 3  - | ezstream -c /home/pi/ezstream_mp3.xml

Le serveur icecast2 sert à relayer le flux audio aux différents auditeurs. Il faut noter que ce dernier composant crée un délai de quelques secondes.

Pour écouter le flux audio, il faut une balise html audio qui pointe sur le serveur icecast.

<audio src="http://163.172.63.38:8000/live.mp3" volume="1.0" controls autoplay>
Votre navigateur ne supporte pas l'élément <code>audio</code>.
</audio>

Tout cela demande pas mal de recherche et de configuration qu’il est facile de retrouver sur le net.

Comment j’ai fait mon flux RSS avec wordpress

Cette méthode m’a permis de faire mon flux RSS ‘MBH’ sans ajouter de plugin WP. Mes émissions sont rangées dans la catégorie ’emission’. J’utiliser les champs personnalisés pour compléter les informations demandées par itunes.

RSS Made By Humans

J’ai modifié le template très simplement, voilà comment.

NB. Cette façon de faire oblige à choisir un thème avant.

Modifier le fichier functions.php

Placer le code suivant à la fin du fichier

/wp-content/themes/<nom du thème>/functions.php

Replacer ‘mbh’ par le nom du flux.

/**
 * My custom rss 'mbh'
 */

add_action('init', 'customRSS');
function customRSS(){
 add_feed('mbh', 'customRSSFunc');
}

function customRSSFunc(){
 get_template_part('rss', 'mbh');
}

La dernière ligne indique à WP d’aller chercher un fichier nommé : rss-mbh.php. Il faut le créer dans le même répertoire que functions.php.

Ce fichier contient le template du flux RSS personnalisé. Par exemple :

<?php
/**
 * Template Name: Custom RSS Template - Feedname
 * http://www.wpbeginner.com/wp-tutorials/how-to-create-custom-rss-feeds-in-wordpress/
 */
$item_counter = 0;
$postCount = 500; // The number of posts to show in the feed
$posts = query_posts('showposts=' . $postCount.'&category_name=emission');
header('Content-Type: '.feed_content_type('rss-http').'; charset='.get_option('blog_charset'), true);
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
?>
<rss version="2.0"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:wfw="http://wellformedweb.org/CommentAPI/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:atom="http://www.w3.org/2005/Atom"
 xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
 xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
 xml:lang="fr-FR"
 <?php do_action('rss2_ns'); ?>>
<channel>
 <title><?php bloginfo_rss('name'); ?></title>
 <atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
 <link><?php bloginfo_rss('url') ?></link>
 <description><?php bloginfo_rss('description') ?></description>
 <lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
 <language><?php echo get_option('rss_language'); ?></language>
 <sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
 <sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
 <?php do_action('rss2_head'); ?>
 <?php while(have_posts()) : the_post(); ?>
 <item>
 <title><?php the_title_rss(); ?></title>
 <link><?php the_permalink_rss(); ?></link>
 <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
 <dc:creator><?php the_author(); ?></dc:creator>
 <guid isPermaLink="false"><?php the_guid(); ?></guid>
 <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
 <content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded>
 <?php rss_enclosure(); ?>
 <itunes:order><?php echo $item_counter++; ?></itunes:order>
 <?php do_action('rss2_item'); ?>
 </item>
 <?php endwhile; ?>
</channel>
</rss>

Au début du template, on note le filtre &category_name=emission sur la commande query_posts

A la première exécution, cela ne fonctionne pas. Il faut rafraîchir les règles de réécriture. Pour cela, j’ai ajouté les 2 lignes suivantes à la fin du fichier functions.php. On rafraichit la page xml et on commente les 2 lignes.

global $wp_rewrite;
$wp_rewrite->flush_rules();

On peut noter dans le fichier template le tag <itunes:order> que l’on fabrique avec un compteur.

Champs personnalisés

Pour ajouter, par exemple le tag <itunes:duration>, on va utiliser les champs personnalisés.

Pour cet exemple, j’ai ajouté le champ personnalisé audio_file_duration

NB. Les champs personnalisés ne sont pas visibles par défaut. Pour les afficher, il faut cocher dans le panneau « Options de l’écran » en haut à droite du tableau de bord.

Dans le template, les commandes comme <?php do_action(‘rss2_item’); ?> appellent des actions définies dans le fichier functions.php.

A la fin du fichier functions.php, après celle vues plus haut, on ajoute ces lignes :

function add_custom_fields_to_rss() {
 if($audio_file_duration = get_post_meta(get_the_ID(), 'audio_file_duration', true)) {
 ?>
 <itunes:duration><?php echo $audio_file_duration ?></itunes:duration>
 <?php
 }
}
add_action('rss2_item', 'add_custom_fields_to_rss');

Il faut remplacer audio_file_duration par le nom de votre champ personnalisé.

Et remplacer itunes:duration par le tag que vous voulez voir dans le RSS.

Ce code est appelé par le template avec commande do_action(‘rss2_item’);. Il va placer la ligne XML <itunes:duration></itunes:duration> avec la valeur donné dans votre article.

On prend bien soin d’ajouter le namespace itunes xmlns:itunes= »http://www.itunes.com/dtds/podcast-1.0.dtd » dans header du template.

MP3Paris 2e édition 2017

Aujourd’hui, je suis allé là : http://www.mp3aparis.fr/. C’est une convention de podcasteurs (audio biensûr). Et, attention, pas les youtubeurs, On ne se mélange pas 😀

J’ai échangé avec les podcasteurs. Les vrais, ceux qu’on écoute étaient là en vrai !! Ces sont des amateurs, comme moi. Ils ne m’ont pas pris de haut, loin de là. Je trouve la communauté ultra sympa, chaleureuse et prête à partager ses ficelles.

J’ai causé imprimante 3D avec un certain Picaboubx de Bricolo et Mulot et de http://lavis-des-moutons.lepodcast.fr/. Nous avons tout le deux monté la dagoma disco 200. Lui, il a changé la buse pour qu’elle fonctionne bien …

J’ai causé technique podcast avec un certain Quenton de http://www.techcraft.fr/. Format de fichiers, mixage, rss, montage. Il m’a donné des pistes pour mon pb avec les petits bruits qu’on entends dans le mumble. Je vais voire ça. Il a même pris le temps d’écouter un bout de l’épisode avec Oliver !! Il a trouvé ça top … pour un début … 🙂

J’ai aussi causé technique d’hébergement avec les mecs (Phil_goud) qui on fait https://podcloud.fr/, un annuaire très connu de podcast. Je leur ai dit attention on arrive ^^.

Rien sur la robotique et très peu de tech dans l’assemblée mais j’en sors chaud patate et surtout serein d’avoir échangé avec cette communauté !! J’y retourne l’année prochaine !!