About

BBC Micro News is a website which celebrates the classic BBC Microcomputers of the 1980s by giving them a role on the modern internet. The site automatically retrieves news stories from the BBC News RSS feed and passes them to a 'cluster' of vintage BBC Micros who run speech synthesis software and dictate an abstract of the news stories. These sound samples are then pushed to the website and 'read' by an amusing flash movie.

Another feature is the Parrot which simply repeats sentences typed into the website.

BBC Micro News was first deployed in March 2008 but a couple of months later we took the speech facility offline because of the frequency that it tripped over text it didn't like and we became fed up with restarting it.

We've recently found the motivation to overcome the problems and add a couple of extra features and so we're launching again almost two years later (February 2010).

How does it work?

Here's the basic flow:

  • News story retrieved from BBC News RSS feed.
  • Story stored in database.
  • Request for speaking job created and sent to ticketing system.
  • Agent retrieves job from ticket controller.
  • Agent starts an audio recording process.
  • Agent starts the speech synthesiser by 'typing' commands into the BBC Micro over a serial connection.
  • Agent kills the audio recording process and then trims, normalizes and encodes the speech sample as an mp3.
  • Speech file copied to web server.
  • Agent notifies ticket controller of job success.
  • Ticket controller notifies BBC Micro News site of job success and news story becomes available on the site.

Similar actions are taken for Parrot messages and Tweets.

N.B. Our ticketing system is a modular service which maintains a queue of jobs to be carried out asynchronously. Multiple agents can carry out jobs in parallel and then the originator of each job is informed of success/failure. We use it mainly for the automatic transcoding of media files uploaded to websites.
This design allows the system to scale to many agent processes (and therefore >1 BBC Micro). The website, ticket controller and agents don't need to be on the same computer (and aren't - indeed the BBC Micro in our office is 40 miles away from the webserver).

Speech Synthesizer

We use the TTS feature of Superior Software's "Speech!" utility which is an amazing piece of software.
By typing *SPEECH you load the synthesiser which incredibly only takes up 7.5K of your RAM.
Then all you have to do is enter something like *SAY Hello World! to get it to start talking!

We have it installed as a ROM but you can grab a disk image for an emulator here.

We found that certain sequences of characters will cause the synthesiser to break with one of a couple of errors. We watch for these sequences and modify the text as necessary. There is also a limit on the length of text which can be processed at once but the agent software is capable of splitting it into multiple messages and then stitching the samples together at the end.
Many thanks to Christopher Dawkins who helped identify some of the danger characters here.

Podcast

The BBC Micro News podcast is created by a simple script which concatenates a day's worth of news stories together with music and sound effects. It then builds an RSS feed for the podcast which can be subscribed to from your player of choice.

  • RSS 2.0 feed
  • Podcast feed
  • iTunes feed

Links