Synthèse vocale + audios aléatoires dans Anki!

Hello tout le monde,

Deux petites astuces très chouettes que je viens de découvrir pour varier les audios automatiques de vos cartes Anki.

Comme beaucoup sur le forum, j’utilise depuis bientôt 2 ans l’add-on « Chinese Support Redux » pour générer automatiquement des audios sur mes cartes Anki — pour ça il utilise la synthèse vocale de Google ou bien d’autres sites comme Baidu.

Problème, récemment j’ai commencé à trouver que les audios traînent un peu en longueur, surtout pour des mots très connus. Je voulais trouver un moyen de les accélérer mais c’est impossible dans AnkiMobile (sur iPhone et iPad).

Alors comment faire?? Et bien sur les versions récentes de Anki (depuis Anki 2.1.20 sur ordi, et AnkiMobile 2.0.56) il est possible d’utiliser la synthèse vocale embarquée (Text-to-Speech ou TTS pour les intimes) sur votre appareil !
Tout est expliqué ici : Field Replacements - Anki Manual

Si vous avez suivi la fabrication de carte des tutoriels vidéos d’Alex, il suffit de remplacer le champ {{Audio}} par l’une des options suivantes. Vous pouvez aussi voir si votre appareil vous donne d’autres options en tapant {{tts-voices:}} : les différentes langues et voix proposées seront directement visibles sur votre carte Anki, il ne reste plus qu’à copier.

Ça ressemble à ça dans la fenêtre de prévisualisation de carte :


Pour le chinois, il faut chercher en bas de la liste des articles qui commencent par :

  • {{tts zh_CN… (pour le mandarin)
  • {{tts zh_TW… (pour la variante Taiwan que je vais aussi intégrer pour voir)
  • {{tts zh_HK… (pour le cantonais)

Sur mon iPad j’ai ces quatre voix là de disponible :

  {{tts zh_CN voices=Apple_Ting-Ting:Hanzi}}
  {{tts zh_CN voices=Apple_Li-mu:Hanzi}}
  {{tts zh_CN voices=Apple_Yu-shu:Hanzi}}
  {{tts zh_TW voices=Apple_Mei-Jia:Hanzi}}

Bien sûr, il vous faudra remplacer ici le mot Hanzi si le nom de votre champ de caractère chinois est différent !

Notez que certaines voix ne marcheront pas sur Mac (j’ai pas compris pourquoi) donc il faut faire des tests sur iPhone / iPad pour décider la voix qui vous intéresse. (je n’ai pas testé sur Android !)

Personnellement je préfère Apple_Yu-shu à la voix par défaut Apple_Ting-Ting, mais dans certains cas les résultats sont inégaux… J’aime bien aussi Apple_Li-mu qui donne une voix masculine.
Et la voix taiwanaise ne peut pas faire de mal j’imagine…

Mais alors, si plusieurs voix vous plaisent, et si vous voulez en même temps continuer d’utiliser la voix Google de Chinese Support Redux, comment faire???

Et bien voici une seconde méthode très cool que j’ai découverte en posant la question hier sur le forum Anki :

Elle permet de déclencher aléatoirement seulement l’un des sons disposés sur votre carte.

Il suffit de rajouter ce petit script au dessus de la carte en question, puis de lister plusieurs options de sons.

    <script>
    {
    		    function randomInt(max) {
    		        	return Math.floor(Math.random() * max);
		    }	
		    const audios = [...document.querySelectorAll(".soundLink")];
		    audios[randomInt(audios.length)].click();
    }
    </script>

    <div style='font-family: Hoefler Text; font-size: 70px;'>{{Pinyin}}</div>

    {{Audio}}
    {{tts zh_CN voices=Apple_Ting-Ting:Hanzi}}
    {{tts zh_CN voices=Apple_Li-mu:Hanzi}}
    {{tts zh_CN voices=Apple_Yu-shu:Hanzi}}
    {{tts zh_TW voices=Apple_Mei-Jia:Hanzi}}

En l’occurence j’ai mis mon champs {{Audio}} (celui qui est rempli automatiquement par Chinese Support Redux) et aussi les 4 options de TTS disponibles sur iPad.
À chaque fois qu’une carte apparaît, on entend donc seulement l’un des sons.

Voici à quoi ça ressemble chez moi dans Anki

Vous allez voir maintenant 5 boutons de son, mais seulement un sera déclenché à la lecture de la carte. Il suffit de copier la même chose dans chacune des carte qui vous intéresse : moi je l’ai mis dans les 3 sens, pour chaque côté (question ou réponse) qui normalement jouerait un audio.

**ATTENTION : Pour les decks où vous utiliserez cette fonction, peut-être que vous aurez besoin d’activer les deux options Audio ci-dessous. Je suis pas certain que ce soit obligatoire, mais à tester si tout ne fonctionne pas comme prévu **

Voilà, l’intérêt pour moi c’est évidemment la variété, et aussi ce que je voulais à la base : les voix TTS sont un peu plus rapides et nerveuses / « punchy » par défaut.
Mais vous pouvez toujours les ralentir en suivant ce modèle :

    {{tts zh_CN voices=Apple_Ting-Ting speed=0.8:Hanzi}}

(ou 0.8 indique un léger ralentissement par rapport à la vitesse normale qui est notée 1.0)

À noter pour finir que les voix vont parfois dire les tons de vos pinyins un peu différemment, suivant l’algorithme, mais aussi évidemment de manière imprévisible pour les caractères polysémiques et / ou à multiples prononciations. Dans ce cas, à vous de décider si c’est la bonne solution pour vous ! :wink:

1 « J'aime »