Chapitre 6
Le système Talking Reader
Afin d'illustrer cette étude théorique, nous avons tenu à réaliser une partie pratique que nous présentons maintenant. Elle constitue un embryon (minimal mais suffisant) d'outil de consultation de document sonore de parole enregistrée. L'application réalisée a été écrite en langage C orientée objet (1) sous un ordinateur compatible PC muni du système d'exploitation Windows de Microsoft. Elle a été développée dans un environnement 32 bits et fonctionne donc indifféremment sous Windows 95 et Windows NT. La gestion des ressources sonores a été réalisée avec l'interface MCI (Media Control Interface). MCI est une interface de commande de haut niveau permettant de contrôler les outils multimédia et les fichiers de ressources. Elle génère des applications indépendantes des caractéristiques matérielles. Nous avons utilisé les commandes par messages de la MCI.
Ce système ne constitue, en aucun cas, une application finalisée. Il se veut davantage un prototype destiné à évaluer et éventuellement à valider des concepts de navigation sur des documents sonores.
La volonté première de ce système, réalisé dans le cadre d'un stage de DEA était de démontrer la faisabilité et l'opportunité du concept d'hyperlien pour la consultation d'un document sonore. Plus généralement, nous avons voulu montrer les avantages qu'offre la technologie numérique concernant les fonctions de déplacement au sein d'un document sonore, puisque le principal handicap du son réside dans sa linéarité (se rapporter au chapitre 2.2). Pour cela, nous avons choisi de réaliser les fonctions suivantes parmi les mécanismes proposés au chapitre 5.2 :
Le concept d'hyperlien représente le mieux les possibilités innovantes que peut apporter le support numérique. C'est pour cette raison que nous avons choisi de le concrétiser dans une application.
Avant d'aborder les détails techniques, il nous semble important de resituer le concept d'hypertexte et d'hyperlien. Cette section se consacre à cette tâche.
Par hyperlien, nous entendons un sous ensemble du concept d'hypertexte. Le concept a été énoncé pour la première fois en 1945 par Vannevar Bush, pionnier en informatique et en calcul automatique. Par la suite, Ted Nelson a défini, en 1970, tous les concepts de l'hypertexte d'aujourd'hui. Ils se composent de :
L'hypertexte permet de naviguer entre documents en suivant le cheminement nécessaire à la recherche effectuée. Les liens entre les documents sont établis judicieusement, de manière à :
L'hypermedia est une généralisation de ces concepts aux documents multimédia. L'information finale ne sera plus exclusivement textuelle mais pourra être de nature composite. Elle pourra contenir des composants tels que des images, du son, des animations, ...
L'hyperlien se limitera, dans notre cas, à établir un lien entre deux parties d'information au sein d'un même document sonore. Contrairement à l'hypertexte qui sous-tend une technique d'organisation des documents, nous ne travaillerons pas dans une base hyperaudio mais à l'intérieur d'un unique document. L'extension du concept à une base hyperaudio, ne pose, a priori, pas de problèmes [TVSO94].
Tout comme pour les informations textuelles, les liens représentent un apport considérable pour la navigation à l'intérieur de bases de données sonores. En effet, ils permettent un accès direct à une information corrélée à la partie actuellement consultée. Si cette dernière est jugée intéressante, il y a toutes les chances que l'information pointée par le lien le soit également. On fait ainsi abstraction de toutes les informations inutiles entourant celle que l'on recherche. La méthode de consultation devient non linéaire et permet donc une exploration beaucoup plus efficace que par le passé.
Le concept d'hypertexte est aujourd'hui largement répandu et nous lui reconnaissons des avantages certains. Il est aisé et efficace de consulter un fichier d'aide en ayant la possibilité, par une simple activation, d'obtenir les rubriques des sujets corrélés ou d'offrir une aide contextuelle. Il faut cependant souligner que cette stratégie de navigation pose un certain nombre de problèmes (manque de repères, dispersion de la recherche par exemple) lorsque la recherche s'effectue dans de grandes bases de données (2).
L'auteur aura donc la possibilité d'introduire dans le document des liens référençant des informations précises. Il sera, en particulier, avantageux d'établir un lien entre les éléments de la table des matières et les portions de paroles correspondantes.
Notons que ce concept est largement apprécié des utilisateurs voyants et qu'il apparaît en bonne place dans l'expression des besoins des non-voyants (cf. chapitre 4).
Le système que nous proposons considère, pour l'instant, exclusivement des documents sonores. Une segmentation manuelle, mais qui pourrait être automatisée, est opérée sur les fichiers sonores, au niveau de la phrase. A un niveau plus élevé, les marques des phrases qui débutent un paragraphe ou un chapitre sont rangées respectivement dans des fichiers d'index de type texte.
En fait, la structure du document n'est pas contrainte. Il est nullement nécessaire d'adopter la structuration paragraphe/chapitre. On pourrait opter pour une distinction paragraphe/sous paragraphe et ajouter un index pointant sur des formules mathématiques. L'organisation du texte, issue de l'auteur lui-même, est décrite dans un fichier texte. Le programme s'adapte à cette structure et fournit ensuite des fonctions de navigation suivant les niveaux définis. Pour se déplacer à un chapitre donné, il faudra se positionner au niveau correspondant aux chapitres puis sauter de chapitre en chapitre. La même chose pourra être faîte aux autres niveaux.
Pour disposer d'une représentation des documents adaptés aux objectifs de consultation, nous avons défini trois types de fichiers :
Un fichier de type texte, que l'on appellera fichier de définition et auquel on donnera, par convention, .def comme extension, énumérera les divers composants du livre parlé et les différents niveaux structurels de celui-là. Il se compose :
Et de manière optionnelle :

Fig. 6.1 - Organisation des données du système Talking Reader
Ces fichiers d'index décrivent la globalité du document.
De manière plus formelle, voici la grammaire décrivant la structure du fichier définition :
Nous utilisons ici le formalisme de description des expressions régulières.
Exemple de définition du fichier sonore article.wav ( article.def ) :
[data]
article.wav
[levels]
sentence 13 article.stc
paragraph 6 article.par
chapter 4 article.chp
[anchors]
article.anc
Le contenu de ce fichier pourra être aisément enrichi lors de futures extensions.
Les fichiers d'index contiennent une suite de nombres, sous forme textuelle, séparés par un retour à la ligne. Ces nombres correspondent à des adresses du fichier sonore et constituent des pointeurs vers un endroit précis de son contenu.
Grammaire des fichiers d'index :
0
434244
852342
1469512
2528436
3392154
En reprenant le modéle de tableau du comparatif du chapitre 3, voici les choix que nous avons effectués pour la réalisation de notre système.
|
Talking Reader |
|
|
Modalité |
Son |
|
Norme de représentation |
WAVE |
|
Technique d'accès à l'information |
indexage et adressage |
|
Mode de consultation |
hyperlien |
|
Matériel |
ordinateur |

Fig. 6.2 - Architecture du logiciel.
Une première famille de classes gère tous les problèmes liés au fenêtrage et la communication entre le système d'exploitation et les fenêtres de l'application.
Voir la figure 6.3.

Fig. 6.3 - Hiérarchie des classes de gestion des fenêtres.
Une classe WaveManager fournit une interface de haut niveau pour la manipulation sonore au format Microsoft Wave, contenant le document à consulter.
Une classe MarkManager s'occupe de tous les traitements utilisant les index.
Le lecteur intéressé se rapportera à l'annexe C pour la signature de ces classes.
Nous avons voulu que l'interaction avec notre système soit assez proche de celle avec un ouvrage imprimé. Le processus de recherche de l'information souhaitée peut être similaire à celui d'un document papier. Il est même plus simple puisque l'utilisateur n'a pas besoin d'action physique pour se déplacer dans le livre (comme le fait de tourner les pages); il lui suffit de sélectionner puis d'écouter.
Le clavier constitue le média d'interaction en entrée. En sortie, les restitutions seront essentiellement sonores, parfois doublées graphiquement, de manière redondante. Les commandes sont également accessibles via les menus de la fenêtre principale. Elles sont donc également accessibles aux handicapés visuels en utilisant les facilités d'accès du système d'exploitation, C'est-à-dire, les combinaisons de touches ALT+<lettre soulignée de l'intitulé du menu>.
Des entrées/sorties multimodales (reconnaissance vocale en entrée, affichage braille en sortie, par exemple) pourraient être envisagées. Elles n'ont pu être mises en œuvre faute de temps.
Le fichier est lu en continu après un ordre de lecture. Lorsqu'une ancre est rencontrée, un message sonore (non parlé) la notifie à l'utilisateur. Ce dernier a la possibilité d'activer le lien. Dans ce cas, un autre message sonore indique le déplacement dans le fichier sonore. Puis, la lecture continue à l'emplacement pointé par le lien.
La lecture peut être momentanément interrompue à tout instant.
Une fonction " retour " permet de revenir à l'emplacement du dernier lien activé.
Les flèches directionnelles gauche et droite permettent de se déplacer d'unité d'information en unité d'information.
Les flèches directionnelles haut et bas permettent de changer de niveau d'unité d'information. Ces niveaux sont définis dans le fichier de définition et dépendent du document consulté.
Une avance et un retour rapides sont disponibles pour des déplacements locaux.
|
touche à actionner |
effet |
|
barre espace |
lecture/pause/reprise |
|
entrée |
activation d'une ancre |
|
effacement |
retour à la dernière ancre activée |
|
échappement |
arrêt de la lecture |
|
CTRL+F4 ou X |
fermeture de l'application |
|
+ |
avance rapide |
|
- |
retour rapide |
|
flèche directionnelle droite |
début de l'unité suivante |
|
flèche directionnelle gauche |
début de l'unité précédente |
|
flèche directionnelle haute |
passage au niveau supérieur |
|
flèche directionnelle basse |
passage au niveau inférieur |
|
début (home) ou B |
retour au début du document |
|
Intitulé |
effet |
|
Pause |
interruption momentanée de la lecture |
|
Resume |
reprise de la lecture (suite à une pause) |
|
Stop |
arrêt de la lecture |
|
Talk |
lancer la lecture |
|
level up |
passage au niveau supérieur |
|
level down |
passage au niveau inférieur |
|
exit |
quitter l'application |
|
Intitulé |
effet |
|
Undo |
retourner sur le dernier lien activé |
|
Begin |
retourner au début du document |
|
table of contents |
aller au début de la table des matières |
|
index |
aller au début de l'index |
|
next unit |
aller à l'unité suivante |
|
previous unit |
aller à l'unité précédente |
|
Intitulé |
effet |
|
About |
information sur le logiciel |
1: Borland C++. ![]()
2: C'est le cas du World Wide Web sur le réseau Internet. ![]()
![]() |
![]() |
![]() |