Bonjour
Que vous utilisiez le plugin Alexa XX ou Voice Monkey, vous savez sans doute qu’il est possible de faire "parler Alexa" en utilisant certains effets Amazon.
C’est le cas du chuchotement que j’affectionne particulièrement, car suivant l’heure de diffusion, je le trouve plus adapté/agréable qu’une simple baisse du volume.
Pour appliquer cet effet, il faut encadrer votre MESSAGE de cette façon :
<amazon:effect name="whispered">MON MESSAGE</amazon:effect>
ou Avec Voice Monkey
Cela fonctionne très bien, mais selon l’heure où vous souhaiter diffuser, cela vous oblige à gérer 2 messages :
- Mode chuchotement: <amazon:effect name=« whispered »>MON MESSAGE</amazon:effect>
- Mode normal: MON MESSAGE
Souhaitant éviter de rédiger systématiquement 2 messages en fonction de l’heure de diffusion et de conditionner leur lecture par un SI, j’ai rajouté une option sous forme de TAG dans le code écrit en tout début de ce sujet.
Le nouveau code est le suivant (le code du post initial n’a pas été modifié):
# Version du 23 Novembre 2025
# Version avec TAG de chuchotement
# Ajouter le TAG "Whisper" = 1 pour chuchoter ou "Whisper" = 0 ou rien pour un parler normal
$tags = $scenario->getTags();
$Voice_Message = $tags['#Voice_Message#'];
# Si le message est vide ou omis
if (empty($Voice_Message)) {
$Voice_Message = "Désolé je n'ai rien à dire";
}
# Si le device est vide ou omis, envoi sur le device par défaut
$Voice_Device = $tags['#Voice_Device#'];
if (empty($Voice_Device)) {
$Voice_Device = "monkey-salon"; # <- Mettre ici le nom de votre Device par défaur
}
$Voice_Whisper = $tags['#Whisper#'];
# Si Whisper n'est pas précisé ou différent de 0 et 1
if ((empty($Voice_Whisper)) or ($Voice_Whisper != 1)) {
$Whisper_Pref = "";
$Whisper_Suff = "";
$Voice_Whisper = 0 ;
}
if ($Voice_Whisper == 1) {
$Whisper_Pref = "%3Camazon%3Aeffect%20name%3D%22whispered%22%3E" ;
$Whisper_Suff = "%3C%2Famazon%3Aeffect%3E";
$Voice_Whisper = 1 ;
}
$scenario->setLog('DEBUG DEVICE: '.$Voice_Device);
$scenario->setLog('DEBUG WHISPER: '.$Voice_Whisper);
$Encode_Message = urlencode($Voice_Message);
$scenario->setLog('DEBUG ENCODE: '.$Encode_Message);
$url_VM = 'https://api-v2.voicemonkey.io/announcement?token=METTRE-ICI-VOTRE-TOKEN&device=' .$Voice_Device .'&text=' .$Whisper_Pref . urlencode($Voice_Message) .$Whisper_Suff;
$scenario->setLog('DEBUG URL: '.$url_VM);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url_VM);
$response = curl_exec($ch);
curl_close($ch);
$scenario->setLog('DEBUG RETOUR : '.$response);
Comme pour ma première publication, pensez à remplacer votre TOKEN ainsi que votre Voice_Device par défaut.
Si vous utilisez déjà le bloc code dans différents scénarios, vous n’aurez rien à changer ou modifier, sauf si vous souhaitez faire "Chuchoter Alexa".
Dans la première version du code, nous avions 2 tags : Voice_Message et Voice_Device.
Rien ne change, Alexa continuera de parler normalement avec le nouveau code.
Par contre si vous rajoutez un troisième tag nommé Whisper, vous pourrez activer le chuchotement sur votre message précédement défini.
Si le TAG Whisper=0 ou n’existe pas, Alexa parlera normalement
Si le TAG Whisper=1 Alexa chuchotera
Vous pouvez donc opter pour une activation manuelle du chuchotement, ou prédéfinir un "Etat" selon vos habitudes.
Personnellement j’ai opté pour cette méthode qui active ou désactive le mode chuchotement en fonction de mes heures de coucher et lever.
Bonne lecture ![]()


