Le 19/11/2021 – Petit compte rendu de la Réactivation du FFF:2756 – Zone Humide “Etang des MORIAUX” Soleil, vent et température de 4° – 158 QSO sur 40M et 20M (Uniquement CW) Propagation faible et gros QRM/QRN Rig: TS440s – PWR:50W – ANT: G5RV 73/44 – F6KEX/P
Le 16/11/2021 – Petit compte rendu de notre Réactivation du FFF:2925 – “Zone Humide de CORBELIN” Couvert, vent et température de 7° – 150 QSO sur 40M et 20M (Uniquement CW ) Propagation faible et gros QRM/QRN – Rig: TS440s – PWR:50W – ANT: G5RV 73/44 F6KEX/P
Le 15/11/2021 – Petit compte rendu de notre Réactivation du FFF:2969 – “Zone Humide Etang de FICHAILLON” Couvert, vent et température de 4° – 116 QSO sur 40M et 20M (Uniquement CW ) Propagation faible et gros QRM/QRN – Rig: TS440s – PWR:50W – ANT: G5RV 73/44 F6KEX/P

Vigilance météo & svxlink
Partie 2: récupération des fichiers, configuration svxlink
Pour diffuser les annonces de vigilance météo, nous utilisons la fonction d’annonces périodiques de svxlink.
Svxlink dispose de deux types d’annonces périodiques : short et long identification. Dans la config SPOTNIK (/etc/spotnick/svxlink.xxx), “long identification” est diffusée toutes les heures et “short identification” est difusée toutes les 15 minutes.
/etc/spotnik/svxlink.xxx
[SimplexLogic]
...
CALLSIGN=F1ZTH
SHORT_IDENT_INTERVAL=15
LONG_IDENT_INTERVAL=60
...
Dans le fichier Logic.tcl (/usr/share/svxlink/event.d/local/Logic.tcl) on remarque que les fonction qui diffuse les “short et long identification” proposent également de diffuser un message d’annonce.
proc send_short_ident {{hour -1} {minute -1}} {
...
# Play announcement file if enabled
if {$short_announce_enable} {
puts "Playing short announce"
if [file exist "$short_announce_file"] {
playFile "$short_announce_file"
playSilence 500
}
}
Il ne reste alors plus qu’a modifier les variables en tête de fichier:
#
# Short and long identification intervals. They are setup from config
# variables below.
#
...
variable short_voice_id_enable 1
variable short_cw_id_enable 0
variable short_announce_enable 1
variable short_announce_file "/home/f6kex/rcpa.wav"
variable long_voice_id_enable 1
variable long_cw_id_enable 0
variable long_announce_enable 1
variable long_announce_file "/home/f6kex/rcpa.wav"
Après redémarage de svxlink, le fichier rcpa.wav sera diffusé après chaque “short et long identification”.
Il ne reste plus qu’a créer un script pour récupérer et convertir au bon format les fichiers son (voir article partie 1).
#!/bin/bash
#suppression du fichier rcpa.wav
rm rcpa.wav
#téléchargement des derniers fichiers
wget -q "https://f6kex.fr/f1zth/msg.wav" -O /home/f6kex/msg.wav
wget -q "https://f6kex.fr/f1zth/vigi.wav" -O /home/f6kex/vigi.wav
#si le fichier msg.wav existe et non vide
if [ -s /home/f6kex/msg.wav ]
then
# créer un fichiers wav en concaténant msg et vigi
sox /home/f6kex/silence.wav /home/f6kex/msg.wav /home/f6kex/silence.wav /home/f6kex/vigi.wav -r 16000 -b 16 /home/f6kex/tmp.wav
else
# créer un fichier son avec uniquement vigi
sox /home/f6kex/silence.wav i/home/f6kex/vigi.wav -r 16000 -b 16 /home/f6kex/tmp.wav
fi
# augmentation du niveau
sox /home/f6kex/tmp.wav -r 16000 -b 16 /home/f6kex/rcpa.wav vol 6db
Enfin on utilise des job CRON pour rafraichier la page de génération des messages de vigilance (toutes les 15 min) et pour télécharger les fichiers son (toutels les 10 min).
crontab -e
#update page vigi.php pour génération des messages de vigilance
*/15 * * * * /home/f6kex/update_vigi.sh
#download fichiers msg.wav et vigi.wav
*/10 * * * * /home/f6kex/msg.sh
La mise à jour des messages météo se fait avec le script update_vigi.sh qui recharge juste la page vigi.php
#!/bin/bash
wget -q "https://f6kex.fr/f1zth/vigi.php?admin=xxxxx" -O /home/f6kex/vigi.log
Et voila… Le transpondeur annonce maintenant automatiquement le niveau de vigilance météo toutes les 15min. Je ne me suis pas étendu sur le fichier msg.wav, il s’agit juste d’un fichier que l’on peut utiliser pour diffuser n’importe quelle annonce (info du radio club, annonce importante). Il suffit de le créer (enregistrement vocal ou synthèse vocale) et de le déposer au même endroit que vigi.wav
73,
Frédéric (F4IJC)
Vigilance météo & svxlink
Partie 1: source de données et génération des messages vocaux (.wav)
Les données opendata de météofrance étant difficilles à récupérer en automatique, nous utilisons l’API d’Opendatasoft qui les met à disposition au format JSON.
Les données sont récupées par l’intermédiaire d’une page web en php.
$json = file_get_contents("https://data.opendatasoft.com/api/records/1.0/search/?dataset=vigilance-meteorologique%40public&q=isere&facet=couleur");
$parsed_json = json_decode($json);
$nom_dept = $parsed_json->{'records'}[0]->{'fields'}->{'nom_dept'};
$couleur = $parsed_json->{'records'}[0]->{'fields'}->{'couleur'};
$datefin = $parsed_json->{'records'}[0]->{'fields'}->{'dateprevue'};
$risque = $parsed_json->{'records'}[0]->{'fields'}->{'risque_valeur0'};
Les données sont ensuite misent en forme avant d’être envoyées à la synthèse vocale. ex: Bulletin de vigilance météo pour le département: ISERE. Niveau de vigilance: Vert.
$msg_vigi = "Bulletin de vigilance météo pour le département: ".$nom_dept.".";
if (strlen($risque)>0) {
$msg_vigi = $msg_vigi."Alerte vigilance en cours. Niveau ".$couleur." pour ".$risque;
}
else {
$msg_vigi = $msg_vigi . " Niveau de vigilance: ".$couleur.".";
}
La synthèse vocale est réalisée avec l’API de VoiceRSS. VoiceRSS propose un API gratuit allant jusqu’a 350 requêtes par jour ainsi qu’un SDK pour PHP.
<?php
// include SDK VoiceRSS
require_once('/home/xxx/www/xxx/voicerss_tts.php');
$api='xxxxx clé API xxxxxx';
$tts = new VoiceRSS;
$voice = $tts->speech([
'key' => $api,
'hl' => 'fr-FR',
'v' => 'axel',
'src' => $msg_vigi, //Message à synthétiser
'r' => '-1',
'c' => 'wav',
'f' => '16khz_16bit_mono',
'ssml' => 'false',
'b64' => 'false'
]);
//stockage du résultat dans un fichier .wav file_put_contents('/home/xxx/www/xxx/vigi.wav',$voice['response']);
Fin d’émission

C’est avec tristesse que nous vous faisons part du décès de notre ancien président Jacques BOURRAT (F6BHB). Il était membre du RCPA depuis juin 1966.
Jacques a été membre du bureau du RCPA de 1972 à 1981 et fût président en 1973 et 1974.
Rencontres UFT 2020

F6KEX remporte sa première coupe lors des rencontres UFT 2020 avec 100 QSO et 43254 points.
Le RCPA arrive 18ème au classement général et 1er Radio-Club !
Assemblée Générale
24 janvier 2021 à 10h
En raison du contexte sanitaire actuel, l’assemblée générale du RCPA se tiendra en visioconférence.
Lien pour la connexion : https://bbb.fdn.fr/b/f4i-vvi-qff-nmf
Les membres recevrons le code d’accès par email. Si vous n’êtes pas encore membre mais souhaitez participer à l’assemblée générale, faites une demande par mail dans le menu “contact”.
Refonte du site !
Bienvenue sur le nouveau site du Radio Club de la Porte des Alpes.
Prochainement vous trouverez ici toutes les infos sur les activités du club, rencontres, contests, activations, chasse au renard, etc..