1 votes

Comment utiliser la synthèse vocale google avec le lecteur de livres électroniques Foliate installé dans l'image de base Ubuntu dans un téléphone Android ?

J'ai installé le lecteur d'ebook Foliate après avoir installé l'image de base Ubuntu pour le téléphone Android.

Je veux utiliser gTTs qui utilise le service de conversion de la parole en texte de Google, car sa voix est bien meilleure que celle de l'ordinateur. espeak ou festival . J'ai son activé dans Termux. Le script dans le fichier Folioté wiki utilise play à partir de sox . Cependant, pour une raison quelconque, sox ne semble pas fonctionner car il ne trouve pas de périphérique audio (il semble que sox utilise ALSA, mais seul Pulseaudio fonctionne avec Termux sous Android).

Comment utiliser les gTT avec Foliate ?

1voto

Archisman Panigrahi Points 15902

Cette réponse n'est pas nécessite un appareil Android enraciné. Premier démarrer Ubuntu dans Termux.

  1. Installer gTTs avec pip.

    apt install python3-pip
    pip3 install gTTs
  2. Installez VLC (nous utiliserons VLC au lieu de sox ).

    apt install vlc

    (mpv ne fonctionne pas car ffmpeg semble avoir une bug )

  3. L'image de base d'Ubuntu permet de se connecter en tant qu'utilisateur root par défaut. Cependant, vlc refuse de s'exécuter en tant que root. Permettons à VLC de s'exécuter en tant que root, comme suit cette réponse

    sed -i 's/geteuid/getppid/' /usr/bin/vlc
  4. Maintenant, modifions le script dans Foliate wiki pour fonctionner avec VLC.

    Le script original était,

    #!/bin/bash
    gtts-cli -l $FOLIATE_TTS_LANG_LOWER --file /dev/stdin | play -t mp3 - &
    trap 'kill $!; exit 0' INT
    wait

    J'ai trouvé que $FOLIATE_TTS_LANG_LOWER crée souvent des langues (par exemple en-gb ) qui ne sont pas présents dans le catalogue des gTTs. Comme je lis principalement des ebooks en anglais, j'ai remplacé $FOLIATE_TTS_LANG_LOWER --> en .

    De plus, par défaut, VLC ne se ferme pas après la lecture d'un fichier multimédia. Par conséquent, Foliate ne peut pas tourner automatiquement les pages pendant la lecture du texte. Nous devons exécuter la version en ligne de commande de VLC ( cvlc ) avec le --play-and-exit option.

    Le script modifié est,

     #!/bin/bash
     gtts-cli -l en --file /dev/stdin | cvlc --play-and-exit - &
     trap 'kill $!; exit 0' INT
     wait

    Sauvegarder ce script en /usr/local/bin/gtts et le marquer comme exécutable.

     chmod +x /usr/local/bin/gtts
  5. Ouvrez les préférences de Foliate, et entrez la commande /usr/local/bin/gtts dans le champ pour la synthèse vocale.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X