Para por o nosso computador a ler-nos os sites que queremos, vamos ter algum trabalho de linha de comandos. Como já tinha dito aqui, o Apple tem um sistema de discurso muito melhor que o meu Windows XP lá dos escritório, por isso decidi começar por aqui.
Procurei usar ferramentas livremente disponíveis na Internet para montar esta funcionalidade ou que já se encontrassem no sistema operativo. Tentei escolher de entre as que fossem mais versáteis na linha de comandos de forma a depois criar o evento que de tempos a tempos que lesse o meu conteúdo. A diferença será na peça final que é a que produz o som. Por enquanto não vamos explorar já a hipótese de usar o Google Translate para este fim.
Os ingredientes são um conjunto de programas, quase todos do projeto GNU:
- cURL – vai buscar informação aos servidores da internet;
- sed – transforma o texto na linha de comandos;
- OSX say – converte o texto escrito em formato falado;
- espeak – converte o texto escrito em formato falado no Ubuntu.
A receita:
curl https://twitter.com/pouparmelhor | sed -n '/tweet-text/,/stream-item-footer/p' | sed 's/< [^>]*>//g' | sed "s|http[:]//[^ ]*||g" | sed "s|bit.*||g" | sed "s| ||g" | sed 's/class="tco-ellipsis">//g' | sed 's/Pouparmelhor.com/Poupar Melhor/g' | sed 's/<[^>]*>//g;s/^[ \t]*//;/^$/d'| while read line ; do echo $line| say ; done
Esta experiência recolhe da página do Poupar Melhor no Twitter o conteúdo com o curl. Encontra no código HTML a informação que se encontra entre tweet-text e stream-item-footer com o sed e usa o mesmo utilitário para corrigir todo o conteúdo, removendo formatação HTML e afinando outros detalhes.
O resultado é a voz da Apple a contar-nos o que se passa no Poupar Melhor sem termos de olhar para lá.
Para repetir a proeza no Ubuntu basta substituir o comando say pelo comando speak e usar a instrução -vpt-pt para ele falar em português. Bem… Mais ou menos. A receita fica abaixo:
curl https://twitter.com/pouparmelhor | sed -n '/tweet-text/,/stream-item-footer/p' | sed 's/< [^>]*>//g' | sed "s|http[:]//[^ ]*||g" | sed "s|bit.*||g" | sed "s| ||g" | sed 's/class="tco-ellipsis">//g' | sed 's/Pouparmelhor.com/Poupar Melhor/g' | sed 's/<[^>]*>//g;s/^[ \t]*//;/^$/d'| while read line ; do echo $line| espeak -vpt-pt ; done
A voz do espeak é muito robotizada, tal como a que podem ouvir no Excel a imitar um robot num Windows XP. Embora os utilizadores do Windows também possam usar os utilitários cURL e sed, parece-me que o acesso ao sintetizador de texto para voz está excluído das opções por defeito na linha de comandos.