Categories
Comptes rendus activations FFF

Zone Humide “Etang des MORIAUX – FFF:2756

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

Categories
Comptes rendus activations FFF

Zone Humide de CORBELIN – FFF:2925

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

Categories
Comptes rendus activations FFF

Zone Humide Etang de FICHAILLON – FFF2969

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

Categories
Technique

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)

Categories
Technique

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']);
Categories
Infos

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.

Categories
Concours

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 !

Categories
Infos

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”.

Categories
Infos

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..