Busy people struggle to find the time to read the news. We want to help them by providing short audio files of the most important articles. This way they can hear them and stay up to date to current events, all while washing their face in the morning or driving to work.

What it does

The user can subscribe to different categories of selected news papers. They receive daily news articles which they should listen to, in order to stay up to date. The app provides a selection of the most important articles, summarizes them and provides them as an audio file. It therefore enables quick consumption.

How we built it

We read the news articles and summarize them. Then we use Bing Speech API to convert the articles into audio files. The user can access a personalized feed on the Android app, which also supports voice commands for in app navigation. We send data to Microsoft servers only after we detect a hot word with pocketsphinx. This happens offline, on the device, for better privacy and to restrict data transfer. After it detects the hot words ("Hey NTS"), we make use of Microsoft's new Language Understanding Intelligent Service to implement voice navigation within the app.

Challenges we ran into

  • News sites are all built differently
  • The hot word detection has to run on the device, as it's neither feasible nor desired to keep constantly recording. At first we hoped that Android would support this functionality. Unfortunately, they only provide limited intents / actions. Therefore we had to implement it ourselves.
  • Good summarization of texts
  • Converting the summaries to audio. The Bing Speech API has length restriction, therefore we need to split the texts and concatenate the audio files.

Accomplishments that we're proud of

  • Reading and summarizing of news articles, and converting them to audio files
  • Implementing in app voice navigation in Android

What we learned

  • How to use Microsoft's AI services
  • How to build an Android App

What's next for news-to-speech

Add more news papers

Built With

Share this project: