Estava lendo RSS hoje e por acaso vi este post, onde o autor escreveu um pequeno programa em C# para ler RSSs. Achei interessante, afinal, acompanho diversos sites e blogs via rss.
A aplicacação que ele fez funciona somente em windows, visto que faz uso da “Microsoft Speech API”.
Anteriormente havia criado um script bem simples, que utilizava o festival para sintetização de voz, utilizando system(). Funcionava sem muitos problemas…
Ai pensei hoje em fazer um leitor de RSS no mesmo molde do citado acima, mas utilizando um outro sintetizador de voz, o espeak. A resultado final que se ouve é comparável ao do festival, e é relativamente mais simples instalar o espeak. E além disso, ele possui uma biblioteca compartilhada de uso bastante simples (não sei se a do festival é simples também), o que facilita o desenvolvimento de aplicações em C.
A idéia era criar uma extensão para o PHP que fizesse uso dessa biblioteca, para utilizar as funções nativamente em um script, e não usando system().
Depois de algumas horas escrevendo código, eis que tenho uma versão alpha e funcional (e com bugs, claro) da extensão. Ficou bem mais interessante utilizar tts agora. E o leitor de rss ficou bem simples, é basicamente isso:
<?php
dl(‘espeak.so’);
$feeds = simplexml_load_file (‘http://rss.terra.com.br/0,,EI4795,00.xml’)->channel->item;
espeak_initialize(ESPEAK_AUDIO_OUTPUT_PLAYBACK, 0);
espeak_setVoiceByName(“pt”);
espeak_setParameter(ESPEAK_VOLUME, 90, 0);
foreach ( $feeds as $f ) {
espeak_synth($f->title, strlen($f->title), 0, ESPEAK_POS_CHARACTER, 0, 0, 0);
espeak_synchronize();
sleep(1);
}
espeak_terminate();
?>
Bem simples, assim como mostrado em um outro post, não é necessário muito código para obter uma lista de notícias de um feed.
Não é a primeira extensão que escrevo, mas é a primeira que estarei publicando… Enviei hoje a requisição de aprovação no sourceforge e acredito que até terça-feira já posso estar enviando o primeiro commit no repositório.
Pensei em enviar para o PECL, mas devido ao fato de o espeak utilizar licença GPL, o projeto não poderia ser enviado para lá, “incompatibilidade” de licenças…
Breve envio mais informações sobre o projeto.
E Silva, vc poderia escrever um artigo ensinando como fazer extensões para o PHP! :)
Até comecei a escrever já, mas não consigo ser muito didático e acho que consigo deixar mais complicado do que parece…
Escrever extensões é relativamente simples, tem um ótimo artigo introdutório aqui:
http://devzone.zend.com/node/view/id/1021
Mas de qualquer forma verei se consigo escrever de forma mais clara o que já iniciei : )
Olá !
Fiquei contente de saber que há um código simples para que se possa colocar no site uma página que busque automaticamente novas notícias.
Porém, não domino totalmente o php, e tentei colocar só esse código no arquivo mudando o endereço do xml, mas dá erro na linha 3.
Acredito que eu não esteja sabendo aproveiá-lo.
Gostaria que me informasse, como devo montar a página, para que as notícias comecem aparecer automaticamente.
obrigado
Mauricio Baruffi