Le royaume de Eric Buist >> Informatique >> Configuration informatique >> A.R.D.-NAS, mon premier HTPC
Me contacter Plan du site
<< Ajout d'un nouveau disque dur Extensions possibles

Extensions possibles

La machine m'a initialement apporté beaucoup plus de déceptions et de frustrations que de bienfaits. Pendant plusieurs mois, à chaque soir et chaque fin de semaine, j'avais des difficultés avec la connexion wi-fi ou XBMC me plantait à la figure. Mais je ne pouvais pas me résoudre à débrancher la machine, car je ne pourrais rien en faire, après. Je ne veux pas avoir un boîtier horizontal dans mon bureau et je ne veux pas non plus revenir aux CD comme seul moyen d'écouter de la musique dans mon salon. Par chance, le système s'est stabilisé quelque peu à force d'essais et erreurs, mais il surgit des problèmes périodiquement.

Cette page regroupe différentes modifications que je pourrais apporter à la machine pour la rendre plus performante ou utile. Beaucoup de ces extensions ne valent pas la peine pour le moment, car la machine est trop instable sur le plan logiciel.

Télécommande universelle

Mon système de cinéma-maison comporte cinq télécommandes différentes: une pour le téléviseur, une pour le terminal Illico, une pour le système de sons, une autre pour le lecteur DVD qui ne sert presque plus et une qui venait avec mon syntoniseur TV. J'ai essayé de me procurer une télécommande universelle sur DealExtreme, mais cette dernière ne peut pas contrôler mon système de sons. De plus, la télécommande universelle agit simplement comme six télécommandes identiques, différentiables uniquement par la lecture sur l'affichage à cristaux liquides. Cette multiplicité de télécommandes rend mon système très complexe et désagréable à utiliser. Je préfère de loin avoir six télécommandes différentes que je peux distinguer au toucher plutôt que six identiques exigeant des indices visuels pour être différentiées. Comme ce n'est pas un problème pour la plupart des gens, cela risque de prendre un temps infini avant qu'il soit résolu. Il me faudra probablement inventer ma propre solution.

Obtenir une télécommande universelle est devenu très compliquée, car il existe trop de télécommandes différentes, chacun ayant ses propres fréquences infra-rouge. Pratiquement aucune télécommande ne peut les gérer toutes. Celles qui le peuvent sont très difficiles à programmer, nécessitant souvent l'installation d'un logiciel fonctionnant sous Windows seulement et la création d'un profil sur un site Internet impliquant la transcription longue et minutieuse de numéros de modèles de tous les appareils! Souvent, ces numéros de modèles sont cachés à l'arrière, inscrits en minuscules. Encore une fois, comme ce n'est pas un problème pour 90% de la population, mes espoirs de solutions sont très minces, à moins de l'inventer moi-même. Mais je n'ai ni l'idée maîtresse, ni le temps de l'appliquer!

Il est possible que HDMI apporte un jour une solution à cet épineux problème, car ce standard permet à des appareils d'en contrôler d'autres. En théorie, le système de sons pourrait détecter quelle entrée HDMI (Illico, ordinateur, etc.) reçoit un signal et activer automatiquement cette entrée. Le téléviseur pourrait s'allumer automatiquement en même temps que le système de sons, le système pourrait envoyer des instructions à d'autres appareils pour amorcer la lecture, faire une pause, sauter une scène. Et puis on pourrait, dans un monde parfait, faire en sorte que ce soit le HTPC le centre de contrôle, et non le système de sons! Le HTPC recevrait alors tout le contenu audio-visuel ainsi que les contrôles de lecture, et pourrait l'intercepter, le traiter, l'envoyer au téléviseur, l'enregistrer, etc. Chaque appareil HDMI pourrait indiquer au HTPC ce qui peut être contrôlé et ce dernier exposerait les contrôles fondamentaux à l'utilisateur, en les associant à des boutons d'une seule télécommande, universelle, possiblement interchangeable! Que ce serait donc chouette de pouvoir choisir sa télécommande en fonction de la couleur, l'esthétique, la forme et la taille des boutons, etc.! Il n'y aurait rien à configurer, seulement un fil HDMI à brancher, du vrai plug and play. Puis quelques années plus tard, on enlève la fichue télécommande et tout se contrôle par la voix!

Malheureusement, les standards de protection contre la copie ainsi que la concurrence entre les producteurs d'équipements audio-visuels rendra difficile la mise en place d'une telle coopération. Au mieux, ça pourrait fonctionner avec des appareils de même marque, sans l'ordinateur au centre du systèeme.

Émetteur infrarouge

Si je trouvais un émetteur infrarouge suffisamment flexible pour reproduire toute la gamme de fréquences utilisée par les télécommandes, je pourrais programmer A.R.D.-NAS pour imiter ces télécommandes. Cela permettrait par exemple d'allumer le téléviseur et en configurer l'entrée sur une simple pression d'une touche de mon clavier.

J'ai recherché à quelques reprises ce genre d'émetteurs, mais ceux que j'ai trouvés coûtaient beaucoup trop cher, plus de 60$. Un stagiaire avec qui j'ai travaillé m'a dit qu'on pouvait bricoler un tel émetteur en utilisant une diode qui serait commandée par le signal audio envoyé par la carte son, mais il faudrait pour que ça fonctionne que la puce audio puisse émettre en analogique et en numérique simultanément (pas certain) et que la fréquence de 96kHz suffise à contrôler les appareils. Pourquoi 96kHz? Eh bien, c'est la fréquence maximale de l'audio haute définition. Si la puce que j'ai n'est pas vraiment HD, la limite de fréquence sera encore moindre, soit de 44,1kHz. Tout appareil nécessitant un signal infrarouge d'une fréquence supérieure à cela ne pourra être télécommandé avec la diode, à moins de recourir à certaines astuces comme multiplier la fréquence au niveau de la diode. Par exemple, avant la diode, le circuit pourrait inclure quelque chose capable de multiplier la fréquence par dix. Cela permettrait de monter à 441kHz par incréments de dix. Pas certain que ce soit réalisable, par contre.

Reconnaissance vocale

La première composante pour ajouter ça à mon système, ce serait un microphone suffisamment sensible pour se trouver sur mon meuble de cinéma-maison tout en étant capable de capter ma voix depuis mon comptoir ou mon fauteuil. Juste le micro, ça va me coûter plusieurs centaines de dollars. En fait, il faudra deux micros, pour que le système soit capable d'isoler ma voix au travers de bruits ambiants (comme les effets sonores d'un film).

Après ça, il me faudra un logiciel de reconnaissance vocale pas mal sophistiqué, car il devra réagir uniquement à ma voix, pas à celle de personnages dans un film! Une façon simple d'y arriver est d'utiliser un mot déclencher, comme le nom de la machine. Il est peu probable, en effet, qu'un personnage dans un film se mette à dire: «A.R.D.-NAS, baisse le volume.»

Je ne suis pas certain du tout que la technologie libre permette cela avec suffisamment de précision pour que ce soit intéressant. Sphynx va peut-être donner l'impression de fonctionner comme reconnaisseur de base, mais je m'attends à devoir m'essayer avec Nuance Recognizer ou MREC, des produits développés par la compagnie où je travaille. Je ne suis pas certain de pouvoir en obtenir une license à un prix raisonnable. Je pourrais peut-être faire quelque chose avec Dragon Naturally Speaking, le produit grand public de reconnaissance vocale disponible pour un prix raisonnable... pour la plate-forme Windows seulement. MREC et NR, eux, fonctionneraient sous Linux.

Une autre possibilité serait de passer par Dragon Dictate installé sur un téléphone intelligent. Il faudrait que l'appareil soit capable d'intercepter le texte reconnu, le transmettre à mon HTPC et que lui puisse l'interpréter. Ça va par contre fonctionner uniquement avec des commandes très simples. Il faudrait plus, beaucoup plus, pour que la machine puisse interpréter des instructions complexes.

Interface téléphonique

J'ai entendu parler de bidules effectuant le pont entre le signal téléphonique et Ethernet. Si je branchais un de ces trucs sur mon routeur, je pourrais alors raccorder mon routeur à une prise téléphonique et permettre à mes ordinateurs de traiter le signal téléphonique. Un logiciel comme FreeSwitch me permettrait ensuite de faire toutes sortes de choses intéressantes.

Par exemple, je pourrais me construire une boîte vocale aussi sophistiquée que bon me chante. Par exemple, si ma mère appelle, elle pourrait recevoir un message personnalisé lui disant que je suis parti m'entraîner. Un étranger, lui, recevrait un message générique. Une entreprise me harcelant trop avec un produit que je ne veux pas pourrait voir son numéro de téléphone ajoutée à une liste faisant en sorte que l'appelant reçoive un message clair, diplomate au début, mais de plus en plus direct et grossier avec le nombre de tentatives d'appels. Et la réaction de la victime pourrait être enregistrée pour mon usage personnel. Quel plaisir!

Si j'interfaçais ça avec la reconnaissance vocale, je pourrais même aller jusqu'à téléphoner chez moi et parler avec mon ordinateur, pour lui demander par exemple d'allumer l'air climatisé après avoir constaté, dans le métro en route vers chez moi, qu'il fait bien chaud dehors!

Synthèse vocale des sous-titres

Pour faire cela, j'estime que toute la technologie existe déjà, mais il faudrait beaucoup de temps pour tout mettre ensemble et je n'ai pas suffisamment de films sous-titrés pour que ça en vaille le coup. D'abord, il faudrait qu'un reconnaisseur de caractères puisse analyser les images incrustées (subpictures) dans les DVD afin d'en détecter le texte. Un logiciel de synthèse vocale serait ensuite nécessaire pour «lire» le texte à haute voix. Je pourrais toujours tenter ma chance avec Espeak, Festival ou d'autres du genre, mais j'estime que j'obtiendrais des résultats plus satisfaisants avec Vocalizer, un autre produit de Nuance qui me coûtera une autre license!

Ajout de disques durs

Si je viens à remplir mes disques durs de films ou de fichiers musicaux, je pourrais en ajouter un nouveau sans aucun problème. J'en ai justement ajouté un deuxième de 1,5To jeudi le 6 janvier 2011. En théorie, mon boîtier accepte jusqu'à six disques durs, mais je ne suis pas certain que ma carte mère comporte suffisamment de ports SATA pour accéder à tous ces disques. Par contre, je pourrais ajouter des cartes PCI Express comportant des ports SATA additionnels! Il n'y a pas de limites!

Pourrais-je pousser l'audace jusqu'à installer un disque de plus de 2To? OUI! Il suffit qu'il ne serve pas à amorcer la machine. Je pourrais alors le formater en utilisant une table de partitions GUID (GPT) de sorte que Linux pourrait y créer une partition occupant tout le disque. Amorcer sur un disque de plus de 2To exigerait de remplacer la carte mère par un modèle offrant l'UEFI, mais c'est loin d'être nécessaire, car le disque d'amorçage a de meilleures chances de devenir un SSD qu'un disque de 3To!

Pourquoi ne pas installer Windows?

À plusieurs reprises, j'ai songé à installer Windows sur la machine. Cela pourrait aider à résoudre plusieurs problèmes, dont celui du réseau sans fil et du syntoniseur TV qui sont peut-être dus à des mauvais pilotes sous Linux. De plus, la lecture de DVD et surtout de blu-ray serait peut-être plus facile sous Windows. Je pourrais aussi programmer une télécommande universelle Harmony de Logitech avec le logiciel de Logitech, supporté uniquement sous le système de Microsoft.

Cette solution sera très longue à appliquer et contraignante. Il me faudra en particulier convertir en NTFS (le format de Windows) des partitions Ext4 (le format de Linux) contenant plus de 600 giga-octets de fichiers vidéos! Il me faudra ensuite installer Windows ainsi que plusieurs pilotes et logiciels. Il se peut que mon syntoniseur TV ne fonctionne même pas, surtout si je m'essaie avec Windows 7 64 bits; je ne suis pas certain qu'il y ait de pilote pour ce système. Si je m'essaie avec Windows XP, je n'aurai certes pas de problèmes avec mon syntoniseur, mais la machine risque de devenir affreusement lente, comme tous les ordinateurs sur lesquels j'ai installé Windows XP. C'est peut-être ma version de Windows XP édition professionnelle, c'est peut-être l'anti-virus, ce sont peut-être les innombrables mises à jour, il est possible que j'aie à limiter sérieusement les logiciels installés pour que ce soit performant, etc.

Ensuite, il me faudra trouver des logiciels pour accomplir les tâches auxquelles la machine est destinée. Pour la musique, AIMP2 devrait parfaitement faire l'affaire. Par contre, pour la vidéo, rien ne me dit que XBMC, VLC ou MPlayer fonctionneront mieux sous Windows XP ou Windows 7 que sous Linux. Je pourrais être forcé de tenter ma chance avec Windows Media Center ou encore PowerDVD. Le premier est contraignant d'après ce que j'ai entendu dire, tandis que le second est payant.

Une solution intermédiaire serait d'installer Windows dans un environnement de virtualisation comme VirtualBox ou VMWare Player. L'intérêt de cette solution serait de pouvoir utiliser AnyDVD HD pour décrypter des disques récalcitrants. Je ne pense pas que Windows virtualisé sera assez performant pour le visionnement de films. Il y a peu de chances avec ça de bénéficier de l'accélération matérielle et de faire passer le son AC-3 directement vers mon système de sons, en tout cas!

La virtualisation permettrait aussi de confier la gestion du HD PVR, voire même celle de la carte réseau sans fil, au pilote original du fabricant, pour Windows seulement. Pour la carte réseau sans fil, je ne pense pas que VirtualBox pourra transférer l'accès Internet disponible dans la machine virtuelle vers le système hôte. Je ne suis même pas certain que VMWare Player supporte ce genre de tour de forces!