Merci de cliquer ici si vous souhaitez vous inscrire sur le forum.

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Aide à la lecture
#1
Bonjour,

Je vous présente mon programme d'aide à la lecture , qui est en version alpha.
(Ne vous inquiétez pas si vous cliquez sur des icones et que ca ne marche pas , etc ...)


En fait ce projet est à la base juste une toute petite partie d'un gros logiciel d'aide à l'apprentissage de la lecture, écriture, maths que j' avais fait que j'essaye de subdiviser en plusieurs petits logiciels pour maintenir plus facilement ( j 'ai toujours le projet de garder le gros logiciel aussi), mis je profite pour améliorer le code)

[Image: Main-032.png]

Bref on peut cliquer sur les mots, lire le texte, etc ..

Il intègre sa propre synthèse vocale ( à tester sur livre ds bananes) , mais aussi peut lire des fichiers audios intégrer dans les sous-titres ( j'aime lire , pour une lecture mot à mot , et comptons les animaux pour une lecture phrase par phrase)



Download 1631043870_epubLecteur.tar.xz from privfile.com


Voilà je demande des avis sur ce que vous aimerez qui soit incorporé. Pouur les "bugs", si c'est des petits buts, c'est surement que les corrections sont en attente d'être incorporé de mon côté, donc pas besoin de me prévenir pour l'instant.

Aussi, il y a -t -il des formats spécifiques que vous voudriez lire , à part les epubs , je pensais par exemple à du markdown, pour pouvoir faire des histoires très rapidement , mais peut-être qu'il existe des formats que je ne connais pas.
Répondre
#2
Bon, j'ai lancé en rapide sur ma machine et j'ai des messages d'erreur :

Code :
speechdispatcher/InternalTTSFlite.hx:152: [Phonemes/fr_phonemes.txt,Phonemes/a.ogg,icons/showhelp_readableWord.png,Phonemes/b.ogg,Phonemes/77.ogg,Phonemes/87.mp3,Phonemes/d.ogg,Settings/LIT_fr_firstWordsLearned.csv,Settings/SH_fr_ShapesNames.txt,Phonemes/e.ogg,Settings/LIT_fr_Curriculum_Montessori.ini,Phonemes/A-2.ogg,Phonemes/f.ogg,Phonemes/fr_o_or.mp3,Phonemes/g.ogg,icons/showhelp_silentLetters.png,Phonemes/h.ogg,Settings/LIT_fr_ConfusingSounds.txt,Phonemes/i.ogg,Phonemes/j.ogg,Phonemes/E-2.ogg,Phonemes/k.ogg,Phonemes/l.ogg,epub/asb9956.epub,Phonemes/m.ogg,Settings/LIT_fr_ConsonnantBlends.txt,Phonemes/n.ogg,Phonemes/En.mp3,Settings/LIT_fr_Dictionary.csv,Phonemes/o.ogg,Phonemes/J-2.ogg,epub/asb13156.epub,Phonemes/p.ogg,Phonemes/2_.ogg,Settings/GEN_fr_TTSWords.txt,epub/asb35330.epub,Phonemes/En-2.ogg,Phonemes/R.mp3,Phonemes/s.ogg,Phonemes/t.ogg,Phonemes/o-2.mp3,Phonemes/n_.ogg,Phonemes/u.ogg,Phonemes/v.ogg,icons/showhelp_sightWord.png,Phonemes/x.ogg,Phonemes/S-2.ogg,Phonemes/9.ogg,Phonemes/y.ogg,Phonemes/z.ogg,Settings/LIT_fr_Curriculum_EpineEnFleur.ini,Settings/LIT_fr_rules.txt,Settings/LIT_fr_ActiveDictionary_EpineEnFleur.csv,Settings/LIT_swa_Phonemes_features.txt,Settings/NonLIT_fr_Curriculum.ini,epub/megustaleer.epub,Settings/LIT_fr_Dictionary (copie).csv,Phonemes/aro.mp3,Settings/LIT_fr_General.ini,Settings/NonLIT_fr_Curriculum_add_shapes.ini,Phonemes/a.mp3,Settings/GEN_Instructions_fr.ini,Phonemes/b.mp3,Phonemes/87.ogg,assets/linux//festival_server,Phonemes/d.mp3,Settings/LIT_fr_studentLogTemplate.txt,Phonemes/77.mp3,icons/showhelp_complexGraph.png,Phonemes/e.mp3,Settings/NonLIT_fr_Curriculum_add_colours.ini,Settings/LIT_fr_ActiveDictionary_EpineEnFleur (3e copie).csv,Phonemes/fr_o_or.ogg,Phonemes/f.mp3,Phonemes/A-2.mp3,Settings/LIT_KeyboardLayout.txt,Phonemes/g.mp3,Phonemes/h.mp3,Phonemes/a-ancien1.ogg,Phonemes/i.mp3,Settings/GEN_InstructionsRules_fr.ini,Phonemes/j.mp3,Phonemes/E-2.mp3,Phonemes/k.mp3,Settings/LIT_fr_ActiveDictionary_EpineEnFleur (copie).csv,Settings/Readme.md,Phonemes/En.ogg,Settings/LIT_fr_ShortSentences_EpineEnFleur.txt,Phonemes/l.mp3,Phonemes/m.mp3,Phonemes/n.mp3,Settings/LIT_fr_TTSCorrector.ini,Phonemes/J-2.mp3,Phonemes/o.mp3,Phonemes/p.mp3,Phonemes/R.ogg,Phonemes/En-2.mp3,Settings/LIT_Rules.scm,Phonemes/s.mp3,Phonemes/o-2.ogg,Settings/LIT_fr_ActiveDictionary.csv,Phonemes/t.mp3,Settings/NonLIT_fr_General.ini,icons/showhelp_vowels.png,Phonemes/n_.mp3,Phonemes/u.mp3,Phonemes/v.mp3,Phonemes/S-2.mp3,Settings/LIT_fr_ActiveDictionary_EpineEnFleur (autre copie).csv,Phonemes/x.mp3,Phonemes/y.mp3,Phonemes/9.mp3,Phonemes/z.mp3,fra-MYT-female;zoe.flitevox,Phonemes/aro.ogg,icons/showhelp_multipleReadings.png]
speechdispatcher/InternalTTSFlite.hx:154: /home/jferry/Tힿힿlힿힿchargements/1631043870_epubLecteur/bi؁ႀ//./fra-MYT-female;zoe.flitevox

Invalid UTF16
Error : Invalid UTF16

Tu dis qu'il incorpore sa propre synthèse vocale : ma démarche actuelle serait plutôt d'avoir une synthèse vocale uniforme si possible dans Primtux.
Le but d'une distribution c'est d'apporter une homogénéité (dans la mesure du possible).

Je ne suis pas contre d'avoir d'autres TTS mais il faut faire un choix de moteur par défaut et "éventuellement" donner la possibilité d'en changer de la façon la plus simple.


Pour les formats de lecture, j'ai une demande pour gSpeech de lire des pdfs et odt/word. (https://github.com/mothsART/gSpeech/issues/7)
Ça me parait pertinent.
Epub c'est déjà sans doute élitiste pour des profs alors markdown...

L'idéal selon moi serait d'avoir un outil dédié à ça : une lib avec une API (et accessoirement de la ligne de commande).
On devrait sur l'API faire ce genre de chose (à minima) :

- open(path, type) // on précise le chemin du fichier et le type attendu (epub, pdf, odt etc.)
- start(position) // on commence la lecture avec un param optionnel qui précise l'emplacement
- next(nb) // renvoi la ou les prochaines phrases à lire. nb est optionnel : donne le nb de phrases
- prev(nb) // on revient en arrière de n phrases
- stop() // ça renvoi la position ou la lecture c'est arrêté (permet au soft appelant de relancer la lecture exactement là ou elle a été stoppé

Avec une lib du genre, on mutualise nos efforts
Répondre
#3
Ah zut pour le bug, je pense que c'est à cause du path Téléchargements, il faudrait que je règle ça , mais pas tout de suite, car il faut que je touche à du C que j'aime pas trop. Donc pour l'instant il faut le déplacer ^^

En fait j'explique ma démarche, en fait mon programme (l'original celui que je suis en train de découper), au départ était censé marcher dans tous les systèmes: linux , android, mac, windows, etc .
Le problème c'est que pour utiliser toutes les fonctionnalités et avoir un vrai intérêt, fallait utiliser le SSML ou un équivalent mais sous android, Ivona que j'aimais beacoup qui supportait le SSML s'est fait racheté par AMAZON et n'était plus disponible.
Donc à partir de ce moment-là, je me suis décidé de créer ma propre voix de synthèse vocale ( avec festival et flite), comme ça quelque soit le système où ça se trouve, ça marche.


C'est pour cà que la voix de synthèse est intégrée, mais le programme peut/pourra ( je suis en train réintégrer cette partie là aujourd'hui d'ailleurs ) supporter énormément de TTS externes , donc j'intégrerai aussi sûrement GSpeech, surtout si tu as un api et une ligne de commande Smile



-------------------------------
Pour les formats de lecture, j'ai une demande pour gSpeech de lire des pdfs et odt/word. (https://github.com/mothsART/gSpeech/issues/7)
Ça me parait pertinent.
Epub c'est déjà sans doute élitiste pour des profs alors markdown...
-------------------------------

Non en fait, le programme, tu verras quand tu testeras, ne fait pas que lire le texte.
En fait ça lit le texte en montrant ce qui est lu.
Il y a pas mal d'options
- tu lis les mots syllabes par syllabes ( tu peux tester en cliquant sur un mot), et la syllabe lu s'affiche
- tu lis les mots phonème par phonème ( là c'est pas accessible sur le GUI, mais ça sera configurable)
- tu montres mot par mot, etc

Il faut le voir comme un livre pour enfant interactif basiquement Smile

C'est pas fait pour écrire du texte, et lire ce que tu as écrit ...


------------------------------------------------------------
Je ne suis pas contre d'avoir d'autres TTS mais il faut faire un choix de moteur par défaut et "éventuellement" donner la possibilité d'en changer de la façon la plus simple.
-----------------------------------------------------------

Je suis complètement d'accord, d'ailleurs j'ai lu que tu voulais rendre GSPeech agnostic ce qui est super.
En fait moi -même je développe un voix qui n'ait pas beaucoup de puissance, comme pico d'ailleurs. (J'ai déjà tester flite sur un esp32 ^^)
Mais il existe un autre projet open source qui font des bonnes voix française pour linux, le problème, c'est que ça marche efficacement sur les ordis récents. ( D'ailleur il faut ue je les aide sur leux voix françaises, c'est des anglophones qui le font, leurs voix sont très belles, mais un peu fausse car les données sur lesquels ils se basent sont faux )
Répondre
#4
Yoplala a écrit :Ah zut pour le bug, je pense que c'est à cause du path Téléchargements, il faudrait que je règle ça , mais pas tout de suite, car il faut que je touche à du C que j'aime pas trop. Donc pour l'instant il faut le déplacer ^^

C'est bien ça... je suis même pas sur qu'une modif soit nécessaire vu que si c'est empaqueté, ça sera sur un ascii path.
Ok, pour les explications.

Yoplala a écrit :donc j'intégrerai aussi sûrement GSpeech, surtout si tu as un api et une ligne de commande

L'API est en python et j'imagine que pour avoir un truc universel, faudrait du C... à voir si c'est facilement réalisable. (toujours fait dans l'autre sens)


J'ai testé ton soft et c'est pas mal en effet.
Je me suis tapé quelques "segmentation fault" mais bon, ça fait parti de la stabilisation j'imagine.

Si je suis bien, ton epub contient le SSML (je découvre que ça fait parti des specs de epub Cool ).
Pdf doit le faire également, non ?
Pour markdown, faut utiliser une extension du genre https://www.speechmarkdown.org/basics/what/ j'imagine ?

Je pensais idéalement générer le SSML à partir de la BDD de grammalect https://grammalecte.net/home.php?prj=fr mais :
- à interfacer, ça risque d'être coton
- ça aura jamais la finesse d'un SSML édité à la main j'imagine (mais on peut rêver)

Pour l'autre TTS, tu parles de quel projet ?
Perso, j'avais de bons espoirs en https://github.com/mozilla/TTS mais ça à l'air d'être à l'abandon
Répondre
#5
mothsart a écrit :J'ai testé ton soft et c'est pas mal en effet.
Je me suis tapé quelques "segmentation fault" mais bon, ça fait parti de la stabilisation j'imagine.


En effet, pour l'instant c'est encore dans la période où c'est normal :lol:


mothsart a écrit :Si je suis bien, ton epub contient le SSML (je découvre que ça fait parti des specs de epub Cool ).

Non pour les epubs je n'ai pas utilisé du ssml pour l'instant. Là ça utilise soit une vrai voix, soit ma synthèse vocale.
Mais en effet on peut mettre des ssml dans epub Smile, j'ai mis dans ma liste de TODO le fait de l'intégrer


mothsart a écrit :Pdf doit le faire également, non ?

Les pdfs sont fait de façon très compliqués et très relous ( c'est vraiment horrible ... ) . Donc je pense malheureusement pas que ça sera avant un très long moment , si jamais ça se fait.


mothsart a écrit :Pour markdown, faut utiliser une extension du genre https://www.speechmarkdown.org/basics/what/ j'imagine ?

En fait je pensais le markdown, pour pouvoir facilement créer un "livre" pour enfant. Tu mets de 2-3 images et quelques phrases, et un enfant peut avoir un livre personnalisé par exemple . Parce que un epub, c'est un peu relou à créer, si t'as pas d'outils spécialisés.
Pour l'instant j'ai toute la base de donné de african story book que je peux utiliser. Mais des livres gratuits en open source, à part ceux-là, il y en pas beaucoup.

(Mais je vais regarder pour speech markdown car je connaissais pas du tout)



mothsart a écrit :Je pensais idéalement générer le SSML à partir de la BDD de grammalect https://grammalecte.net/home.php?prj=fr mais :
- à interfacer, ça risque d'être coton
- ça aura jamais la finesse d'un SSML édité à la main j'imagine (mais on peut rêver)

grammalecte est une base donnée intéressante, mais quand tu dis que tu veux générer le SSML à partir d'elle, c'est à partir de quels informations ?

mothsart a écrit :Pour l'autre TTS, tu parles de quel projet ?
Perso, j'avais de bons espoirs en https://github.com/mozilla/TTS mais ça à l'air d'être à l'abandon

Oui , je connais malheureusement, ça pas l'air très actif .

Mais je parle de https://github.com/rhasspy/larynx qui lui est très actif et qui je pense très bien pour les ordis récents (
comme on voit dans les benchmarks c'est pas encore top pour les raspberry 4 et compagnie , mais je sais qu'ils visent une bonne performance avec raspberry 4 car le but est de l'utiliser comme "alexa" )

Tu peux tester les voix françaises ici , https://rhasspy.github.io/larynx/

comme tu peux voir elles sont très belles mais un peu fausse " je suis allergique, qui est prononcé "je suis allergie" .
Mais en fait c'est juste parce qu'ils utilisent une base de données qui a quelques grosses erreurs. Je le sais parce que j'ai utilisé la même base de données Tongue . J'ai l'intention de leur donner la base de données corrigée, mais il faut juste que je la formate correctement, ce qui est pas très passionnant, donc j'ai pas encore eu le courage.
Répondre
#6
pdf : horrible, on est bien dac.

Pour le markdown, je comprend mieux. Après, t'as des outils comme pandoc qui convertissent du markdown en epub donc ça pourrait faire le job à faible coût.

Excellent ce projet Larynx (en plus fait en Python) !!!

Yoplalal a écrit :J'ai l'intention de leur donner la base de données corrigée, mais il faut juste que je la formate correctement, ce qui est pas très passionnant, donc j'ai pas encore eu le courage.

Oui, j'ai fait pas mal pour gSpeech et c'est vite usant.
Répondre
#7
Yoplalal a écrit :Bonjour,




Voilà je demande des avis sur ce que vous aimerez qui soit incorporé. Pouur les "bugs", si c'est des petits buts, c'est surement que les corrections sont en attente d'être incorporé de mon côté, donc pas besoin de me prévenir pour l'instant.

.

que faire de la page, un mode d'emploi pour essyer
merci
les talents acquis ne nous appartiennent pas, ne les enterreront pas, faisons les fructifier par le partage!
Répondre
#8
Alors comme ça, bonne idée:
- J'aurais mis des icônes de police (petit A et grand A pour montrer qu'on peut l'agrandir)
- Mettre les voyelles en couleur, bof, par contre différencier les syllabes à la lirecouleur oui!
- Je ne sais pas à quoi servent les icones ch, X, oeil et cerveau...
Répondre
#9
Steph a écrit :Alors comme ça, bonne idée:
- J'aurais mis des icônes de police (petit A et grand A pour montrer qu'on peut l'agrandir)
- Mettre les voyelles en couleur, bof, par contre différencier les syllabes à la lirecouleur oui!
- Je ne sais pas à quoi servent les icones ch, X, oeil et cerveau...
Je comprends pas, pour ma part, Je n'ai pas su ouvrir quoi que ce soit..
les talents acquis ne nous appartiennent pas, ne les enterreront pas, faisons les fructifier par le partage!
Répondre
#10
Tu décompresse dans ton home, tu vas dans le répertoire bin et dans un terminal ./Main
Répondre
#11
Steph a écrit :Alors comme ça, bonne idée:
- J'aurais mis des icônes de police (petit A et grand A pour montrer qu'on peut l'agrandir)
- Mettre les voyelles en couleur, bof, par contre différencier les syllabes à la lirecouleur oui!
- Je ne sais pas à quoi servent les icones ch, X, oeil et cerveau...


Merci pour tous ces retours . Je suis toujours preneur.

Alors, les autres icones ne sont pas encore tous réimplémentés, mais basiquement, il y avait plusieurs idées :
- l'icone ch : pour que toutes les combinaisons de graphèmes qui se lisent comme un seul phoneme soit présenté un peu différemment ( un peu collé , par exemple) : comme "ch", "ph", "ou", "eu" ...
- l'icone avec avec les doubles bulles : que les mots homographes aient ce style . ( Ce qui m'arrange pour la synthèse vocale, en effet, la synthèse va dire "ce mot peut se dire soit fil , soit fils " , etc)
- l'icone avec l'oeil, pour les mots soit qui n'ont pas vraiment de règles , soit qu'on doit juste savoir lire sans réléchir, les mots visuels .

En effet au départ , ce programme faisait partie d'un plus gros programme pour enseigner à lire .
Donc en fait il y avait suivi des règles apprises, donc on pouvait avoir l'option de distinguer les mots que tu es censé savoir lire rapidement de ceux que tu es censé juste savoir déchiffrer, de ceux dont tu n'as pas les outils pour déchiffrer.
Je vais peut-être garder ces options, mais il faudra que je réflechisse pour comment les rendre accessibles .
Répondre
#12
Steph a écrit :Tu décompresse dans ton home, tu vas dans le répertoire bin et dans un terminal ./Main

Oui je crois que t'es obligé de passer par le terminal. je vais peut-être mettre un lanceur, qu'on ait juste à cliquer dessus sans passer par le terminal.
Répondre
#13
De toute façon, si tu veux que ça soit inclus dans Primtux, il faudra l'empaqueter en .deb avec un fichier .desktop
Répondre
#14
Steph a écrit :Tu décompresse dans ton home, tu vas dans le répertoire bin et dans un terminal ./Main
merci, j'ai pu faire fonctionner, je laisse aux experts les commentaires, suggestions, etc
les talents acquis ne nous appartiennent pas, ne les enterreront pas, faisons les fructifier par le partage!
Répondre
#15
chti5933 a écrit :
Steph a écrit :Tu décompresse dans ton home, tu vas dans le répertoire bin et dans un terminal ./Main
merci, j'ai pu faire fonctionner, je laisse aux experts les commentaires, suggestions, etc

Ne les laisse pas aux experts ! Smile Je suis ouvert à toutes les suggestions. Mais les trucs qui paraissent idiots peuvent donner de bonnes idées .
Répondre
#16
Bon, voici une version deb

Download 1633641122_grimoire.deb from privfile.com

Ca s'appelle Grimoire désormais Big Grin

Changelog :
- plein d'améliorations , certains bugs en moins, etc ... mais pas trop de choses qui changent pour l'utilisateur

Dans le future
- un vrai système de changelog Wink
- je réintégrerais un dictionnaire français ( pour pas qu'il fasse de fautes dans les lectures )
- réintégration du système d'homophones
- une version de lecteur espagnol (là il y en a une basique)
- un ui français ( pas de "back", etc ...)
- un téléchargement de livres en ligne sur un github dédié
Répondre
#17
Download 1639059106_grimoire.deb from privfile.com

Bon une nouvelle version. Evidemment, j'ai pas du tout fait ce que j'avais prévu.
Changelog
- reconnaissance vocale !!!!!
- sur certains livres , vous pouvez appuyer rec sur la page et commencé a enregistrer les phrases. Puis vous pouvez les réécouter, en appuyant sur play. Et les mots s'afficheront au fur et à mesure que vous les avez prononcé.
- un téléchargement de livres en ligne sur un github dédié
- d'autres trucs

Dans le futur :
-enregistrement des reconnaissances vocales . ( Ainsi par exemple une mère pourrait lire pour son enfant, et l'enfant l'écouter plus tard)
- un vrai système de changelog wink
- réintégration du dictionnaire français ( pour pas qu'il fasse de fautes dans les lectures )
- corriger le découpeur de syllabes
- réintégration du système d'homophones
- une version de lecteur espagnol (là il y en a une basique)
- un ui français ( pas de "back", etc ...)
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)