Projet

Général

Profil

AbulEduPicottsV1

Intégration de la libpicotts dans une classe Qt/C++ pour faciliter son utilisation dans les logiciels du Terrier.

Code source

Pour l'ajouter à votre projet en tant que branche externe

git submodule add http://redmine.abuledu.org/ryxeo/leterrier-developpeurs/abuledupicottsv1.git src/lib/abuledupicottsv1

Mainteneur de la lib:

git clone ssh://gitolite3@redmine.abuledu.org/repositories-redmine/ryxeo/leterrier-developpeurs/abuledupicottsv1.git

Installation

Pour utiliser la lib tts pico il faut installer

Sous linux

  • libttspico-data
  • libttspico-dev
  • libttspico-utils
  • libttspico0

Ces paquets sont disponibles sur le serveur https://redmine.ryxeo.com/projects/ryxeo/files/

Sous windows

  • récupérer le code du paquet source debian/ubuntu par exemple
  • copier sur serveur de build windows dans C:\code\svox-git
  • ouvrir un msys terminal
  • cd /c/code/svox-git/pico
  • ./autogen.sh
  • ./configure -> plante parcequ'il ne trouve pas gcc
  • export PATH=$PATH:/c/QtDSL/mingw/bin/
  • ./configure
  • make

Note: supprimer dans le makefile toutes les références à pico2wave dont on a pas besoin et qui provoque des problèmes avec popt.h

Le résultat est un fichier qui est dispo dans https://redmine.ryxeo.com/projects/ryxeo/files/ : la lib compilée avec la même chaine de compilation que les logiciels

Sous MacOS

Utilisation

  • Modification du fichier .pro de votre projet
#AbulEduPicottsV1
include(lib/abuledupicottsv1/abuledupicottsv1.pri)
  • Dans votre fichier d'entête
#include "abuledupicottsv1.h" 

.../...

    AbulEduPicottsV1 *m_picoLecteur;
  • Utilisation dans le fichier cpp
m_picoLecteur = new AbulEduPicottsV1(4);
m_picoLecteur->abePicoPlay("<break time=\"1s\"><speed level=\"80\">Bonjour <break time=\"20ms\">Jean-Louis.</speed>");

Codes des langues

Comme vous avez pu le remarquer le paramètre "4" est passé au constructeur de AbulEduPicottsV1, c'est juste pour initialiser le module sur la langue française, voici les différents codes possibles:
  • 0: "USA"
  • 1: "GBR"
  • 2: "DEU"
  • 3: "ESP"
  • 4: "FRA"
  • 5: "ITA"

Vitesse de lecture

Il est possible via des accesseurs de savoir la vitesse de lecture

int abePicottsGetSpeedLevel() const;

et de la modifier
void abePicottsSetSpeedLevel(int speedLevel);

La vitesse est initialisée à sa valeur "normale" (valeur 100) et peut être ralentie jusqu'à 5 fois (valeur 20) ou accélérée jusqu'à 5 fois (valeur 500).

J'ai posé une balise pour pouvoir peut être s'en servir un jour nommée "pitch" qui permet d'avoir une voix plus ou moins grave/aigüe, mais je l'ai laissée pour l'instant en dur à 100 dans le code et je n'ai pas créé d'accesseurs, à voir si quelqu'un en émet la demande...

Redmine Appliance - Powered by TurnKey Linux